xref: /PHP-8.1/ext/date/lib/parse_date.c (revision d12ba111)
1 /* Generated by re2c 0.15.3 on Tue Jan 10 15:14:08 2023 */
2 #line 1 "ext/date/lib/parse_date.re"
3 /*
4  * The MIT License (MIT)
5  *
6  * Copyright (c) 2015-2019 Derick Rethans
7  * Copyright (c) 2018 MongoDB, Inc.
8  *
9  * Permission is hereby granted, free of charge, to any person obtaining a copy
10  * of this software and associated documentation files (the "Software"), to deal
11  * in the Software without restriction, including without limitation the rights
12  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13  * copies of the Software, and to permit persons to whom the Software is
14  * furnished to do so, subject to the following conditions:
15  *
16  * The above copyright notice and this permission notice shall be included in
17  * all copies or substantial portions of the Software.
18  *
19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25  * THE SOFTWARE.
26  */
27 
28 #include "timelib.h"
29 #include "timelib_private.h"
30 
31 #include <ctype.h>
32 #include <math.h>
33 #include <assert.h>
34 #include <limits.h>
35 
36 #if defined(_MSC_VER)
37 # define strtoll(s, f, b) _atoi64(s)
38 #elif !defined(HAVE_STRTOLL)
39 # if defined(HAVE_ATOLL)
40 #  define strtoll(s, f, b) atoll(s)
41 # else
42 #  define strtoll(s, f, b) strtol(s, f, b)
43 # endif
44 #endif
45 
46 #define EOI      257
47 #define TIME     258
48 #define DATE     259
49 
50 #define TIMELIB_XMLRPC_SOAP    260
51 #define TIMELIB_TIME12         261
52 #define TIMELIB_TIME24         262
53 #define TIMELIB_GNU_NOCOLON    263
54 #define TIMELIB_GNU_NOCOLON_TZ 264
55 #define TIMELIB_ISO_NOCOLON    265
56 
57 #define TIMELIB_AMERICAN       266
58 #define TIMELIB_ISO_DATE       267
59 #define TIMELIB_DATE_FULL      268
60 #define TIMELIB_DATE_TEXT      269
61 #define TIMELIB_DATE_NOCOLON   270
62 #define TIMELIB_PG_YEARDAY     271
63 #define TIMELIB_PG_TEXT        272
64 #define TIMELIB_PG_REVERSE     273
65 #define TIMELIB_CLF            274
66 #define TIMELIB_DATE_NO_DAY    275
67 #define TIMELIB_SHORTDATE_WITH_TIME 276
68 #define TIMELIB_DATE_FULL_POINTED 277
69 #define TIMELIB_TIME24_WITH_ZONE 278
70 #define TIMELIB_ISO_WEEK       279
71 #define TIMELIB_LF_DAY_OF_MONTH 280
72 #define TIMELIB_WEEK_DAY_OF_MONTH 281
73 
74 #define TIMELIB_TIMEZONE       300
75 #define TIMELIB_AGO            301
76 
77 #define TIMELIB_RELATIVE       310
78 
79 #define TIMELIB_ERROR          999
80 
81 /* Some compilers like AIX, defines uchar in sys/types.h */
82 #undef uchar
83 typedef unsigned char uchar;
84 
85 #define   BSIZE	   8192
86 
87 #define   YYCTYPE      uchar
88 #define   YYCURSOR     cursor
89 #define   YYLIMIT      s->lim
90 #define   YYMARKER     s->ptr
91 #define   YYFILL(n)    return EOI;
92 
93 #define   RET(i)       {s->cur = cursor; return i;}
94 
95 #define timelib_string_free timelib_free
96 
97 #define TIMELIB_HAVE_TIME() { if (s->time->have_time) { add_error(s, TIMELIB_ERR_DOUBLE_TIME, "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->us = 0; } }
98 #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->us = 0; }
99 #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { add_error(s, TIMELIB_ERR_DOUBLE_DATE, "Double date specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_date = 1; } }
100 #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; }
101 #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; }
102 #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_weekday_relative = 1; }
103 #define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_special_relative = 1; }
104 #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { s->time->have_zone > 1 ? add_error(s, TIMELIB_ERR_DOUBLE_TZ, "Double timezone specification") : add_warning(s, TIMELIB_WARN_DOUBLE_TZ, "Double timezone specification"); timelib_string_free(str); s->time->have_zone++; return TIMELIB_ERROR; } else { s->time->have_zone++; } }
105 
106 #define TIMELIB_INIT  s->cur = cursor; str = timelib_string(s); ptr = str
107 #define TIMELIB_DEINIT timelib_string_free(str)
108 #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; }
109 
110 #define TIMELIB_PROCESS_YEAR(x, l) { \
111 	if (((x) == TIMELIB_UNSET) || ((l) >= 4)) { \
112 	/*	(x) = 0; */          \
113 	} else if ((x) < 100) {  \
114 		if ((x) < 70) {      \
115 			(x) += 2000;     \
116 		} else {             \
117 			(x) += 1900;     \
118 		}                    \
119 	}                        \
120 }
121 
122 #ifdef DEBUG_PARSER
123 #define DEBUG_OUTPUT(s) printf("%s\n", s);
124 #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } }
125 #else
126 #define DEBUG_OUTPUT(s)
127 #define YYDEBUG(s,c)
128 #endif
129 
130 typedef struct _timelib_elems {
131 	unsigned int   c; /* Number of elements */
132 	char         **v; /* Values */
133 } timelib_elems;
134 
135 typedef struct _Scanner {
136 	int           fd;
137 	uchar        *lim, *str, *ptr, *cur, *tok, *pos;
138 	unsigned int  line, len;
139 	timelib_error_container *errors;
140 
141 	timelib_time        *time;
142 	const timelib_tzdb  *tzdb;
143 } Scanner;
144 
145 typedef struct _timelib_lookup_table {
146 	const char *name;
147 	int         type;
148 	int         value;
149 } timelib_lookup_table;
150 
151 typedef struct _timelib_relunit {
152 	const char *name;
153 	int         unit;
154 	int         multiplier;
155 } timelib_relunit;
156 
157 /* The timezone table. */
158 static const timelib_tz_lookup_table timelib_timezone_lookup[] = {
159 #include "timezonemap.h"
160 	{ NULL, 0, 0, NULL },
161 };
162 
163 static const timelib_tz_lookup_table timelib_timezone_fallbackmap[] = {
164 #include "fallbackmap.h"
165 	{ NULL, 0, 0, NULL },
166 };
167 
168 static const timelib_tz_lookup_table timelib_timezone_utc[] = {
169 	{ "utc", 0, 0, "UTC" },
170 };
171 
172 #if defined(_POSIX_TZNAME_MAX)
173 # define MAX_ABBR_LEN _POSIX_TZNAME_MAX
174 #elif defined(TZNAME_MAX)
175 # define MAX_ABBR_LEN TZNAME_MAX
176 #else
177 # define MAX_ABBR_LEN 6
178 #endif
179 
180 static timelib_relunit const timelib_relunit_lookup[] = {
181 	{ "ms",           TIMELIB_MICROSEC, 1000 },
182 	{ "msec",         TIMELIB_MICROSEC, 1000 },
183 	{ "msecs",        TIMELIB_MICROSEC, 1000 },
184 	{ "millisecond",  TIMELIB_MICROSEC, 1000 },
185 	{ "milliseconds", TIMELIB_MICROSEC, 1000 },
186 	{ "µs",           TIMELIB_MICROSEC,    1 },
187 	{ "usec",         TIMELIB_MICROSEC,    1 },
188 	{ "usecs",        TIMELIB_MICROSEC,    1 },
189 	{ "µsec",         TIMELIB_MICROSEC,    1 },
190 	{ "µsecs",        TIMELIB_MICROSEC,    1 },
191 	{ "microsecond",  TIMELIB_MICROSEC,    1 },
192 	{ "microseconds", TIMELIB_MICROSEC,    1 },
193 	{ "sec",         TIMELIB_SECOND,  1 },
194 	{ "secs",        TIMELIB_SECOND,  1 },
195 	{ "second",      TIMELIB_SECOND,  1 },
196 	{ "seconds",     TIMELIB_SECOND,  1 },
197 	{ "min",         TIMELIB_MINUTE,  1 },
198 	{ "mins",        TIMELIB_MINUTE,  1 },
199 	{ "minute",      TIMELIB_MINUTE,  1 },
200 	{ "minutes",     TIMELIB_MINUTE,  1 },
201 	{ "hour",        TIMELIB_HOUR,    1 },
202 	{ "hours",       TIMELIB_HOUR,    1 },
203 	{ "day",         TIMELIB_DAY,     1 },
204 	{ "days",        TIMELIB_DAY,     1 },
205 	{ "week",        TIMELIB_DAY,     7 },
206 	{ "weeks",       TIMELIB_DAY,     7 },
207 	{ "fortnight",   TIMELIB_DAY,    14 },
208 	{ "fortnights",  TIMELIB_DAY,    14 },
209 	{ "forthnight",  TIMELIB_DAY,    14 },
210 	{ "forthnights", TIMELIB_DAY,    14 },
211 	{ "month",       TIMELIB_MONTH,   1 },
212 	{ "months",      TIMELIB_MONTH,   1 },
213 	{ "year",        TIMELIB_YEAR,    1 },
214 	{ "years",       TIMELIB_YEAR,    1 },
215 
216 	{ "mondays",     TIMELIB_WEEKDAY, 1 },
217 	{ "monday",      TIMELIB_WEEKDAY, 1 },
218 	{ "mon",         TIMELIB_WEEKDAY, 1 },
219 	{ "tuesdays",    TIMELIB_WEEKDAY, 2 },
220 	{ "tuesday",     TIMELIB_WEEKDAY, 2 },
221 	{ "tue",         TIMELIB_WEEKDAY, 2 },
222 	{ "wednesdays",  TIMELIB_WEEKDAY, 3 },
223 	{ "wednesday",   TIMELIB_WEEKDAY, 3 },
224 	{ "wed",         TIMELIB_WEEKDAY, 3 },
225 	{ "thursdays",   TIMELIB_WEEKDAY, 4 },
226 	{ "thursday",    TIMELIB_WEEKDAY, 4 },
227 	{ "thu",         TIMELIB_WEEKDAY, 4 },
228 	{ "fridays",     TIMELIB_WEEKDAY, 5 },
229 	{ "friday",      TIMELIB_WEEKDAY, 5 },
230 	{ "fri",         TIMELIB_WEEKDAY, 5 },
231 	{ "saturdays",   TIMELIB_WEEKDAY, 6 },
232 	{ "saturday",    TIMELIB_WEEKDAY, 6 },
233 	{ "sat",         TIMELIB_WEEKDAY, 6 },
234 	{ "sundays",     TIMELIB_WEEKDAY, 0 },
235 	{ "sunday",      TIMELIB_WEEKDAY, 0 },
236 	{ "sun",         TIMELIB_WEEKDAY, 0 },
237 
238 	{ "weekday",     TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
239 	{ "weekdays",    TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
240 	{ NULL,          0,          0 }
241 };
242 
243 /* The relative text table. */
244 static timelib_lookup_table const timelib_reltext_lookup[] = {
245 	{ "first",    0,  1 },
246 	{ "next",     0,  1 },
247 	{ "second",   0,  2 },
248 	{ "third",    0,  3 },
249 	{ "fourth",   0,  4 },
250 	{ "fifth",    0,  5 },
251 	{ "sixth",    0,  6 },
252 	{ "seventh",  0,  7 },
253 	{ "eight",    0,  8 },
254 	{ "eighth",   0,  8 },
255 	{ "ninth",    0,  9 },
256 	{ "tenth",    0, 10 },
257 	{ "eleventh", 0, 11 },
258 	{ "twelfth",  0, 12 },
259 	{ "last",     0, -1 },
260 	{ "previous", 0, -1 },
261 	{ "this",     1,  0 },
262 	{ NULL,       1,  0 }
263 };
264 
265 /* The month table. */
266 static timelib_lookup_table const timelib_month_lookup[] = {
267 	{ "jan",  0,  1 },
268 	{ "feb",  0,  2 },
269 	{ "mar",  0,  3 },
270 	{ "apr",  0,  4 },
271 	{ "may",  0,  5 },
272 	{ "jun",  0,  6 },
273 	{ "jul",  0,  7 },
274 	{ "aug",  0,  8 },
275 	{ "sep",  0,  9 },
276 	{ "sept", 0,  9 },
277 	{ "oct",  0, 10 },
278 	{ "nov",  0, 11 },
279 	{ "dec",  0, 12 },
280 	{ "i",    0,  1 },
281 	{ "ii",   0,  2 },
282 	{ "iii",  0,  3 },
283 	{ "iv",   0,  4 },
284 	{ "v",    0,  5 },
285 	{ "vi",   0,  6 },
286 	{ "vii",  0,  7 },
287 	{ "viii", 0,  8 },
288 	{ "ix",   0,  9 },
289 	{ "x",    0, 10 },
290 	{ "xi",   0, 11 },
291 	{ "xii",  0, 12 },
292 
293 	{ "january",   0,  1 },
294 	{ "february",  0,  2 },
295 	{ "march",     0,  3 },
296 	{ "april",     0,  4 },
297 	{ "may",       0,  5 },
298 	{ "june",      0,  6 },
299 	{ "july",      0,  7 },
300 	{ "august",    0,  8 },
301 	{ "september", 0,  9 },
302 	{ "october",   0, 10 },
303 	{ "november",  0, 11 },
304 	{ "december",  0, 12 },
305 	{  NULL,       0,  0 }
306 };
307 
308 #if 0
309 static char* timelib_ltrim(char *s)
310 {
311 	char *ptr = s;
312 	while (ptr[0] == ' ' || ptr[0] == '\t') {
313 		ptr++;
314 	}
315 	return ptr;
316 }
317 #endif
318 
319 #if 0
320 uchar *fill(Scanner *s, uchar *cursor){
321 	if(!s->eof){
322 		unsigned int cnt = s->tok - s->bot;
323 		if(cnt){
324 			memcpy(s->bot, s->tok, s->lim - s->tok);
325 			s->tok = s->bot;
326 			s->ptr -= cnt;
327 			cursor -= cnt;
328 			s->pos -= cnt;
329 			s->lim -= cnt;
330 		}
331 		if((s->top - s->lim) < BSIZE){
332 			uchar *buf = (uchar*) timelib_malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar));
333 			memcpy(buf, s->tok, s->lim - s->tok);
334 			s->tok = buf;
335 			s->ptr = &buf[s->ptr - s->bot];
336 			cursor = &buf[cursor - s->bot];
337 			s->pos = &buf[s->pos - s->bot];
338 			s->lim = &buf[s->lim - s->bot];
339 			s->top = &s->lim[BSIZE];
340 			timelib_free(s->bot);
341 			s->bot = buf;
342 		}
343 		if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){
344 			s->eof = &s->lim[cnt]; *(s->eof)++ = '\n';
345 		}
346 		s->lim += cnt;
347 	}
348 	return cursor;
349 }
350 #endif
351 
alloc_error_message(timelib_error_message ** messages,int * count)352 static timelib_error_message *alloc_error_message(timelib_error_message **messages, int *count)
353 {
354 	/* Realloc in power of two increments */
355 	int is_pow2 = (*count & (*count - 1)) == 0;
356 
357 	if (is_pow2) {
358 		size_t alloc_size = *count ? (*count * 2) : 1;
359 
360 		*messages = timelib_realloc(*messages, alloc_size * sizeof(timelib_error_message));
361 	}
362 	return *messages + (*count)++;
363 }
364 
add_warning(Scanner * s,int error_code,const char * error)365 static void add_warning(Scanner *s, int error_code, const char *error)
366 {
367 	timelib_error_message *message = alloc_error_message(&s->errors->warning_messages, &s->errors->warning_count);
368 
369 	message->error_code = error_code;
370 	message->position = s->tok ? s->tok - s->str : 0;
371 	message->character = s->tok ? *s->tok : 0;
372 	message->message = timelib_strdup(error);
373 }
374 
add_error(Scanner * s,int error_code,const char * error)375 static void add_error(Scanner *s, int error_code, const char *error)
376 {
377 	timelib_error_message *message = alloc_error_message(&s->errors->error_messages, &s->errors->error_count);
378 
379 	message->error_code = error_code;
380 	message->position = s->tok ? s->tok - s->str : 0;
381 	message->character = s->tok ? *s->tok : 0;
382 	message->message = timelib_strdup(error);
383 }
384 
add_pbf_warning(Scanner * s,int error_code,const char * error,const char * sptr,const char * cptr)385 static void add_pbf_warning(Scanner *s, int error_code, const char *error, const char *sptr, const char *cptr)
386 {
387 	timelib_error_message *message = alloc_error_message(&s->errors->warning_messages, &s->errors->warning_count);
388 
389 	message->error_code = error_code;
390 	message->position = cptr - sptr;
391 	message->character = *cptr;
392 	message->message = timelib_strdup(error);
393 }
394 
add_pbf_error(Scanner * s,int error_code,const char * error,const char * sptr,const char * cptr)395 static void add_pbf_error(Scanner *s, int error_code, const char *error, const char *sptr, const char *cptr)
396 {
397 	timelib_error_message *message = alloc_error_message(&s->errors->error_messages, &s->errors->error_count);
398 
399 	message->error_code = error_code;
400 	message->position = cptr - sptr;
401 	message->character = *cptr;
402 	message->message = timelib_strdup(error);
403 }
404 
timelib_meridian(const char ** ptr,timelib_sll h)405 static timelib_sll timelib_meridian(const char **ptr, timelib_sll h)
406 {
407 	timelib_sll retval = 0;
408 
409 	while (!strchr("AaPp", **ptr)) {
410 		++*ptr;
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 	}
423 	if (**ptr == 'M' || **ptr == 'm') {
424 		++*ptr;
425 	}
426 	if (**ptr == '.') {
427 		++*ptr;
428 	}
429 	return retval;
430 }
431 
timelib_meridian_with_check(const char ** ptr,timelib_sll h)432 static timelib_sll timelib_meridian_with_check(const char **ptr, timelib_sll h)
433 {
434 	timelib_sll retval = 0;
435 
436 	while (**ptr && !strchr("AaPp", **ptr)) {
437 		++*ptr;
438 	}
439 	if(!**ptr) {
440 		return TIMELIB_UNSET;
441 	}
442 	if (**ptr == 'a' || **ptr == 'A') {
443 		if (h == 12) {
444 			retval = -12;
445 		}
446 	} else if (h != 12) {
447 		retval = 12;
448 	}
449 	++*ptr;
450 	if (**ptr == '.') {
451 		++*ptr;
452 		if (**ptr != 'm' && **ptr != 'M') {
453 			return TIMELIB_UNSET;
454 		}
455 		++*ptr;
456 		if (**ptr != '.' ) {
457 			return TIMELIB_UNSET;
458 		}
459 		++*ptr;
460 	} else if (**ptr == 'm' || **ptr == 'M') {
461 		++*ptr;
462 	} else {
463 		return TIMELIB_UNSET;
464 	}
465 	return retval;
466 }
467 
timelib_string(Scanner * s)468 static char *timelib_string(Scanner *s)
469 {
470 	char *tmp = timelib_calloc(1, s->cur - s->tok + 1);
471 	memcpy(tmp, s->tok, s->cur - s->tok);
472 
473 	return tmp;
474 }
475 
timelib_get_nr_ex(const char ** ptr,int max_length,int * scanned_length)476 static timelib_sll timelib_get_nr_ex(const char **ptr, int max_length, int *scanned_length)
477 {
478 	const char *begin, *end;
479 	char *str;
480 	timelib_sll tmp_nr = TIMELIB_UNSET;
481 	int len = 0;
482 
483 	while ((**ptr < '0') || (**ptr > '9')) {
484 		if (**ptr == '\0') {
485 			return TIMELIB_UNSET;
486 		}
487 		++*ptr;
488 	}
489 	begin = *ptr;
490 	while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) {
491 		++*ptr;
492 		++len;
493 	}
494 	end = *ptr;
495 	if (scanned_length) {
496 		*scanned_length = end - begin;
497 	}
498 	str = timelib_calloc(1, end - begin + 1);
499 	memcpy(str, begin, end - begin);
500 	tmp_nr = strtoll(str, NULL, 10);
501 	timelib_free(str);
502 	return tmp_nr;
503 }
504 
timelib_get_nr(const char ** ptr,int max_length)505 static timelib_sll timelib_get_nr(const char **ptr, int max_length)
506 {
507 	return timelib_get_nr_ex(ptr, max_length, NULL);
508 }
509 
timelib_skip_day_suffix(const char ** ptr)510 static void timelib_skip_day_suffix(const char **ptr)
511 {
512 	if (isspace(**ptr)) {
513 		return;
514 	}
515 	if (!timelib_strncasecmp(*ptr, "nd", 2) || !timelib_strncasecmp(*ptr, "rd", 2) ||!timelib_strncasecmp(*ptr, "st", 2) || !timelib_strncasecmp(*ptr, "th", 2)) {
516 		*ptr += 2;
517 	}
518 }
519 
timelib_get_frac_nr(const char ** ptr)520 static timelib_sll timelib_get_frac_nr(const char **ptr)
521 {
522 	const char *begin, *end;
523 	char *str;
524 	double tmp_nr = TIMELIB_UNSET;
525 
526 	while ((**ptr != '.') && (**ptr != ':') && ((**ptr < '0') || (**ptr > '9'))) {
527 		if (**ptr == '\0') {
528 			return TIMELIB_UNSET;
529 		}
530 		++*ptr;
531 	}
532 	begin = *ptr;
533 	while ((**ptr == '.') || (**ptr == ':') || ((**ptr >= '0') && (**ptr <= '9'))) {
534 		++*ptr;
535 	}
536 	end = *ptr;
537 	str = timelib_calloc(1, end - begin);
538 	memcpy(str, begin + 1, end - begin - 1);
539 	tmp_nr = strtod(str, NULL) * pow(10, 7 - (end - begin));
540 	timelib_free(str);
541 	return tmp_nr;
542 }
543 
timelib_get_signed_nr(Scanner * s,const char ** ptr,int max_length)544 static timelib_ull timelib_get_signed_nr(Scanner *s, const char **ptr, int max_length)
545 {
546 	timelib_ull dir = 1;
547 
548 	while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) {
549 		if (**ptr == '\0') {
550 			add_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Found unexpected data");
551 			return 0;
552 		}
553 		++*ptr;
554 	}
555 
556 	while (**ptr == '+' || **ptr == '-')
557 	{
558 		if (**ptr == '-') {
559 			dir *= -1;
560 		}
561 		++*ptr;
562 	}
563 	return dir * timelib_get_nr(ptr, max_length);
564 }
565 
timelib_lookup_relative_text(const char ** ptr,int * behavior)566 static timelib_sll timelib_lookup_relative_text(const char **ptr, int *behavior)
567 {
568 	char *word;
569 	const char *begin = *ptr, *end;
570 	timelib_sll  value = 0;
571 	const timelib_lookup_table *tp;
572 
573 	while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
574 		++*ptr;
575 	}
576 	end = *ptr;
577 	word = timelib_calloc(1, end - begin + 1);
578 	memcpy(word, begin, end - begin);
579 
580 	for (tp = timelib_reltext_lookup; tp->name; tp++) {
581 		if (timelib_strcasecmp(word, tp->name) == 0) {
582 			value = tp->value;
583 			*behavior = tp->type;
584 		}
585 	}
586 
587 	timelib_free(word);
588 	return value;
589 }
590 
timelib_get_relative_text(const char ** ptr,int * behavior)591 static timelib_sll timelib_get_relative_text(const char **ptr, int *behavior)
592 {
593 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '/') {
594 		++*ptr;
595 	}
596 	return timelib_lookup_relative_text(ptr, behavior);
597 }
598 
timelib_lookup_month(const char ** ptr)599 static timelib_long timelib_lookup_month(const char **ptr)
600 {
601 	char *word;
602 	const char *begin = *ptr, *end;
603 	timelib_long  value = 0;
604 	const timelib_lookup_table *tp;
605 
606 	while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
607 		++*ptr;
608 	}
609 	end = *ptr;
610 	word = timelib_calloc(1, end - begin + 1);
611 	memcpy(word, begin, end - begin);
612 
613 	for (tp = timelib_month_lookup; tp->name; tp++) {
614 		if (timelib_strcasecmp(word, tp->name) == 0) {
615 			value = tp->value;
616 		}
617 	}
618 
619 	timelib_free(word);
620 	return value;
621 }
622 
timelib_get_month(const char ** ptr)623 static timelib_long timelib_get_month(const char **ptr)
624 {
625 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '.' || **ptr == '/') {
626 		++*ptr;
627 	}
628 	return timelib_lookup_month(ptr);
629 }
630 
timelib_eat_spaces(const char ** ptr)631 static void timelib_eat_spaces(const char **ptr)
632 {
633 	while (**ptr == ' ' || **ptr == '\t') {
634 		++*ptr;
635 	}
636 }
637 
timelib_eat_until_separator(const char ** ptr)638 static void timelib_eat_until_separator(const char **ptr)
639 {
640 	++*ptr;
641 	while (strchr(" \t.,:;/-0123456789", **ptr) == NULL) {
642 		++*ptr;
643 	}
644 }
645 
timelib_lookup_relunit(const char ** ptr)646 static const timelib_relunit* timelib_lookup_relunit(const char **ptr)
647 {
648 	char *word;
649 	const char *begin = *ptr, *end;
650 	const timelib_relunit *tp, *value = NULL;
651 
652 	while (**ptr != '\0' && **ptr != ' ' && **ptr != ',' && **ptr != '\t' && **ptr != ';' && **ptr != ':' &&
653 		**ptr != '/' && **ptr != '.' && **ptr != '-' && **ptr != '(' && **ptr != ')' ) {
654 		++*ptr;
655 	}
656 	end = *ptr;
657 	word = timelib_calloc(1, end - begin + 1);
658 	memcpy(word, begin, end - begin);
659 
660 	for (tp = timelib_relunit_lookup; tp->name; tp++) {
661 		if (timelib_strcasecmp(word, tp->name) == 0) {
662 			value = tp;
663 			break;
664 		}
665 	}
666 
667 	timelib_free(word);
668 	return value;
669 }
670 
671 /**
672  * The time_part parameter is a flag. It can be TIMELIB_TIME_PART_KEEP in case
673  * the time portion should not be reset to midnight, or
674  * TIMELIB_TIME_PART_DONT_KEEP in case it does need to be reset. This is used
675  * for not overwriting the time portion for 'X weekday'.
676  */
timelib_set_relative(const char ** ptr,timelib_sll amount,int behavior,Scanner * s,int time_part)677 static void timelib_set_relative(const char **ptr, timelib_sll amount, int behavior, Scanner *s, int time_part)
678 {
679 	const timelib_relunit* relunit;
680 
681 	if (!(relunit = timelib_lookup_relunit(ptr))) {
682 		return;
683 	}
684 
685 	switch (relunit->unit) {
686 		case TIMELIB_MICROSEC: s->time->relative.us += amount * relunit->multiplier; break;
687 		case TIMELIB_SECOND:   s->time->relative.s += amount * relunit->multiplier; break;
688 		case TIMELIB_MINUTE:   s->time->relative.i += amount * relunit->multiplier; break;
689 		case TIMELIB_HOUR:     s->time->relative.h += amount * relunit->multiplier; break;
690 		case TIMELIB_DAY:      s->time->relative.d += amount * relunit->multiplier; break;
691 		case TIMELIB_MONTH:    s->time->relative.m += amount * relunit->multiplier; break;
692 		case TIMELIB_YEAR:     s->time->relative.y += amount * relunit->multiplier; break;
693 
694 		case TIMELIB_WEEKDAY:
695 			TIMELIB_HAVE_WEEKDAY_RELATIVE();
696 			if (time_part != TIMELIB_TIME_PART_KEEP) {
697 				TIMELIB_UNHAVE_TIME();
698 			}
699 			s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7;
700 			s->time->relative.weekday = relunit->multiplier;
701 			s->time->relative.weekday_behavior = behavior;
702 			break;
703 
704 		case TIMELIB_SPECIAL:
705 			TIMELIB_HAVE_SPECIAL_RELATIVE();
706 			if (time_part != TIMELIB_TIME_PART_KEEP) {
707 				TIMELIB_UNHAVE_TIME();
708 			}
709 			s->time->relative.special.type = relunit->multiplier;
710 			s->time->relative.special.amount = amount;
711 	}
712 }
713 
abbr_search(const char * word,timelib_long gmtoffset,int isdst)714 static const timelib_tz_lookup_table* abbr_search(const char *word, timelib_long gmtoffset, int isdst)
715 {
716 	int first_found = 0;
717 	const timelib_tz_lookup_table  *tp, *first_found_elem = NULL;
718 	const timelib_tz_lookup_table  *fmp;
719 
720 	if (timelib_strcasecmp("utc", word) == 0 || timelib_strcasecmp("gmt", word) == 0) {
721 		return timelib_timezone_utc;
722 	}
723 
724 	for (tp = timelib_timezone_lookup; tp->name; tp++) {
725 		if (timelib_strcasecmp(word, tp->name) == 0) {
726 			if (!first_found) {
727 				first_found = 1;
728 				first_found_elem = tp;
729 				if (gmtoffset == -1) {
730 					return tp;
731 				}
732 			}
733 			if (tp->gmtoffset == gmtoffset) {
734 				return tp;
735 			}
736 		}
737 	}
738 	if (first_found) {
739 		return first_found_elem;
740 	}
741 
742 	/* Still didn't find anything, let's find the zone solely based on
743 	 * offset/isdst then */
744 	for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) {
745 		if (fmp->gmtoffset == gmtoffset && fmp->type == isdst) {
746 			return fmp;
747 		}
748 	}
749 	return NULL;
750 }
751 
timelib_lookup_abbr(const char ** ptr,int * dst,char ** tz_abbr,int * found)752 static timelib_long timelib_lookup_abbr(const char **ptr, int *dst, char **tz_abbr, int *found)
753 {
754 	char *word;
755 	const char *begin = *ptr, *end;
756 	timelib_long  value = 0;
757 	const timelib_tz_lookup_table *tp;
758 
759 	/* Only include A-Z, a-z, 0-9, /, _, and - in abbreviations/TZ IDs */
760 	while (
761 		(**ptr >= 'A' && **ptr <= 'Z') ||
762 		(**ptr >= 'a' && **ptr <= 'z') ||
763 		(**ptr >= '0' && **ptr <= '9') ||
764 		**ptr == '/' || **ptr == '_' || **ptr == '-' || **ptr == '+'
765 	) {
766 		++*ptr;
767 	}
768 	end = *ptr;
769 	word = timelib_calloc(1, end - begin + 1);
770 	memcpy(word, begin, end - begin);
771 
772 	if (end - begin < MAX_ABBR_LEN && (tp = abbr_search(word, -1, 0))) {
773 		value = tp->gmtoffset;
774 		*dst = tp->type;
775 		value -= tp->type * 3600;
776 		*found = 1;
777 	} else {
778 		*found = 0;
779 	}
780 
781 	*tz_abbr = word;
782 	return value;
783 }
784 
785 #define sHOUR(a) (int)(a * 3600)
786 #define sMIN(a) (int)(a * 60)
787 
timelib_parse_tz_cor(const char ** ptr,int * tz_not_found)788 static timelib_long timelib_parse_tz_cor(const char **ptr, int *tz_not_found)
789 {
790 	const char *begin = *ptr, *end;
791 	timelib_long  tmp;
792 
793 	*tz_not_found = 1;
794 
795 	while (isdigit(**ptr) || **ptr == ':') {
796 		++*ptr;
797 	}
798 	end = *ptr;
799 	switch (end - begin) {
800 		case 1: /* H */
801 		case 2: /* HH */
802 			*tz_not_found = 0;
803 			return sHOUR(strtol(begin, NULL, 10));
804 
805 		case 3: /* H:M */
806 		case 4: /* H:MM, HH:M, HHMM */
807 			if (begin[1] == ':') {
808 				*tz_not_found = 0;
809 				tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 2, NULL, 10));
810 				return tmp;
811 			} else if (begin[2] == ':') {
812 				*tz_not_found = 0;
813 				tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10));
814 				return tmp;
815 			} else {
816 				*tz_not_found = 0;
817 				tmp = strtol(begin, NULL, 10);
818 				return sHOUR(tmp / 100) + sMIN(tmp % 100);
819 			}
820 
821 		case 5: /* HH:MM */
822 			if (begin[2] != ':') {
823 				break;
824 			}
825 
826 			*tz_not_found = 0;
827 			tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10));
828 			return tmp;
829 
830 		case 6: /* HHMMSS */
831 			*tz_not_found = 0;
832 			tmp = strtol(begin, NULL, 10);
833 			tmp = sHOUR(tmp / 10000) + sMIN((tmp / 100) % 100) + (tmp % 100);
834 			return tmp;
835 
836 		case 8: /* HH:MM:SS */
837 			if (begin[2] != ':' || begin[5] != ':') {
838 				break;
839 			}
840 
841 			*tz_not_found = 0;
842 			tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10)) + strtol(begin + 6, NULL, 10);
843 			return tmp;
844 
845 	}
846 	return 0;
847 }
848 
timelib_parse_tz_minutes(const char ** ptr,timelib_time * t)849 static timelib_long timelib_parse_tz_minutes(const char **ptr, timelib_time *t)
850 {
851 	timelib_long retval = TIMELIB_UNSET;
852 	const char *begin = *ptr;
853 
854 	/* First character must be +/- */
855 	if (**ptr != '+' && **ptr != '-') {
856 		return retval;
857 	}
858 
859 	++*ptr;
860 	while (isdigit(**ptr)) {
861 		++*ptr;
862 	}
863 
864 	if (*begin == '+') {
865 		t->is_localtime = 1;
866 		t->zone_type = TIMELIB_ZONETYPE_OFFSET;
867 		t->dst = 0;
868 
869 		retval = sMIN(strtol(begin + 1, NULL, 10));
870 	} else if (*begin == '-') {
871 		t->is_localtime = 1;
872 		t->zone_type = TIMELIB_ZONETYPE_OFFSET;
873 		t->dst = 0;
874 
875 		retval = -1 * sMIN(strtol(begin + 1, NULL, 10));
876 	}
877 	return retval;
878 }
879 
timelib_parse_zone(const char ** ptr,int * dst,timelib_time * t,int * tz_not_found,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_wrapper)880 timelib_long timelib_parse_zone(const char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_wrapper)
881 {
882 	timelib_tzinfo *res;
883 	timelib_long            retval = 0;
884 
885 	*tz_not_found = 0;
886 
887 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '(') {
888 		++*ptr;
889 	}
890 	if ((*ptr)[0] == 'G' && (*ptr)[1] == 'M' && (*ptr)[2] == 'T' && ((*ptr)[3] == '+' || (*ptr)[3] == '-')) {
891 		*ptr += 3;
892 	}
893 	if (**ptr == '+') {
894 		++*ptr;
895 		t->is_localtime = 1;
896 		t->zone_type = TIMELIB_ZONETYPE_OFFSET;
897 		t->dst = 0;
898 
899 		retval = timelib_parse_tz_cor(ptr, tz_not_found);
900 	} else if (**ptr == '-') {
901 		++*ptr;
902 		t->is_localtime = 1;
903 		t->zone_type = TIMELIB_ZONETYPE_OFFSET;
904 		t->dst = 0;
905 
906 		retval = -1 * timelib_parse_tz_cor(ptr, tz_not_found);
907 	} else {
908 		int found = 0;
909 		timelib_long offset = 0;
910 		char *tz_abbr;
911 
912 		t->is_localtime = 1;
913 
914 		/* First, we lookup by abbreviation only */
915 		offset = timelib_lookup_abbr(ptr, dst, &tz_abbr, &found);
916 		if (found) {
917 			t->zone_type = TIMELIB_ZONETYPE_ABBR;
918 			t->dst = *dst;
919 			timelib_time_tz_abbr_update(t, tz_abbr);
920 		}
921 
922 		/* Otherwise, we look if we have a TimeZone identifier */
923 		if (!found || strcmp("UTC", tz_abbr) == 0) {
924 			int dummy_error_code;
925 
926 			if ((res = tz_wrapper(tz_abbr, tzdb, &dummy_error_code)) != NULL) {
927 				t->tz_info = res;
928 				t->zone_type = TIMELIB_ZONETYPE_ID;
929 				found++;
930 			}
931 		}
932 		timelib_free(tz_abbr);
933 		*tz_not_found = (found == 0);
934 		retval = offset;
935 	}
936 	while (**ptr == ')') {
937 		++*ptr;
938 	}
939 	return retval;
940 }
941 
942 #define timelib_split_free(arg) {       \
943 	int i;                         \
944 	for (i = 0; i < arg.c; i++) {  \
945 		timelib_free(arg.v[i]);    \
946 	}                              \
947 	if (arg.v) {                   \
948 		timelib_free(arg.v);       \
949 	}                              \
950 }
951 
scan(Scanner * s,timelib_tz_get_wrapper tz_get_wrapper)952 static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper)
953 {
954 	uchar *cursor = s->cur;
955 	char *str;
956 	const char *ptr = NULL;
957 
958 std:
959 	s->tok = cursor;
960 	s->len = 0;
961 #line 1089 "ext/date/lib/parse_date.re"
962 
963 
964 
965 #line 966 "<stdout>"
966 {
967 	YYCTYPE yych;
968 	unsigned int yyaccept = 0;
969 	static const unsigned char yybm[] = {
970 		  0,   0,   0,   0,   0,   0,   0,   0,
971 		  0,  50,   0,   0,   0,   0,   0,   0,
972 		  0,   0,   0,   0,   0,   0,   0,   0,
973 		  0,   0,   0,   0,   0,   0,   0,   0,
974 		 50,   0,   0,   0,   0,   0,   0,   0,
975 		  0,   0,   0,  64,  32,  80,  48,   0,
976 		128, 128, 128, 128, 128, 128, 128, 128,
977 		128, 128,   0,   0,   0,   0,   0,   0,
978 		  0,   4,   4,   4,   4,   4,   4,   4,
979 		  4,   4,   4,   4,   4,   4,   4,   4,
980 		  4,   4,   4,   4,   4,   4,   4,   4,
981 		  4,   4,   4,   0,   0,   0,   0,   0,
982 		  0,  12,  12,  12,  44,  12,  12,  12,
983 		 44,  12,  12,  12,  12,  12,  44,  12,
984 		 12,  12,  44,  44,  44,  12,  12,  12,
985 		 12,  12,  12,   0,   0,   0,   0,   0,
986 		  0,   0,   0,   0,   0,   0,   0,   0,
987 		  0,   0,   0,   0,   0,   0,   0,   0,
988 		  0,   0,   0,   0,   0,   0,   0,   0,
989 		  0,   0,   0,   0,   0,   0,   0,   0,
990 		  0,   0,   0,   0,   0,   0,   0,   0,
991 		  0,   0,   0,   0,   0,   0,   0,   0,
992 		  0,   0,   0,   0,   0,   0,   0,   0,
993 		  0,   0,   0,   0,   0,   0,   0,   0,
994 		  0,   0,   0,   0,   0,   0,   0,   0,
995 		  0,   0,   0,   0,   0,   0,   0,   0,
996 		  0,   0,   0,   0,   0,   0,   0,   0,
997 		  0,   0,   0,   0,   0,   0,   0,   0,
998 		  0,   0,   0,   0,   0,   0,   0,   0,
999 		  0,   0,   0,   0,   0,   0,   0,   0,
1000 		  0,   0,   0,   0,   0,   0,   0,   0,
1001 		  0,   0,   0,   0,   0,   0,   0,   0,
1002 	};
1003 	YYDEBUG(0, *YYCURSOR);
1004 	if ((YYLIMIT - YYCURSOR) < 36) YYFILL(36);
1005 	yych = *YYCURSOR;
1006 	switch (yych) {
1007 	case 0x00:
1008 	case '\n':	goto yy51;
1009 	case '\t':
1010 	case ' ':	goto yy48;
1011 	case '(':	goto yy45;
1012 	case '+':
1013 	case '-':	goto yy30;
1014 	case ',':
1015 	case '.':	goto yy50;
1016 	case '0':	goto yy25;
1017 	case '1':	goto yy26;
1018 	case '2':	goto yy27;
1019 	case '3':	goto yy28;
1020 	case '4':
1021 	case '5':
1022 	case '6':
1023 	case '7':
1024 	case '8':
1025 	case '9':	goto yy29;
1026 	case '@':	goto yy11;
1027 	case 'A':	goto yy36;
1028 	case 'B':	goto yy17;
1029 	case 'C':
1030 	case 'H':
1031 	case 'K':
1032 	case 'Q':
1033 	case 'R':
1034 	case 'U':
1035 	case 'Z':	goto yy46;
1036 	case 'D':	goto yy40;
1037 	case 'E':	goto yy21;
1038 	case 'F':	goto yy13;
1039 	case 'G':	goto yy44;
1040 	case 'I':	goto yy31;
1041 	case 'J':	goto yy34;
1042 	case 'L':	goto yy15;
1043 	case 'M':	goto yy7;
1044 	case 'N':	goto yy5;
1045 	case 'O':	goto yy38;
1046 	case 'P':	goto yy23;
1047 	case 'S':	goto yy19;
1048 	case 'T':	goto yy9;
1049 	case 'V':	goto yy32;
1050 	case 'W':	goto yy42;
1051 	case 'X':	goto yy33;
1052 	case 'Y':	goto yy2;
1053 	case 'a':	goto yy37;
1054 	case 'b':	goto yy18;
1055 	case 'c':
1056 	case 'g':
1057 	case 'h':
1058 	case 'i':
1059 	case 'k':
1060 	case 'q':
1061 	case 'r':
1062 	case 'u':
1063 	case 'v':
1064 	case 'x':
1065 	case 'z':	goto yy47;
1066 	case 'd':	goto yy41;
1067 	case 'e':	goto yy22;
1068 	case 'f':	goto yy14;
1069 	case 'j':	goto yy35;
1070 	case 'l':	goto yy16;
1071 	case 'm':	goto yy8;
1072 	case 'n':	goto yy6;
1073 	case 'o':	goto yy39;
1074 	case 'p':	goto yy24;
1075 	case 's':	goto yy20;
1076 	case 't':	goto yy10;
1077 	case 'w':	goto yy43;
1078 	case 'y':	goto yy4;
1079 	default:	goto yy53;
1080 	}
1081 yy2:
1082 	YYDEBUG(2, *YYCURSOR);
1083 	++YYCURSOR;
1084 	if ((yych = *YYCURSOR) <= 'E') {
1085 		if (yych <= ')') {
1086 			if (yych >= ')') goto yy181;
1087 		} else {
1088 			if (yych <= '@') goto yy3;
1089 			if (yych <= 'D') goto yy182;
1090 			goto yy1635;
1091 		}
1092 	} else {
1093 		if (yych <= 'd') {
1094 			if (yych <= 'Z') goto yy182;
1095 			if (yych >= 'a') goto yy187;
1096 		} else {
1097 			if (yych <= 'e') goto yy1644;
1098 			if (yych <= 'z') goto yy187;
1099 		}
1100 	}
1101 yy3:
1102 	YYDEBUG(3, *YYCURSOR);
1103 #line 1823 "ext/date/lib/parse_date.re"
1104 	{
1105 		int tz_not_found;
1106 		DEBUG_OUTPUT("tzcorrection | tz");
1107 		TIMELIB_INIT;
1108 		TIMELIB_HAVE_TZ();
1109 		s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
1110 		if (tz_not_found) {
1111 			add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
1112 		}
1113 		TIMELIB_DEINIT;
1114 		return TIMELIB_TIMEZONE;
1115 	}
1116 #line 1117 "<stdout>"
1117 yy4:
1118 	YYDEBUG(4, *YYCURSOR);
1119 	yych = *++YYCURSOR;
1120 	if (yych <= 'E') {
1121 		if (yych <= ')') {
1122 			if (yych <= '(') goto yy3;
1123 			goto yy181;
1124 		} else {
1125 			if (yych <= '@') goto yy3;
1126 			if (yych <= 'D') goto yy182;
1127 			goto yy1635;
1128 		}
1129 	} else {
1130 		if (yych <= 'd') {
1131 			if (yych <= 'Z') goto yy182;
1132 			if (yych <= '`') goto yy3;
1133 			goto yy182;
1134 		} else {
1135 			if (yych <= 'e') goto yy1635;
1136 			if (yych <= 'z') goto yy182;
1137 			goto yy3;
1138 		}
1139 	}
1140 yy5:
1141 	YYDEBUG(5, *YYCURSOR);
1142 	yych = *++YYCURSOR;
1143 	if (yych <= 'O') {
1144 		if (yych <= 'D') {
1145 			if (yych == ')') goto yy181;
1146 			if (yych <= '@') goto yy3;
1147 			goto yy182;
1148 		} else {
1149 			if (yych <= 'H') {
1150 				if (yych <= 'E') goto yy1606;
1151 				goto yy182;
1152 			} else {
1153 				if (yych <= 'I') goto yy1607;
1154 				if (yych <= 'N') goto yy182;
1155 				goto yy1605;
1156 			}
1157 		}
1158 	} else {
1159 		if (yych <= 'h') {
1160 			if (yych <= '`') {
1161 				if (yych <= 'Z') goto yy182;
1162 				goto yy3;
1163 			} else {
1164 				if (yych == 'e') goto yy1622;
1165 				goto yy187;
1166 			}
1167 		} else {
1168 			if (yych <= 'n') {
1169 				if (yych <= 'i') goto yy1623;
1170 				goto yy187;
1171 			} else {
1172 				if (yych <= 'o') goto yy1621;
1173 				if (yych <= 'z') goto yy187;
1174 				goto yy3;
1175 			}
1176 		}
1177 	}
1178 yy6:
1179 	YYDEBUG(6, *YYCURSOR);
1180 	yych = *++YYCURSOR;
1181 	if (yych <= 'O') {
1182 		if (yych <= 'D') {
1183 			if (yych == ')') goto yy181;
1184 			if (yych <= '@') goto yy3;
1185 			goto yy182;
1186 		} else {
1187 			if (yych <= 'H') {
1188 				if (yych <= 'E') goto yy1606;
1189 				goto yy182;
1190 			} else {
1191 				if (yych <= 'I') goto yy1607;
1192 				if (yych <= 'N') goto yy182;
1193 				goto yy1605;
1194 			}
1195 		}
1196 	} else {
1197 		if (yych <= 'h') {
1198 			if (yych <= '`') {
1199 				if (yych <= 'Z') goto yy182;
1200 				goto yy3;
1201 			} else {
1202 				if (yych == 'e') goto yy1606;
1203 				goto yy182;
1204 			}
1205 		} else {
1206 			if (yych <= 'n') {
1207 				if (yych <= 'i') goto yy1607;
1208 				goto yy182;
1209 			} else {
1210 				if (yych <= 'o') goto yy1605;
1211 				if (yych <= 'z') goto yy182;
1212 				goto yy3;
1213 			}
1214 		}
1215 	}
1216 yy7:
1217 	YYDEBUG(7, *YYCURSOR);
1218 	yych = *++YYCURSOR;
1219 	if (yych <= 'O') {
1220 		if (yych <= 'A') {
1221 			if (yych == ')') goto yy181;
1222 			if (yych <= '@') goto yy3;
1223 			goto yy1573;
1224 		} else {
1225 			if (yych == 'I') goto yy1574;
1226 			if (yych <= 'N') goto yy182;
1227 			goto yy1575;
1228 		}
1229 	} else {
1230 		if (yych <= 'h') {
1231 			if (yych <= 'Z') goto yy182;
1232 			if (yych <= '`') goto yy3;
1233 			if (yych <= 'a') goto yy1589;
1234 			goto yy187;
1235 		} else {
1236 			if (yych <= 'n') {
1237 				if (yych <= 'i') goto yy1590;
1238 				goto yy187;
1239 			} else {
1240 				if (yych <= 'o') goto yy1591;
1241 				if (yych <= 'z') goto yy187;
1242 				goto yy3;
1243 			}
1244 		}
1245 	}
1246 yy8:
1247 	YYDEBUG(8, *YYCURSOR);
1248 	yych = *++YYCURSOR;
1249 	if (yych <= 'O') {
1250 		if (yych <= 'A') {
1251 			if (yych == ')') goto yy181;
1252 			if (yych <= '@') goto yy3;
1253 			goto yy1573;
1254 		} else {
1255 			if (yych == 'I') goto yy1574;
1256 			if (yych <= 'N') goto yy182;
1257 			goto yy1575;
1258 		}
1259 	} else {
1260 		if (yych <= 'h') {
1261 			if (yych <= 'Z') goto yy182;
1262 			if (yych <= '`') goto yy3;
1263 			if (yych <= 'a') goto yy1573;
1264 			goto yy182;
1265 		} else {
1266 			if (yych <= 'n') {
1267 				if (yych <= 'i') goto yy1574;
1268 				goto yy182;
1269 			} else {
1270 				if (yych <= 'o') goto yy1575;
1271 				if (yych <= 'z') goto yy182;
1272 				goto yy3;
1273 			}
1274 		}
1275 	}
1276 yy9:
1277 	YYDEBUG(9, *YYCURSOR);
1278 	yych = *++YYCURSOR;
1279 	switch (yych) {
1280 	case ')':	goto yy181;
1281 	case '0':
1282 	case '1':	goto yy1499;
1283 	case '2':	goto yy1500;
1284 	case '3':
1285 	case '4':
1286 	case '5':
1287 	case '6':
1288 	case '7':
1289 	case '8':
1290 	case '9':	goto yy1501;
1291 	case 'A':
1292 	case 'B':
1293 	case 'C':
1294 	case 'D':
1295 	case 'F':
1296 	case 'G':
1297 	case 'I':
1298 	case 'J':
1299 	case 'K':
1300 	case 'L':
1301 	case 'M':
1302 	case 'N':
1303 	case 'P':
1304 	case 'Q':
1305 	case 'R':
1306 	case 'S':
1307 	case 'T':
1308 	case 'V':
1309 	case 'X':
1310 	case 'Y':
1311 	case 'Z':	goto yy182;
1312 	case 'E':	goto yy1494;
1313 	case 'H':	goto yy1495;
1314 	case 'O':	goto yy1496;
1315 	case 'U':	goto yy1497;
1316 	case 'W':	goto yy1498;
1317 	case 'a':
1318 	case 'b':
1319 	case 'c':
1320 	case 'd':
1321 	case 'f':
1322 	case 'g':
1323 	case 'i':
1324 	case 'j':
1325 	case 'k':
1326 	case 'l':
1327 	case 'm':
1328 	case 'n':
1329 	case 'p':
1330 	case 'q':
1331 	case 'r':
1332 	case 's':
1333 	case 't':
1334 	case 'v':
1335 	case 'x':
1336 	case 'y':
1337 	case 'z':	goto yy187;
1338 	case 'e':	goto yy1539;
1339 	case 'h':	goto yy1540;
1340 	case 'o':	goto yy1541;
1341 	case 'u':	goto yy1542;
1342 	case 'w':	goto yy1543;
1343 	default:	goto yy3;
1344 	}
1345 yy10:
1346 	YYDEBUG(10, *YYCURSOR);
1347 	yych = *++YYCURSOR;
1348 	switch (yych) {
1349 	case ')':	goto yy181;
1350 	case '0':
1351 	case '1':	goto yy1499;
1352 	case '2':	goto yy1500;
1353 	case '3':
1354 	case '4':
1355 	case '5':
1356 	case '6':
1357 	case '7':
1358 	case '8':
1359 	case '9':	goto yy1501;
1360 	case 'A':
1361 	case 'B':
1362 	case 'C':
1363 	case 'D':
1364 	case 'F':
1365 	case 'G':
1366 	case 'I':
1367 	case 'J':
1368 	case 'K':
1369 	case 'L':
1370 	case 'M':
1371 	case 'N':
1372 	case 'P':
1373 	case 'Q':
1374 	case 'R':
1375 	case 'S':
1376 	case 'T':
1377 	case 'V':
1378 	case 'X':
1379 	case 'Y':
1380 	case 'Z':
1381 	case 'a':
1382 	case 'b':
1383 	case 'c':
1384 	case 'd':
1385 	case 'f':
1386 	case 'g':
1387 	case 'i':
1388 	case 'j':
1389 	case 'k':
1390 	case 'l':
1391 	case 'm':
1392 	case 'n':
1393 	case 'p':
1394 	case 'q':
1395 	case 'r':
1396 	case 's':
1397 	case 't':
1398 	case 'v':
1399 	case 'x':
1400 	case 'y':
1401 	case 'z':	goto yy182;
1402 	case 'E':
1403 	case 'e':	goto yy1494;
1404 	case 'H':
1405 	case 'h':	goto yy1495;
1406 	case 'O':
1407 	case 'o':	goto yy1496;
1408 	case 'U':
1409 	case 'u':	goto yy1497;
1410 	case 'W':
1411 	case 'w':	goto yy1498;
1412 	default:	goto yy3;
1413 	}
1414 yy11:
1415 	YYDEBUG(11, *YYCURSOR);
1416 	yyaccept = 0;
1417 	yych = *(YYMARKER = ++YYCURSOR);
1418 	if (yych == '-') goto yy1482;
1419 	if (yych <= '/') goto yy12;
1420 	if (yych <= '9') goto yy1483;
1421 yy12:
1422 	YYDEBUG(12, *YYCURSOR);
1423 #line 1918 "ext/date/lib/parse_date.re"
1424 	{
1425 		add_error(s, TIMELIB_ERR_UNEXPECTED_CHARACTER, "Unexpected character");
1426 		goto std;
1427 	}
1428 #line 1429 "<stdout>"
1429 yy13:
1430 	YYDEBUG(13, *YYCURSOR);
1431 	yych = *++YYCURSOR;
1432 	if (yych <= 'R') {
1433 		if (yych <= 'E') {
1434 			if (yych <= ')') {
1435 				if (yych <= '(') goto yy3;
1436 				goto yy181;
1437 			} else {
1438 				if (yych <= '@') goto yy3;
1439 				if (yych <= 'D') goto yy182;
1440 				goto yy1415;
1441 			}
1442 		} else {
1443 			if (yych <= 'N') {
1444 				if (yych == 'I') goto yy1416;
1445 				goto yy182;
1446 			} else {
1447 				if (yych <= 'O') goto yy1417;
1448 				if (yych <= 'Q') goto yy182;
1449 				goto yy1418;
1450 			}
1451 		}
1452 	} else {
1453 		if (yych <= 'i') {
1454 			if (yych <= 'd') {
1455 				if (yych <= 'Z') goto yy182;
1456 				if (yych <= '`') goto yy3;
1457 				goto yy187;
1458 			} else {
1459 				if (yych <= 'e') goto yy1458;
1460 				if (yych <= 'h') goto yy187;
1461 				goto yy1459;
1462 			}
1463 		} else {
1464 			if (yych <= 'q') {
1465 				if (yych == 'o') goto yy1460;
1466 				goto yy187;
1467 			} else {
1468 				if (yych <= 'r') goto yy1461;
1469 				if (yych <= 'z') goto yy187;
1470 				goto yy3;
1471 			}
1472 		}
1473 	}
1474 yy14:
1475 	YYDEBUG(14, *YYCURSOR);
1476 	yych = *++YYCURSOR;
1477 	if (yych <= 'R') {
1478 		if (yych <= 'E') {
1479 			if (yych <= ')') {
1480 				if (yych <= '(') goto yy3;
1481 				goto yy181;
1482 			} else {
1483 				if (yych <= '@') goto yy3;
1484 				if (yych <= 'D') goto yy182;
1485 				goto yy1415;
1486 			}
1487 		} else {
1488 			if (yych <= 'N') {
1489 				if (yych == 'I') goto yy1416;
1490 				goto yy182;
1491 			} else {
1492 				if (yych <= 'O') goto yy1417;
1493 				if (yych <= 'Q') goto yy182;
1494 				goto yy1418;
1495 			}
1496 		}
1497 	} else {
1498 		if (yych <= 'i') {
1499 			if (yych <= 'd') {
1500 				if (yych <= 'Z') goto yy182;
1501 				if (yych <= '`') goto yy3;
1502 				goto yy182;
1503 			} else {
1504 				if (yych <= 'e') goto yy1415;
1505 				if (yych <= 'h') goto yy182;
1506 				goto yy1416;
1507 			}
1508 		} else {
1509 			if (yych <= 'q') {
1510 				if (yych == 'o') goto yy1417;
1511 				goto yy182;
1512 			} else {
1513 				if (yych <= 'r') goto yy1418;
1514 				if (yych <= 'z') goto yy182;
1515 				goto yy3;
1516 			}
1517 		}
1518 	}
1519 yy15:
1520 	YYDEBUG(15, *YYCURSOR);
1521 	yych = *++YYCURSOR;
1522 	if (yych <= 'A') {
1523 		if (yych == ')') goto yy181;
1524 		if (yych <= '@') goto yy3;
1525 		goto yy1401;
1526 	} else {
1527 		if (yych <= '`') {
1528 			if (yych <= 'Z') goto yy182;
1529 			goto yy3;
1530 		} else {
1531 			if (yych <= 'a') goto yy1412;
1532 			if (yych <= 'z') goto yy187;
1533 			goto yy3;
1534 		}
1535 	}
1536 yy16:
1537 	YYDEBUG(16, *YYCURSOR);
1538 	yych = *++YYCURSOR;
1539 	if (yych <= 'A') {
1540 		if (yych == ')') goto yy181;
1541 		if (yych <= '@') goto yy3;
1542 		goto yy1401;
1543 	} else {
1544 		if (yych <= '`') {
1545 			if (yych <= 'Z') goto yy182;
1546 			goto yy3;
1547 		} else {
1548 			if (yych <= 'a') goto yy1401;
1549 			if (yych <= 'z') goto yy182;
1550 			goto yy3;
1551 		}
1552 	}
1553 yy17:
1554 	YYDEBUG(17, *YYCURSOR);
1555 	yych = *++YYCURSOR;
1556 	if (yych <= 'A') {
1557 		if (yych == ')') goto yy181;
1558 		if (yych <= '@') goto yy3;
1559 		goto yy1380;
1560 	} else {
1561 		if (yych <= '`') {
1562 			if (yych <= 'Z') goto yy182;
1563 			goto yy3;
1564 		} else {
1565 			if (yych <= 'a') goto yy1398;
1566 			if (yych <= 'z') goto yy187;
1567 			goto yy3;
1568 		}
1569 	}
1570 yy18:
1571 	YYDEBUG(18, *YYCURSOR);
1572 	yych = *++YYCURSOR;
1573 	if (yych <= 'A') {
1574 		if (yych == ')') goto yy181;
1575 		if (yych <= '@') goto yy3;
1576 		goto yy1380;
1577 	} else {
1578 		if (yych <= '`') {
1579 			if (yych <= 'Z') goto yy182;
1580 			goto yy3;
1581 		} else {
1582 			if (yych <= 'a') goto yy1380;
1583 			if (yych <= 'z') goto yy182;
1584 			goto yy3;
1585 		}
1586 	}
1587 yy19:
1588 	YYDEBUG(19, *YYCURSOR);
1589 	yych = *++YYCURSOR;
1590 	if (yych <= 'U') {
1591 		if (yych <= 'D') {
1592 			if (yych <= ')') {
1593 				if (yych <= '(') goto yy3;
1594 				goto yy181;
1595 			} else {
1596 				if (yych <= '@') goto yy3;
1597 				if (yych <= 'A') goto yy1321;
1598 				goto yy182;
1599 			}
1600 		} else {
1601 			if (yych <= 'H') {
1602 				if (yych <= 'E') goto yy1320;
1603 				goto yy182;
1604 			} else {
1605 				if (yych <= 'I') goto yy1322;
1606 				if (yych <= 'T') goto yy182;
1607 				goto yy1323;
1608 			}
1609 		}
1610 	} else {
1611 		if (yych <= 'e') {
1612 			if (yych <= '`') {
1613 				if (yych <= 'Z') goto yy182;
1614 				goto yy3;
1615 			} else {
1616 				if (yych <= 'a') goto yy1351;
1617 				if (yych <= 'd') goto yy187;
1618 				goto yy1350;
1619 			}
1620 		} else {
1621 			if (yych <= 't') {
1622 				if (yych == 'i') goto yy1352;
1623 				goto yy187;
1624 			} else {
1625 				if (yych <= 'u') goto yy1353;
1626 				if (yych <= 'z') goto yy187;
1627 				goto yy3;
1628 			}
1629 		}
1630 	}
1631 yy20:
1632 	YYDEBUG(20, *YYCURSOR);
1633 	yych = *++YYCURSOR;
1634 	if (yych <= 'U') {
1635 		if (yych <= 'D') {
1636 			if (yych <= ')') {
1637 				if (yych <= '(') goto yy3;
1638 				goto yy181;
1639 			} else {
1640 				if (yych <= '@') goto yy3;
1641 				if (yych <= 'A') goto yy1321;
1642 				goto yy182;
1643 			}
1644 		} else {
1645 			if (yych <= 'H') {
1646 				if (yych <= 'E') goto yy1320;
1647 				goto yy182;
1648 			} else {
1649 				if (yych <= 'I') goto yy1322;
1650 				if (yych <= 'T') goto yy182;
1651 				goto yy1323;
1652 			}
1653 		}
1654 	} else {
1655 		if (yych <= 'e') {
1656 			if (yych <= '`') {
1657 				if (yych <= 'Z') goto yy182;
1658 				goto yy3;
1659 			} else {
1660 				if (yych <= 'a') goto yy1321;
1661 				if (yych <= 'd') goto yy182;
1662 				goto yy1320;
1663 			}
1664 		} else {
1665 			if (yych <= 't') {
1666 				if (yych == 'i') goto yy1322;
1667 				goto yy182;
1668 			} else {
1669 				if (yych <= 'u') goto yy1323;
1670 				if (yych <= 'z') goto yy182;
1671 				goto yy3;
1672 			}
1673 		}
1674 	}
1675 yy21:
1676 	YYDEBUG(21, *YYCURSOR);
1677 	yych = *++YYCURSOR;
1678 	if (yych <= 'L') {
1679 		if (yych <= '@') {
1680 			if (yych == ')') goto yy181;
1681 			goto yy3;
1682 		} else {
1683 			if (yych == 'I') goto yy1290;
1684 			if (yych <= 'K') goto yy182;
1685 			goto yy1291;
1686 		}
1687 	} else {
1688 		if (yych <= 'i') {
1689 			if (yych <= 'Z') goto yy182;
1690 			if (yych <= '`') goto yy3;
1691 			if (yych <= 'h') goto yy187;
1692 			goto yy1308;
1693 		} else {
1694 			if (yych == 'l') goto yy1309;
1695 			if (yych <= 'z') goto yy187;
1696 			goto yy3;
1697 		}
1698 	}
1699 yy22:
1700 	YYDEBUG(22, *YYCURSOR);
1701 	yych = *++YYCURSOR;
1702 	if (yych <= 'L') {
1703 		if (yych <= '@') {
1704 			if (yych == ')') goto yy181;
1705 			goto yy3;
1706 		} else {
1707 			if (yych == 'I') goto yy1290;
1708 			if (yych <= 'K') goto yy182;
1709 			goto yy1291;
1710 		}
1711 	} else {
1712 		if (yych <= 'i') {
1713 			if (yych <= 'Z') goto yy182;
1714 			if (yych <= '`') goto yy3;
1715 			if (yych <= 'h') goto yy182;
1716 			goto yy1290;
1717 		} else {
1718 			if (yych == 'l') goto yy1291;
1719 			if (yych <= 'z') goto yy182;
1720 			goto yy3;
1721 		}
1722 	}
1723 yy23:
1724 	YYDEBUG(23, *YYCURSOR);
1725 	yych = *++YYCURSOR;
1726 	if (yych <= 'R') {
1727 		if (yych <= ')') {
1728 			if (yych <= '(') goto yy3;
1729 			goto yy181;
1730 		} else {
1731 			if (yych <= '@') goto yy3;
1732 			if (yych <= 'Q') goto yy182;
1733 			goto yy1157;
1734 		}
1735 	} else {
1736 		if (yych <= 'q') {
1737 			if (yych <= 'Z') goto yy182;
1738 			if (yych <= '`') goto yy3;
1739 			goto yy187;
1740 		} else {
1741 			if (yych <= 'r') goto yy1283;
1742 			if (yych <= 'z') goto yy187;
1743 			goto yy3;
1744 		}
1745 	}
1746 yy24:
1747 	YYDEBUG(24, *YYCURSOR);
1748 	yych = *++YYCURSOR;
1749 	if (yych <= 'R') {
1750 		if (yych <= ')') {
1751 			if (yych <= '(') goto yy3;
1752 			goto yy181;
1753 		} else {
1754 			if (yych <= '@') goto yy3;
1755 			if (yych <= 'Q') goto yy182;
1756 			goto yy1157;
1757 		}
1758 	} else {
1759 		if (yych <= 'q') {
1760 			if (yych <= 'Z') goto yy182;
1761 			if (yych <= '`') goto yy3;
1762 			goto yy182;
1763 		} else {
1764 			if (yych <= 'r') goto yy1157;
1765 			if (yych <= 'z') goto yy182;
1766 			goto yy3;
1767 		}
1768 	}
1769 yy25:
1770 	YYDEBUG(25, *YYCURSOR);
1771 	yyaccept = 0;
1772 	yych = *(YYMARKER = ++YYCURSOR);
1773 	if (yych <= '`') {
1774 		if (yych <= '@') {
1775 			if (yych <= '-') {
1776 				if (yych <= 0x1F) {
1777 					if (yych == '\t') goto yy1111;
1778 					goto yy12;
1779 				} else {
1780 					if (yych <= ' ') goto yy1113;
1781 					if (yych <= ',') goto yy12;
1782 					goto yy506;
1783 				}
1784 			} else {
1785 				if (yych <= '0') {
1786 					if (yych <= '.') goto yy1123;
1787 					if (yych <= '/') goto yy505;
1788 					goto yy1156;
1789 				} else {
1790 					if (yych <= '9') goto yy1155;
1791 					if (yych <= ':') goto yy1124;
1792 					goto yy12;
1793 				}
1794 			}
1795 		} else {
1796 			if (yych <= 'G') {
1797 				if (yych <= 'D') {
1798 					if (yych <= 'A') goto yy1113;
1799 					if (yych <= 'C') goto yy12;
1800 					goto yy1113;
1801 				} else {
1802 					if (yych == 'F') goto yy1113;
1803 					goto yy12;
1804 				}
1805 			} else {
1806 				if (yych <= 'O') {
1807 					if (yych <= 'J') goto yy1113;
1808 					if (yych <= 'L') goto yy12;
1809 					goto yy1113;
1810 				} else {
1811 					if (yych <= 'R') goto yy12;
1812 					if (yych <= 'Y') goto yy1113;
1813 					goto yy12;
1814 				}
1815 			}
1816 		}
1817 	} else {
1818 		if (yych <= 'n') {
1819 			if (yych <= 'g') {
1820 				if (yych <= 'd') {
1821 					if (yych <= 'a') goto yy1113;
1822 					if (yych <= 'c') goto yy12;
1823 					goto yy1113;
1824 				} else {
1825 					if (yych == 'f') goto yy1113;
1826 					goto yy12;
1827 				}
1828 			} else {
1829 				if (yych <= 'j') {
1830 					if (yych == 'i') goto yy12;
1831 					goto yy1113;
1832 				} else {
1833 					if (yych <= 'l') goto yy12;
1834 					if (yych <= 'm') goto yy1113;
1835 					goto yy503;
1836 				}
1837 			}
1838 		} else {
1839 			if (yych <= 'u') {
1840 				if (yych <= 'r') {
1841 					if (yych <= 'o') goto yy1113;
1842 					if (yych <= 'q') goto yy12;
1843 					goto yy504;
1844 				} else {
1845 					if (yych <= 's') goto yy498;
1846 					if (yych <= 't') goto yy501;
1847 					goto yy1113;
1848 				}
1849 			} else {
1850 				if (yych <= 'x') {
1851 					if (yych == 'w') goto yy1113;
1852 					goto yy12;
1853 				} else {
1854 					if (yych <= 'y') goto yy1113;
1855 					if (yych == 0xC2) goto yy1113;
1856 					goto yy12;
1857 				}
1858 			}
1859 		}
1860 	}
1861 yy26:
1862 	YYDEBUG(26, *YYCURSOR);
1863 	yyaccept = 0;
1864 	yych = *(YYMARKER = ++YYCURSOR);
1865 	if (yych <= '`') {
1866 		if (yych <= '@') {
1867 			if (yych <= '-') {
1868 				if (yych <= 0x1F) {
1869 					if (yych == '\t') goto yy493;
1870 					goto yy12;
1871 				} else {
1872 					if (yych <= ' ') goto yy495;
1873 					if (yych <= ',') goto yy12;
1874 					goto yy506;
1875 				}
1876 			} else {
1877 				if (yych <= '2') {
1878 					if (yych <= '.') goto yy507;
1879 					if (yych <= '/') goto yy505;
1880 					goto yy1155;
1881 				} else {
1882 					if (yych <= '9') goto yy1122;
1883 					if (yych <= ':') goto yy516;
1884 					goto yy12;
1885 				}
1886 			}
1887 		} else {
1888 			if (yych <= 'G') {
1889 				if (yych <= 'D') {
1890 					if (yych <= 'A') goto yy495;
1891 					if (yych <= 'C') goto yy12;
1892 					goto yy495;
1893 				} else {
1894 					if (yych == 'F') goto yy495;
1895 					goto yy12;
1896 				}
1897 			} else {
1898 				if (yych <= 'P') {
1899 					if (yych <= 'J') goto yy495;
1900 					if (yych <= 'L') goto yy12;
1901 					goto yy495;
1902 				} else {
1903 					if (yych <= 'R') goto yy12;
1904 					if (yych <= 'Y') goto yy495;
1905 					goto yy12;
1906 				}
1907 			}
1908 		}
1909 	} else {
1910 		if (yych <= 'n') {
1911 			if (yych <= 'g') {
1912 				if (yych <= 'd') {
1913 					if (yych <= 'a') goto yy495;
1914 					if (yych <= 'c') goto yy12;
1915 					goto yy495;
1916 				} else {
1917 					if (yych == 'f') goto yy495;
1918 					goto yy12;
1919 				}
1920 			} else {
1921 				if (yych <= 'j') {
1922 					if (yych == 'i') goto yy12;
1923 					goto yy495;
1924 				} else {
1925 					if (yych <= 'l') goto yy12;
1926 					if (yych <= 'm') goto yy495;
1927 					goto yy503;
1928 				}
1929 			}
1930 		} else {
1931 			if (yych <= 'u') {
1932 				if (yych <= 'r') {
1933 					if (yych <= 'p') goto yy495;
1934 					if (yych <= 'q') goto yy12;
1935 					goto yy504;
1936 				} else {
1937 					if (yych <= 's') goto yy498;
1938 					if (yych <= 't') goto yy501;
1939 					goto yy495;
1940 				}
1941 			} else {
1942 				if (yych <= 'x') {
1943 					if (yych == 'w') goto yy495;
1944 					goto yy12;
1945 				} else {
1946 					if (yych <= 'y') goto yy495;
1947 					if (yych == 0xC2) goto yy495;
1948 					goto yy12;
1949 				}
1950 			}
1951 		}
1952 	}
1953 yy27:
1954 	YYDEBUG(27, *YYCURSOR);
1955 	yyaccept = 0;
1956 	yych = *(YYMARKER = ++YYCURSOR);
1957 	if (yych <= '`') {
1958 		if (yych <= '@') {
1959 			if (yych <= '-') {
1960 				if (yych <= 0x1F) {
1961 					if (yych == '\t') goto yy493;
1962 					goto yy12;
1963 				} else {
1964 					if (yych <= ' ') goto yy495;
1965 					if (yych <= ',') goto yy12;
1966 					goto yy506;
1967 				}
1968 			} else {
1969 				if (yych <= '4') {
1970 					if (yych <= '.') goto yy507;
1971 					if (yych <= '/') goto yy505;
1972 					goto yy1122;
1973 				} else {
1974 					if (yych <= '9') goto yy1109;
1975 					if (yych <= ':') goto yy516;
1976 					goto yy12;
1977 				}
1978 			}
1979 		} else {
1980 			if (yych <= 'G') {
1981 				if (yych <= 'D') {
1982 					if (yych <= 'A') goto yy495;
1983 					if (yych <= 'C') goto yy12;
1984 					goto yy495;
1985 				} else {
1986 					if (yych == 'F') goto yy495;
1987 					goto yy12;
1988 				}
1989 			} else {
1990 				if (yych <= 'P') {
1991 					if (yych <= 'J') goto yy495;
1992 					if (yych <= 'L') goto yy12;
1993 					goto yy495;
1994 				} else {
1995 					if (yych <= 'R') goto yy12;
1996 					if (yych <= 'Y') goto yy495;
1997 					goto yy12;
1998 				}
1999 			}
2000 		}
2001 	} else {
2002 		if (yych <= 'n') {
2003 			if (yych <= 'g') {
2004 				if (yych <= 'd') {
2005 					if (yych <= 'a') goto yy495;
2006 					if (yych <= 'c') goto yy12;
2007 					goto yy495;
2008 				} else {
2009 					if (yych == 'f') goto yy495;
2010 					goto yy12;
2011 				}
2012 			} else {
2013 				if (yych <= 'j') {
2014 					if (yych == 'i') goto yy12;
2015 					goto yy495;
2016 				} else {
2017 					if (yych <= 'l') goto yy12;
2018 					if (yych <= 'm') goto yy495;
2019 					goto yy503;
2020 				}
2021 			}
2022 		} else {
2023 			if (yych <= 'u') {
2024 				if (yych <= 'r') {
2025 					if (yych <= 'p') goto yy495;
2026 					if (yych <= 'q') goto yy12;
2027 					goto yy504;
2028 				} else {
2029 					if (yych <= 's') goto yy498;
2030 					if (yych <= 't') goto yy501;
2031 					goto yy495;
2032 				}
2033 			} else {
2034 				if (yych <= 'x') {
2035 					if (yych == 'w') goto yy495;
2036 					goto yy12;
2037 				} else {
2038 					if (yych <= 'y') goto yy495;
2039 					if (yych == 0xC2) goto yy495;
2040 					goto yy12;
2041 				}
2042 			}
2043 		}
2044 	}
2045 yy28:
2046 	YYDEBUG(28, *YYCURSOR);
2047 	yyaccept = 0;
2048 	yych = *(YYMARKER = ++YYCURSOR);
2049 	if (yych <= '`') {
2050 		if (yych <= '@') {
2051 			if (yych <= '-') {
2052 				if (yych <= 0x1F) {
2053 					if (yych == '\t') goto yy493;
2054 					goto yy12;
2055 				} else {
2056 					if (yych <= ' ') goto yy495;
2057 					if (yych <= ',') goto yy12;
2058 					goto yy506;
2059 				}
2060 			} else {
2061 				if (yych <= '1') {
2062 					if (yych <= '.') goto yy507;
2063 					if (yych <= '/') goto yy505;
2064 					goto yy1109;
2065 				} else {
2066 					if (yych <= '9') goto yy502;
2067 					if (yych <= ':') goto yy516;
2068 					goto yy12;
2069 				}
2070 			}
2071 		} else {
2072 			if (yych <= 'G') {
2073 				if (yych <= 'D') {
2074 					if (yych <= 'A') goto yy495;
2075 					if (yych <= 'C') goto yy12;
2076 					goto yy495;
2077 				} else {
2078 					if (yych == 'F') goto yy495;
2079 					goto yy12;
2080 				}
2081 			} else {
2082 				if (yych <= 'P') {
2083 					if (yych <= 'J') goto yy495;
2084 					if (yych <= 'L') goto yy12;
2085 					goto yy495;
2086 				} else {
2087 					if (yych <= 'R') goto yy12;
2088 					if (yych <= 'Y') goto yy495;
2089 					goto yy12;
2090 				}
2091 			}
2092 		}
2093 	} else {
2094 		if (yych <= 'n') {
2095 			if (yych <= 'g') {
2096 				if (yych <= 'd') {
2097 					if (yych <= 'a') goto yy495;
2098 					if (yych <= 'c') goto yy12;
2099 					goto yy495;
2100 				} else {
2101 					if (yych == 'f') goto yy495;
2102 					goto yy12;
2103 				}
2104 			} else {
2105 				if (yych <= 'j') {
2106 					if (yych == 'i') goto yy12;
2107 					goto yy495;
2108 				} else {
2109 					if (yych <= 'l') goto yy12;
2110 					if (yych <= 'm') goto yy495;
2111 					goto yy503;
2112 				}
2113 			}
2114 		} else {
2115 			if (yych <= 'u') {
2116 				if (yych <= 'r') {
2117 					if (yych <= 'p') goto yy495;
2118 					if (yych <= 'q') goto yy12;
2119 					goto yy504;
2120 				} else {
2121 					if (yych <= 's') goto yy498;
2122 					if (yych <= 't') goto yy501;
2123 					goto yy495;
2124 				}
2125 			} else {
2126 				if (yych <= 'x') {
2127 					if (yych == 'w') goto yy495;
2128 					goto yy12;
2129 				} else {
2130 					if (yych <= 'y') goto yy495;
2131 					if (yych == 0xC2) goto yy495;
2132 					goto yy12;
2133 				}
2134 			}
2135 		}
2136 	}
2137 yy29:
2138 	YYDEBUG(29, *YYCURSOR);
2139 	yyaccept = 0;
2140 	yych = *(YYMARKER = ++YYCURSOR);
2141 	if (yych <= 'a') {
2142 		if (yych <= 'A') {
2143 			if (yych <= '-') {
2144 				if (yych <= 0x1F) {
2145 					if (yych == '\t') goto yy493;
2146 					goto yy12;
2147 				} else {
2148 					if (yych <= ' ') goto yy495;
2149 					if (yych <= ',') goto yy12;
2150 					goto yy506;
2151 				}
2152 			} else {
2153 				if (yych <= '9') {
2154 					if (yych <= '.') goto yy507;
2155 					if (yych <= '/') goto yy505;
2156 					goto yy502;
2157 				} else {
2158 					if (yych <= ':') goto yy516;
2159 					if (yych <= '@') goto yy12;
2160 					goto yy495;
2161 				}
2162 			}
2163 		} else {
2164 			if (yych <= 'J') {
2165 				if (yych <= 'E') {
2166 					if (yych == 'D') goto yy495;
2167 					goto yy12;
2168 				} else {
2169 					if (yych == 'G') goto yy12;
2170 					goto yy495;
2171 				}
2172 			} else {
2173 				if (yych <= 'R') {
2174 					if (yych <= 'L') goto yy12;
2175 					if (yych <= 'P') goto yy495;
2176 					goto yy12;
2177 				} else {
2178 					if (yych <= 'Y') goto yy495;
2179 					if (yych <= '`') goto yy12;
2180 					goto yy495;
2181 				}
2182 			}
2183 		}
2184 	} else {
2185 		if (yych <= 'p') {
2186 			if (yych <= 'h') {
2187 				if (yych <= 'e') {
2188 					if (yych == 'd') goto yy495;
2189 					goto yy12;
2190 				} else {
2191 					if (yych == 'g') goto yy12;
2192 					goto yy495;
2193 				}
2194 			} else {
2195 				if (yych <= 'l') {
2196 					if (yych == 'j') goto yy495;
2197 					goto yy12;
2198 				} else {
2199 					if (yych == 'n') goto yy503;
2200 					goto yy495;
2201 				}
2202 			}
2203 		} else {
2204 			if (yych <= 'v') {
2205 				if (yych <= 's') {
2206 					if (yych <= 'q') goto yy12;
2207 					if (yych <= 'r') goto yy504;
2208 					goto yy498;
2209 				} else {
2210 					if (yych <= 't') goto yy501;
2211 					if (yych <= 'u') goto yy495;
2212 					goto yy12;
2213 				}
2214 			} else {
2215 				if (yych <= 'y') {
2216 					if (yych == 'x') goto yy12;
2217 					goto yy495;
2218 				} else {
2219 					if (yych == 0xC2) goto yy495;
2220 					goto yy12;
2221 				}
2222 			}
2223 		}
2224 	}
2225 yy30:
2226 	YYDEBUG(30, *YYCURSOR);
2227 	yyaccept = 0;
2228 	yych = *(YYMARKER = ++YYCURSOR);
2229 	if (yybm[0+yych] & 2) {
2230 		goto yy56;
2231 	}
2232 	switch (yych) {
2233 	case '+':
2234 	case '-':	goto yy445;
2235 	case '0':
2236 	case '1':	goto yy442;
2237 	case '2':	goto yy443;
2238 	case '3':
2239 	case '4':
2240 	case '5':
2241 	case '6':
2242 	case '7':
2243 	case '8':
2244 	case '9':	goto yy444;
2245 	default:	goto yy12;
2246 	}
2247 yy31:
2248 	YYDEBUG(31, *YYCURSOR);
2249 	yyaccept = 1;
2250 	yych = *(YYMARKER = ++YYCURSOR);
2251 	if (yych <= '9') {
2252 		if (yych <= '(') {
2253 			if (yych <= '\t') {
2254 				if (yych <= 0x08) goto yy3;
2255 				goto yy250;
2256 			} else {
2257 				if (yych == ' ') goto yy250;
2258 				goto yy3;
2259 			}
2260 		} else {
2261 			if (yych <= ',') {
2262 				if (yych <= ')') goto yy181;
2263 				goto yy3;
2264 			} else {
2265 				if (yych == '/') goto yy3;
2266 				goto yy250;
2267 			}
2268 		}
2269 	} else {
2270 		if (yych <= 'V') {
2271 			if (yych <= 'H') {
2272 				if (yych <= '@') goto yy3;
2273 				goto yy182;
2274 			} else {
2275 				if (yych <= 'I') goto yy441;
2276 				if (yych <= 'U') goto yy182;
2277 				goto yy440;
2278 			}
2279 		} else {
2280 			if (yych <= 'Z') {
2281 				if (yych == 'X') goto yy440;
2282 				goto yy182;
2283 			} else {
2284 				if (yych <= '`') goto yy3;
2285 				if (yych <= 'z') goto yy187;
2286 				goto yy3;
2287 			}
2288 		}
2289 	}
2290 yy32:
2291 	YYDEBUG(32, *YYCURSOR);
2292 	yyaccept = 1;
2293 	yych = *(YYMARKER = ++YYCURSOR);
2294 	if (yych <= '.') {
2295 		if (yych <= ' ') {
2296 			if (yych == '\t') goto yy250;
2297 			if (yych <= 0x1F) goto yy3;
2298 			goto yy250;
2299 		} else {
2300 			if (yych == ')') goto yy181;
2301 			if (yych <= ',') goto yy3;
2302 			goto yy250;
2303 		}
2304 	} else {
2305 		if (yych <= 'H') {
2306 			if (yych <= '/') goto yy3;
2307 			if (yych <= '9') goto yy250;
2308 			if (yych <= '@') goto yy3;
2309 			goto yy182;
2310 		} else {
2311 			if (yych <= 'Z') {
2312 				if (yych <= 'I') goto yy437;
2313 				goto yy182;
2314 			} else {
2315 				if (yych <= '`') goto yy3;
2316 				if (yych <= 'z') goto yy187;
2317 				goto yy3;
2318 			}
2319 		}
2320 	}
2321 yy33:
2322 	YYDEBUG(33, *YYCURSOR);
2323 	yyaccept = 1;
2324 	yych = *(YYMARKER = ++YYCURSOR);
2325 	if (yych <= '.') {
2326 		if (yych <= ' ') {
2327 			if (yych == '\t') goto yy250;
2328 			if (yych <= 0x1F) goto yy3;
2329 			goto yy250;
2330 		} else {
2331 			if (yych == ')') goto yy181;
2332 			if (yych <= ',') goto yy3;
2333 			goto yy250;
2334 		}
2335 	} else {
2336 		if (yych <= 'H') {
2337 			if (yych <= '/') goto yy3;
2338 			if (yych <= '9') goto yy250;
2339 			if (yych <= '@') goto yy3;
2340 			goto yy182;
2341 		} else {
2342 			if (yych <= 'Z') {
2343 				if (yych <= 'I') goto yy435;
2344 				goto yy182;
2345 			} else {
2346 				if (yych <= '`') goto yy3;
2347 				if (yych <= 'z') goto yy187;
2348 				goto yy3;
2349 			}
2350 		}
2351 	}
2352 yy34:
2353 	YYDEBUG(34, *YYCURSOR);
2354 	yych = *++YYCURSOR;
2355 	if (yych <= 'U') {
2356 		if (yych <= '@') {
2357 			if (yych == ')') goto yy181;
2358 			goto yy3;
2359 		} else {
2360 			if (yych <= 'A') goto yy418;
2361 			if (yych <= 'T') goto yy182;
2362 			goto yy417;
2363 		}
2364 	} else {
2365 		if (yych <= 'a') {
2366 			if (yych <= 'Z') goto yy182;
2367 			if (yych <= '`') goto yy3;
2368 			goto yy427;
2369 		} else {
2370 			if (yych == 'u') goto yy426;
2371 			if (yych <= 'z') goto yy187;
2372 			goto yy3;
2373 		}
2374 	}
2375 yy35:
2376 	YYDEBUG(35, *YYCURSOR);
2377 	yych = *++YYCURSOR;
2378 	if (yych <= 'U') {
2379 		if (yych <= '@') {
2380 			if (yych == ')') goto yy181;
2381 			goto yy3;
2382 		} else {
2383 			if (yych <= 'A') goto yy418;
2384 			if (yych <= 'T') goto yy182;
2385 			goto yy417;
2386 		}
2387 	} else {
2388 		if (yych <= 'a') {
2389 			if (yych <= 'Z') goto yy182;
2390 			if (yych <= '`') goto yy3;
2391 			goto yy418;
2392 		} else {
2393 			if (yych == 'u') goto yy417;
2394 			if (yych <= 'z') goto yy182;
2395 			goto yy3;
2396 		}
2397 	}
2398 yy36:
2399 	YYDEBUG(36, *YYCURSOR);
2400 	yych = *++YYCURSOR;
2401 	if (yych <= 'U') {
2402 		if (yych <= 'F') {
2403 			if (yych == ')') goto yy181;
2404 			if (yych <= '@') goto yy3;
2405 			goto yy182;
2406 		} else {
2407 			if (yych <= 'O') {
2408 				if (yych <= 'G') goto yy396;
2409 				goto yy182;
2410 			} else {
2411 				if (yych <= 'P') goto yy395;
2412 				if (yych <= 'T') goto yy182;
2413 				goto yy394;
2414 			}
2415 		}
2416 	} else {
2417 		if (yych <= 'o') {
2418 			if (yych <= '`') {
2419 				if (yych <= 'Z') goto yy182;
2420 				goto yy3;
2421 			} else {
2422 				if (yych == 'g') goto yy408;
2423 				goto yy187;
2424 			}
2425 		} else {
2426 			if (yych <= 't') {
2427 				if (yych <= 'p') goto yy407;
2428 				goto yy187;
2429 			} else {
2430 				if (yych <= 'u') goto yy406;
2431 				if (yych <= 'z') goto yy187;
2432 				goto yy3;
2433 			}
2434 		}
2435 	}
2436 yy37:
2437 	YYDEBUG(37, *YYCURSOR);
2438 	yych = *++YYCURSOR;
2439 	if (yych <= 'U') {
2440 		if (yych <= 'F') {
2441 			if (yych == ')') goto yy181;
2442 			if (yych <= '@') goto yy3;
2443 			goto yy182;
2444 		} else {
2445 			if (yych <= 'O') {
2446 				if (yych <= 'G') goto yy396;
2447 				goto yy182;
2448 			} else {
2449 				if (yych <= 'P') goto yy395;
2450 				if (yych <= 'T') goto yy182;
2451 				goto yy394;
2452 			}
2453 		}
2454 	} else {
2455 		if (yych <= 'o') {
2456 			if (yych <= '`') {
2457 				if (yych <= 'Z') goto yy182;
2458 				goto yy3;
2459 			} else {
2460 				if (yych == 'g') goto yy396;
2461 				goto yy182;
2462 			}
2463 		} else {
2464 			if (yych <= 't') {
2465 				if (yych <= 'p') goto yy395;
2466 				goto yy182;
2467 			} else {
2468 				if (yych <= 'u') goto yy394;
2469 				if (yych <= 'z') goto yy182;
2470 				goto yy3;
2471 			}
2472 		}
2473 	}
2474 yy38:
2475 	YYDEBUG(38, *YYCURSOR);
2476 	yych = *++YYCURSOR;
2477 	if (yych <= 'C') {
2478 		if (yych <= ')') {
2479 			if (yych <= '(') goto yy3;
2480 			goto yy181;
2481 		} else {
2482 			if (yych <= '@') goto yy3;
2483 			if (yych <= 'B') goto yy182;
2484 			goto yy384;
2485 		}
2486 	} else {
2487 		if (yych <= 'b') {
2488 			if (yych <= 'Z') goto yy182;
2489 			if (yych <= '`') goto yy3;
2490 			goto yy187;
2491 		} else {
2492 			if (yych <= 'c') goto yy389;
2493 			if (yych <= 'z') goto yy187;
2494 			goto yy3;
2495 		}
2496 	}
2497 yy39:
2498 	YYDEBUG(39, *YYCURSOR);
2499 	yych = *++YYCURSOR;
2500 	if (yych <= 'C') {
2501 		if (yych <= ')') {
2502 			if (yych <= '(') goto yy3;
2503 			goto yy181;
2504 		} else {
2505 			if (yych <= '@') goto yy3;
2506 			if (yych <= 'B') goto yy182;
2507 			goto yy384;
2508 		}
2509 	} else {
2510 		if (yych <= 'b') {
2511 			if (yych <= 'Z') goto yy182;
2512 			if (yych <= '`') goto yy3;
2513 			goto yy182;
2514 		} else {
2515 			if (yych <= 'c') goto yy384;
2516 			if (yych <= 'z') goto yy182;
2517 			goto yy3;
2518 		}
2519 	}
2520 yy40:
2521 	YYDEBUG(40, *YYCURSOR);
2522 	yych = *++YYCURSOR;
2523 	if (yych <= 'E') {
2524 		if (yych <= ')') {
2525 			if (yych <= '(') goto yy3;
2526 			goto yy181;
2527 		} else {
2528 			if (yych <= '@') goto yy3;
2529 			if (yych <= 'D') goto yy182;
2530 			goto yy246;
2531 		}
2532 	} else {
2533 		if (yych <= 'd') {
2534 			if (yych <= 'Z') goto yy182;
2535 			if (yych <= '`') goto yy3;
2536 			goto yy187;
2537 		} else {
2538 			if (yych <= 'e') goto yy375;
2539 			if (yych <= 'z') goto yy187;
2540 			goto yy3;
2541 		}
2542 	}
2543 yy41:
2544 	YYDEBUG(41, *YYCURSOR);
2545 	yych = *++YYCURSOR;
2546 	if (yych <= 'E') {
2547 		if (yych <= ')') {
2548 			if (yych <= '(') goto yy3;
2549 			goto yy181;
2550 		} else {
2551 			if (yych <= '@') goto yy3;
2552 			if (yych <= 'D') goto yy182;
2553 			goto yy246;
2554 		}
2555 	} else {
2556 		if (yych <= 'd') {
2557 			if (yych <= 'Z') goto yy182;
2558 			if (yych <= '`') goto yy3;
2559 			goto yy182;
2560 		} else {
2561 			if (yych <= 'e') goto yy246;
2562 			if (yych <= 'z') goto yy182;
2563 			goto yy3;
2564 		}
2565 	}
2566 yy42:
2567 	YYDEBUG(42, *YYCURSOR);
2568 	yych = *++YYCURSOR;
2569 	if (yych <= 'E') {
2570 		if (yych <= ')') {
2571 			if (yych <= '(') goto yy3;
2572 			goto yy181;
2573 		} else {
2574 			if (yych <= '@') goto yy3;
2575 			if (yych <= 'D') goto yy182;
2576 			goto yy217;
2577 		}
2578 	} else {
2579 		if (yych <= 'd') {
2580 			if (yych <= 'Z') goto yy182;
2581 			if (yych <= '`') goto yy3;
2582 			goto yy187;
2583 		} else {
2584 			if (yych <= 'e') goto yy232;
2585 			if (yych <= 'z') goto yy187;
2586 			goto yy3;
2587 		}
2588 	}
2589 yy43:
2590 	YYDEBUG(43, *YYCURSOR);
2591 	yych = *++YYCURSOR;
2592 	if (yych <= 'E') {
2593 		if (yych <= ')') {
2594 			if (yych <= '(') goto yy3;
2595 			goto yy181;
2596 		} else {
2597 			if (yych <= '@') goto yy3;
2598 			if (yych <= 'D') goto yy182;
2599 			goto yy217;
2600 		}
2601 	} else {
2602 		if (yych <= 'd') {
2603 			if (yych <= 'Z') goto yy182;
2604 			if (yych <= '`') goto yy3;
2605 			goto yy182;
2606 		} else {
2607 			if (yych <= 'e') goto yy217;
2608 			if (yych <= 'z') goto yy182;
2609 			goto yy3;
2610 		}
2611 	}
2612 yy44:
2613 	YYDEBUG(44, *YYCURSOR);
2614 	yych = *++YYCURSOR;
2615 	if (yych <= 'L') {
2616 		if (yych == ')') goto yy181;
2617 		if (yych <= '@') goto yy3;
2618 		goto yy182;
2619 	} else {
2620 		if (yych <= 'Z') {
2621 			if (yych <= 'M') goto yy198;
2622 			goto yy182;
2623 		} else {
2624 			if (yych <= '`') goto yy3;
2625 			if (yych <= 'z') goto yy187;
2626 			goto yy3;
2627 		}
2628 	}
2629 yy45:
2630 	YYDEBUG(45, *YYCURSOR);
2631 	yych = *++YYCURSOR;
2632 	if (yych <= '@') goto yy12;
2633 	if (yych <= 'Z') goto yy197;
2634 	if (yych <= '`') goto yy12;
2635 	if (yych <= 'z') goto yy197;
2636 	goto yy12;
2637 yy46:
2638 	YYDEBUG(46, *YYCURSOR);
2639 	yych = *++YYCURSOR;
2640 	if (yych <= '@') {
2641 		if (yych == ')') goto yy181;
2642 		goto yy3;
2643 	} else {
2644 		if (yych <= 'Z') goto yy182;
2645 		if (yych <= '`') goto yy3;
2646 		if (yych <= 'z') goto yy187;
2647 		goto yy3;
2648 	}
2649 yy47:
2650 	YYDEBUG(47, *YYCURSOR);
2651 	yych = *++YYCURSOR;
2652 	if (yych <= '@') {
2653 		if (yych == ')') goto yy181;
2654 		goto yy3;
2655 	} else {
2656 		if (yych <= 'Z') goto yy182;
2657 		if (yych <= '`') goto yy3;
2658 		if (yych <= 'z') goto yy182;
2659 		goto yy3;
2660 	}
2661 yy48:
2662 	YYDEBUG(48, *YYCURSOR);
2663 	yyaccept = 2;
2664 	yych = *(YYMARKER = ++YYCURSOR);
2665 	if (yybm[0+yych] & 2) {
2666 		goto yy56;
2667 	}
2668 	if (yych <= '/') goto yy49;
2669 	if (yych <= '9') goto yy54;
2670 yy49:
2671 	YYDEBUG(49, *YYCURSOR);
2672 #line 1907 "ext/date/lib/parse_date.re"
2673 	{
2674 		goto std;
2675 	}
2676 #line 2677 "<stdout>"
2677 yy50:
2678 	YYDEBUG(50, *YYCURSOR);
2679 	yych = *++YYCURSOR;
2680 	goto yy49;
2681 yy51:
2682 	YYDEBUG(51, *YYCURSOR);
2683 	++YYCURSOR;
2684 	YYDEBUG(52, *YYCURSOR);
2685 #line 1912 "ext/date/lib/parse_date.re"
2686 	{
2687 		s->pos = cursor; s->line++;
2688 		goto std;
2689 	}
2690 #line 2691 "<stdout>"
2691 yy53:
2692 	YYDEBUG(53, *YYCURSOR);
2693 	yych = *++YYCURSOR;
2694 	goto yy12;
2695 yy54:
2696 	YYDEBUG(54, *YYCURSOR);
2697 	yych = *++YYCURSOR;
2698 	if (yych <= '/') goto yy59;
2699 	if (yych <= '9') goto yy70;
2700 	goto yy59;
2701 yy55:
2702 	YYDEBUG(55, *YYCURSOR);
2703 	YYCURSOR = YYMARKER;
2704 	if (yyaccept <= 16) {
2705 		if (yyaccept <= 8) {
2706 			if (yyaccept <= 4) {
2707 				if (yyaccept <= 2) {
2708 					if (yyaccept <= 1) {
2709 						if (yyaccept == 0) {
2710 							goto yy12;
2711 						} else {
2712 							goto yy3;
2713 						}
2714 					} else {
2715 						goto yy49;
2716 					}
2717 				} else {
2718 					if (yyaccept == 3) {
2719 						goto yy84;
2720 					} else {
2721 						goto yy219;
2722 					}
2723 				}
2724 			} else {
2725 				if (yyaccept <= 6) {
2726 					if (yyaccept == 5) {
2727 						goto yy248;
2728 					} else {
2729 						goto yy262;
2730 					}
2731 				} else {
2732 					if (yyaccept == 7) {
2733 						goto yy276;
2734 					} else {
2735 						goto yy398;
2736 					}
2737 				}
2738 			}
2739 		} else {
2740 			if (yyaccept <= 12) {
2741 				if (yyaccept <= 10) {
2742 					if (yyaccept == 9) {
2743 						goto yy509;
2744 					} else {
2745 						goto yy524;
2746 					}
2747 				} else {
2748 					if (yyaccept == 11) {
2749 						goto yy645;
2750 					} else {
2751 						goto yy690;
2752 					}
2753 				}
2754 			} else {
2755 				if (yyaccept <= 14) {
2756 					if (yyaccept == 13) {
2757 						goto yy700;
2758 					} else {
2759 						goto yy734;
2760 					}
2761 				} else {
2762 					if (yyaccept == 15) {
2763 						goto yy808;
2764 					} else {
2765 						goto yy828;
2766 					}
2767 				}
2768 			}
2769 		}
2770 	} else {
2771 		if (yyaccept <= 25) {
2772 			if (yyaccept <= 21) {
2773 				if (yyaccept <= 19) {
2774 					if (yyaccept <= 18) {
2775 						if (yyaccept == 17) {
2776 							goto yy859;
2777 						} else {
2778 							goto yy866;
2779 						}
2780 					} else {
2781 						goto yy893;
2782 					}
2783 				} else {
2784 					if (yyaccept == 20) {
2785 						goto yy838;
2786 					} else {
2787 						goto yy461;
2788 					}
2789 				}
2790 			} else {
2791 				if (yyaccept <= 23) {
2792 					if (yyaccept == 22) {
2793 						goto yy1018;
2794 					} else {
2795 						goto yy887;
2796 					}
2797 				} else {
2798 					if (yyaccept == 24) {
2799 						goto yy1127;
2800 					} else {
2801 						goto yy1135;
2802 					}
2803 				}
2804 			}
2805 		} else {
2806 			if (yyaccept <= 29) {
2807 				if (yyaccept <= 27) {
2808 					if (yyaccept == 26) {
2809 						goto yy1179;
2810 					} else {
2811 						goto yy1206;
2812 					}
2813 				} else {
2814 					if (yyaccept == 28) {
2815 						goto yy1388;
2816 					} else {
2817 						goto yy1524;
2818 					}
2819 				}
2820 			} else {
2821 				if (yyaccept <= 31) {
2822 					if (yyaccept == 30) {
2823 						goto yy1527;
2824 					} else {
2825 						goto yy1612;
2826 					}
2827 				} else {
2828 					if (yyaccept == 32) {
2829 						goto yy1620;
2830 					} else {
2831 						goto yy1643;
2832 					}
2833 				}
2834 			}
2835 		}
2836 	}
2837 yy56:
2838 	YYDEBUG(56, *YYCURSOR);
2839 	++YYCURSOR;
2840 	if ((YYLIMIT - YYCURSOR) < 24) YYFILL(24);
2841 	yych = *YYCURSOR;
2842 	YYDEBUG(57, *YYCURSOR);
2843 	if (yybm[0+yych] & 2) {
2844 		goto yy56;
2845 	}
2846 	if (yych <= '/') goto yy55;
2847 	if (yych <= '9') goto yy54;
2848 	goto yy55;
2849 yy58:
2850 	YYDEBUG(58, *YYCURSOR);
2851 	++YYCURSOR;
2852 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
2853 	yych = *YYCURSOR;
2854 yy59:
2855 	YYDEBUG(59, *YYCURSOR);
2856 	if (yych <= 'X') {
2857 		if (yych <= 'G') {
2858 			if (yych <= ' ') {
2859 				if (yych == '\t') goto yy58;
2860 				if (yych <= 0x1F) goto yy55;
2861 				goto yy58;
2862 			} else {
2863 				if (yych <= 'D') {
2864 					if (yych <= 'C') goto yy55;
2865 					goto yy65;
2866 				} else {
2867 					if (yych == 'F') goto yy66;
2868 					goto yy55;
2869 				}
2870 			}
2871 		} else {
2872 			if (yych <= 'S') {
2873 				if (yych <= 'L') {
2874 					if (yych <= 'H') goto yy64;
2875 					goto yy55;
2876 				} else {
2877 					if (yych <= 'M') goto yy60;
2878 					if (yych <= 'R') goto yy55;
2879 					goto yy63;
2880 				}
2881 			} else {
2882 				if (yych <= 'U') {
2883 					if (yych <= 'T') goto yy69;
2884 					goto yy62;
2885 				} else {
2886 					if (yych == 'W') goto yy68;
2887 					goto yy55;
2888 				}
2889 			}
2890 		}
2891 	} else {
2892 		if (yych <= 'r') {
2893 			if (yych <= 'f') {
2894 				if (yych <= 'c') {
2895 					if (yych <= 'Y') goto yy67;
2896 					goto yy55;
2897 				} else {
2898 					if (yych <= 'd') goto yy65;
2899 					if (yych <= 'e') goto yy55;
2900 					goto yy66;
2901 				}
2902 			} else {
2903 				if (yych <= 'h') {
2904 					if (yych <= 'g') goto yy55;
2905 					goto yy64;
2906 				} else {
2907 					if (yych != 'm') goto yy55;
2908 				}
2909 			}
2910 		} else {
2911 			if (yych <= 'w') {
2912 				if (yych <= 't') {
2913 					if (yych <= 's') goto yy63;
2914 					goto yy69;
2915 				} else {
2916 					if (yych <= 'u') goto yy62;
2917 					if (yych <= 'v') goto yy55;
2918 					goto yy68;
2919 				}
2920 			} else {
2921 				if (yych <= 'y') {
2922 					if (yych <= 'x') goto yy55;
2923 					goto yy67;
2924 				} else {
2925 					if (yych == 0xC2) goto yy61;
2926 					goto yy55;
2927 				}
2928 			}
2929 		}
2930 	}
2931 yy60:
2932 	YYDEBUG(60, *YYCURSOR);
2933 	yych = *++YYCURSOR;
2934 	if (yych <= 'S') {
2935 		if (yych <= 'N') {
2936 			if (yych == 'I') goto yy154;
2937 			goto yy55;
2938 		} else {
2939 			if (yych <= 'O') goto yy153;
2940 			if (yych <= 'R') goto yy55;
2941 			goto yy155;
2942 		}
2943 	} else {
2944 		if (yych <= 'n') {
2945 			if (yych == 'i') goto yy154;
2946 			goto yy55;
2947 		} else {
2948 			if (yych <= 'o') goto yy153;
2949 			if (yych == 's') goto yy155;
2950 			goto yy55;
2951 		}
2952 	}
2953 yy61:
2954 	YYDEBUG(61, *YYCURSOR);
2955 	yych = *++YYCURSOR;
2956 	if (yych == 0xB5) goto yy150;
2957 	goto yy55;
2958 yy62:
2959 	YYDEBUG(62, *YYCURSOR);
2960 	yych = *++YYCURSOR;
2961 	if (yych == 'S') goto yy148;
2962 	if (yych == 's') goto yy148;
2963 	goto yy55;
2964 yy63:
2965 	YYDEBUG(63, *YYCURSOR);
2966 	yych = *++YYCURSOR;
2967 	if (yych <= 'U') {
2968 		if (yych <= 'D') {
2969 			if (yych == 'A') goto yy133;
2970 			goto yy55;
2971 		} else {
2972 			if (yych <= 'E') goto yy134;
2973 			if (yych <= 'T') goto yy55;
2974 			goto yy132;
2975 		}
2976 	} else {
2977 		if (yych <= 'd') {
2978 			if (yych == 'a') goto yy133;
2979 			goto yy55;
2980 		} else {
2981 			if (yych <= 'e') goto yy134;
2982 			if (yych == 'u') goto yy132;
2983 			goto yy55;
2984 		}
2985 	}
2986 yy64:
2987 	YYDEBUG(64, *YYCURSOR);
2988 	yych = *++YYCURSOR;
2989 	if (yych == 'O') goto yy130;
2990 	if (yych == 'o') goto yy130;
2991 	goto yy55;
2992 yy65:
2993 	YYDEBUG(65, *YYCURSOR);
2994 	yych = *++YYCURSOR;
2995 	if (yych == 'A') goto yy129;
2996 	if (yych == 'a') goto yy129;
2997 	goto yy55;
2998 yy66:
2999 	YYDEBUG(66, *YYCURSOR);
3000 	yych = *++YYCURSOR;
3001 	if (yych <= 'R') {
3002 		if (yych == 'O') goto yy113;
3003 		if (yych <= 'Q') goto yy55;
3004 		goto yy112;
3005 	} else {
3006 		if (yych <= 'o') {
3007 			if (yych <= 'n') goto yy55;
3008 			goto yy113;
3009 		} else {
3010 			if (yych == 'r') goto yy112;
3011 			goto yy55;
3012 		}
3013 	}
3014 yy67:
3015 	YYDEBUG(67, *YYCURSOR);
3016 	yych = *++YYCURSOR;
3017 	if (yych == 'E') goto yy109;
3018 	if (yych == 'e') goto yy109;
3019 	goto yy55;
3020 yy68:
3021 	YYDEBUG(68, *YYCURSOR);
3022 	yych = *++YYCURSOR;
3023 	if (yych == 'E') goto yy96;
3024 	if (yych == 'e') goto yy96;
3025 	goto yy55;
3026 yy69:
3027 	YYDEBUG(69, *YYCURSOR);
3028 	yych = *++YYCURSOR;
3029 	if (yych <= 'U') {
3030 		if (yych == 'H') goto yy81;
3031 		if (yych <= 'T') goto yy55;
3032 		goto yy82;
3033 	} else {
3034 		if (yych <= 'h') {
3035 			if (yych <= 'g') goto yy55;
3036 			goto yy81;
3037 		} else {
3038 			if (yych == 'u') goto yy82;
3039 			goto yy55;
3040 		}
3041 	}
3042 yy70:
3043 	YYDEBUG(70, *YYCURSOR);
3044 	yych = *++YYCURSOR;
3045 	if (yych <= '/') goto yy59;
3046 	if (yych >= ':') goto yy59;
3047 	YYDEBUG(71, *YYCURSOR);
3048 	yych = *++YYCURSOR;
3049 	if (yych <= '/') goto yy59;
3050 	if (yych >= ':') goto yy59;
3051 	YYDEBUG(72, *YYCURSOR);
3052 	yych = *++YYCURSOR;
3053 	if (yych <= '/') goto yy59;
3054 	if (yych >= ':') goto yy59;
3055 yy73:
3056 	YYDEBUG(73, *YYCURSOR);
3057 	yych = *++YYCURSOR;
3058 	if (yych <= '/') goto yy59;
3059 	if (yych >= ':') goto yy59;
3060 yy74:
3061 	YYDEBUG(74, *YYCURSOR);
3062 	yych = *++YYCURSOR;
3063 	if (yych <= '/') goto yy59;
3064 	if (yych >= ':') goto yy59;
3065 yy75:
3066 	YYDEBUG(75, *YYCURSOR);
3067 	yych = *++YYCURSOR;
3068 	if (yych <= '/') goto yy59;
3069 	if (yych >= ':') goto yy59;
3070 yy76:
3071 	YYDEBUG(76, *YYCURSOR);
3072 	yych = *++YYCURSOR;
3073 	if (yych <= '/') goto yy59;
3074 	if (yych >= ':') goto yy59;
3075 yy77:
3076 	YYDEBUG(77, *YYCURSOR);
3077 	yych = *++YYCURSOR;
3078 	if (yych <= '/') goto yy59;
3079 	if (yych >= ':') goto yy59;
3080 	YYDEBUG(78, *YYCURSOR);
3081 	yych = *++YYCURSOR;
3082 	if (yych <= '/') goto yy59;
3083 	if (yych >= ':') goto yy59;
3084 	YYDEBUG(79, *YYCURSOR);
3085 	yych = *++YYCURSOR;
3086 	if (yych <= '/') goto yy59;
3087 	if (yych >= ':') goto yy59;
3088 	YYDEBUG(80, *YYCURSOR);
3089 	yych = *++YYCURSOR;
3090 	if (yych <= '/') goto yy59;
3091 	if (yych <= '9') goto yy58;
3092 	goto yy59;
3093 yy81:
3094 	YYDEBUG(81, *YYCURSOR);
3095 	yych = *++YYCURSOR;
3096 	if (yych == 'U') goto yy90;
3097 	if (yych == 'u') goto yy90;
3098 	goto yy55;
3099 yy82:
3100 	YYDEBUG(82, *YYCURSOR);
3101 	yych = *++YYCURSOR;
3102 	if (yych == 'E') goto yy83;
3103 	if (yych != 'e') goto yy55;
3104 yy83:
3105 	YYDEBUG(83, *YYCURSOR);
3106 	yyaccept = 3;
3107 	yych = *(YYMARKER = ++YYCURSOR);
3108 	if (yych == 'S') goto yy85;
3109 	if (yych == 's') goto yy85;
3110 yy84:
3111 	YYDEBUG(84, *YYCURSOR);
3112 #line 1891 "ext/date/lib/parse_date.re"
3113 	{
3114 		timelib_ull i;
3115 		DEBUG_OUTPUT("relative");
3116 		TIMELIB_INIT;
3117 		TIMELIB_HAVE_RELATIVE();
3118 
3119 		while(*ptr) {
3120 			i = timelib_get_signed_nr(s, &ptr, 24);
3121 			timelib_eat_spaces(&ptr);
3122 			timelib_set_relative(&ptr, i, 1, s, TIMELIB_TIME_PART_KEEP);
3123 		}
3124 		TIMELIB_DEINIT;
3125 		return TIMELIB_RELATIVE;
3126 	}
3127 #line 3128 "<stdout>"
3128 yy85:
3129 	YYDEBUG(85, *YYCURSOR);
3130 	yych = *++YYCURSOR;
3131 	if (yych == 'D') goto yy86;
3132 	if (yych != 'd') goto yy55;
3133 yy86:
3134 	YYDEBUG(86, *YYCURSOR);
3135 	yych = *++YYCURSOR;
3136 	if (yych == 'A') goto yy87;
3137 	if (yych != 'a') goto yy55;
3138 yy87:
3139 	YYDEBUG(87, *YYCURSOR);
3140 	yych = *++YYCURSOR;
3141 	if (yych == 'Y') goto yy88;
3142 	if (yych != 'y') goto yy55;
3143 yy88:
3144 	YYDEBUG(88, *YYCURSOR);
3145 	yych = *++YYCURSOR;
3146 	if (yych == 'S') goto yy89;
3147 	if (yych != 's') goto yy84;
3148 yy89:
3149 	YYDEBUG(89, *YYCURSOR);
3150 	yych = *++YYCURSOR;
3151 	goto yy84;
3152 yy90:
3153 	YYDEBUG(90, *YYCURSOR);
3154 	yyaccept = 3;
3155 	yych = *(YYMARKER = ++YYCURSOR);
3156 	if (yych == 'R') goto yy91;
3157 	if (yych != 'r') goto yy84;
3158 yy91:
3159 	YYDEBUG(91, *YYCURSOR);
3160 	yych = *++YYCURSOR;
3161 	if (yych == 'S') goto yy92;
3162 	if (yych != 's') goto yy55;
3163 yy92:
3164 	YYDEBUG(92, *YYCURSOR);
3165 	yych = *++YYCURSOR;
3166 	if (yych == 'D') goto yy93;
3167 	if (yych != 'd') goto yy55;
3168 yy93:
3169 	YYDEBUG(93, *YYCURSOR);
3170 	yych = *++YYCURSOR;
3171 	if (yych == 'A') goto yy94;
3172 	if (yych != 'a') goto yy55;
3173 yy94:
3174 	YYDEBUG(94, *YYCURSOR);
3175 	yych = *++YYCURSOR;
3176 	if (yych == 'Y') goto yy95;
3177 	if (yych != 'y') goto yy55;
3178 yy95:
3179 	YYDEBUG(95, *YYCURSOR);
3180 	yych = *++YYCURSOR;
3181 	if (yych == 'S') goto yy89;
3182 	if (yych == 's') goto yy89;
3183 	goto yy84;
3184 yy96:
3185 	YYDEBUG(96, *YYCURSOR);
3186 	yych = *++YYCURSOR;
3187 	if (yych <= 'E') {
3188 		if (yych <= 'C') goto yy55;
3189 		if (yych <= 'D') goto yy98;
3190 	} else {
3191 		if (yych <= 'c') goto yy55;
3192 		if (yych <= 'd') goto yy98;
3193 		if (yych >= 'f') goto yy55;
3194 	}
3195 	YYDEBUG(97, *YYCURSOR);
3196 	yych = *++YYCURSOR;
3197 	if (yych == 'K') goto yy105;
3198 	if (yych == 'k') goto yy105;
3199 	goto yy55;
3200 yy98:
3201 	YYDEBUG(98, *YYCURSOR);
3202 	yyaccept = 3;
3203 	yych = *(YYMARKER = ++YYCURSOR);
3204 	if (yych == 'N') goto yy99;
3205 	if (yych != 'n') goto yy84;
3206 yy99:
3207 	YYDEBUG(99, *YYCURSOR);
3208 	yych = *++YYCURSOR;
3209 	if (yych == 'E') goto yy100;
3210 	if (yych != 'e') goto yy55;
3211 yy100:
3212 	YYDEBUG(100, *YYCURSOR);
3213 	yych = *++YYCURSOR;
3214 	if (yych == 'S') goto yy101;
3215 	if (yych != 's') goto yy55;
3216 yy101:
3217 	YYDEBUG(101, *YYCURSOR);
3218 	yych = *++YYCURSOR;
3219 	if (yych == 'D') goto yy102;
3220 	if (yych != 'd') goto yy55;
3221 yy102:
3222 	YYDEBUG(102, *YYCURSOR);
3223 	yych = *++YYCURSOR;
3224 	if (yych == 'A') goto yy103;
3225 	if (yych != 'a') goto yy55;
3226 yy103:
3227 	YYDEBUG(103, *YYCURSOR);
3228 	yych = *++YYCURSOR;
3229 	if (yych == 'Y') goto yy104;
3230 	if (yych != 'y') goto yy55;
3231 yy104:
3232 	YYDEBUG(104, *YYCURSOR);
3233 	yych = *++YYCURSOR;
3234 	if (yych == 'S') goto yy89;
3235 	if (yych == 's') goto yy89;
3236 	goto yy84;
3237 yy105:
3238 	YYDEBUG(105, *YYCURSOR);
3239 	yyaccept = 3;
3240 	yych = *(YYMARKER = ++YYCURSOR);
3241 	if (yych <= 'S') {
3242 		if (yych == 'D') goto yy106;
3243 		if (yych <= 'R') goto yy84;
3244 		goto yy89;
3245 	} else {
3246 		if (yych <= 'd') {
3247 			if (yych <= 'c') goto yy84;
3248 		} else {
3249 			if (yych == 's') goto yy89;
3250 			goto yy84;
3251 		}
3252 	}
3253 yy106:
3254 	YYDEBUG(106, *YYCURSOR);
3255 	yych = *++YYCURSOR;
3256 	if (yych == 'A') goto yy107;
3257 	if (yych != 'a') goto yy55;
3258 yy107:
3259 	YYDEBUG(107, *YYCURSOR);
3260 	yych = *++YYCURSOR;
3261 	if (yych == 'Y') goto yy108;
3262 	if (yych != 'y') goto yy55;
3263 yy108:
3264 	YYDEBUG(108, *YYCURSOR);
3265 	yych = *++YYCURSOR;
3266 	if (yych == 'S') goto yy89;
3267 	if (yych == 's') goto yy89;
3268 	goto yy84;
3269 yy109:
3270 	YYDEBUG(109, *YYCURSOR);
3271 	yych = *++YYCURSOR;
3272 	if (yych == 'A') goto yy110;
3273 	if (yych != 'a') goto yy55;
3274 yy110:
3275 	YYDEBUG(110, *YYCURSOR);
3276 	yych = *++YYCURSOR;
3277 	if (yych == 'R') goto yy111;
3278 	if (yych != 'r') goto yy55;
3279 yy111:
3280 	YYDEBUG(111, *YYCURSOR);
3281 	yych = *++YYCURSOR;
3282 	if (yych == 'S') goto yy89;
3283 	if (yych == 's') goto yy89;
3284 	goto yy84;
3285 yy112:
3286 	YYDEBUG(112, *YYCURSOR);
3287 	yych = *++YYCURSOR;
3288 	if (yych == 'I') goto yy125;
3289 	if (yych == 'i') goto yy125;
3290 	goto yy55;
3291 yy113:
3292 	YYDEBUG(113, *YYCURSOR);
3293 	yych = *++YYCURSOR;
3294 	if (yych == 'R') goto yy114;
3295 	if (yych != 'r') goto yy55;
3296 yy114:
3297 	YYDEBUG(114, *YYCURSOR);
3298 	yych = *++YYCURSOR;
3299 	if (yych == 'T') goto yy115;
3300 	if (yych != 't') goto yy55;
3301 yy115:
3302 	YYDEBUG(115, *YYCURSOR);
3303 	yych = *++YYCURSOR;
3304 	if (yych <= 'N') {
3305 		if (yych == 'H') goto yy117;
3306 		if (yych <= 'M') goto yy55;
3307 	} else {
3308 		if (yych <= 'h') {
3309 			if (yych <= 'g') goto yy55;
3310 			goto yy117;
3311 		} else {
3312 			if (yych != 'n') goto yy55;
3313 		}
3314 	}
3315 	YYDEBUG(116, *YYCURSOR);
3316 	yych = *++YYCURSOR;
3317 	if (yych == 'I') goto yy122;
3318 	if (yych == 'i') goto yy122;
3319 	goto yy55;
3320 yy117:
3321 	YYDEBUG(117, *YYCURSOR);
3322 	yych = *++YYCURSOR;
3323 	if (yych == 'N') goto yy118;
3324 	if (yych != 'n') goto yy55;
3325 yy118:
3326 	YYDEBUG(118, *YYCURSOR);
3327 	yych = *++YYCURSOR;
3328 	if (yych == 'I') goto yy119;
3329 	if (yych != 'i') goto yy55;
3330 yy119:
3331 	YYDEBUG(119, *YYCURSOR);
3332 	yych = *++YYCURSOR;
3333 	if (yych == 'G') goto yy120;
3334 	if (yych != 'g') goto yy55;
3335 yy120:
3336 	YYDEBUG(120, *YYCURSOR);
3337 	yych = *++YYCURSOR;
3338 	if (yych == 'H') goto yy121;
3339 	if (yych != 'h') goto yy55;
3340 yy121:
3341 	YYDEBUG(121, *YYCURSOR);
3342 	yych = *++YYCURSOR;
3343 	if (yych == 'T') goto yy111;
3344 	if (yych == 't') goto yy111;
3345 	goto yy55;
3346 yy122:
3347 	YYDEBUG(122, *YYCURSOR);
3348 	yych = *++YYCURSOR;
3349 	if (yych == 'G') goto yy123;
3350 	if (yych != 'g') goto yy55;
3351 yy123:
3352 	YYDEBUG(123, *YYCURSOR);
3353 	yych = *++YYCURSOR;
3354 	if (yych == 'H') goto yy124;
3355 	if (yych != 'h') goto yy55;
3356 yy124:
3357 	YYDEBUG(124, *YYCURSOR);
3358 	yych = *++YYCURSOR;
3359 	if (yych == 'T') goto yy111;
3360 	if (yych == 't') goto yy111;
3361 	goto yy55;
3362 yy125:
3363 	YYDEBUG(125, *YYCURSOR);
3364 	yyaccept = 3;
3365 	yych = *(YYMARKER = ++YYCURSOR);
3366 	if (yych == 'D') goto yy126;
3367 	if (yych != 'd') goto yy84;
3368 yy126:
3369 	YYDEBUG(126, *YYCURSOR);
3370 	yych = *++YYCURSOR;
3371 	if (yych == 'A') goto yy127;
3372 	if (yych != 'a') goto yy55;
3373 yy127:
3374 	YYDEBUG(127, *YYCURSOR);
3375 	yych = *++YYCURSOR;
3376 	if (yych == 'Y') goto yy128;
3377 	if (yych != 'y') goto yy55;
3378 yy128:
3379 	YYDEBUG(128, *YYCURSOR);
3380 	yych = *++YYCURSOR;
3381 	if (yych == 'S') goto yy89;
3382 	if (yych == 's') goto yy89;
3383 	goto yy84;
3384 yy129:
3385 	YYDEBUG(129, *YYCURSOR);
3386 	yych = *++YYCURSOR;
3387 	if (yych == 'Y') goto yy111;
3388 	if (yych == 'y') goto yy111;
3389 	goto yy55;
3390 yy130:
3391 	YYDEBUG(130, *YYCURSOR);
3392 	yych = *++YYCURSOR;
3393 	if (yych == 'U') goto yy131;
3394 	if (yych != 'u') goto yy55;
3395 yy131:
3396 	YYDEBUG(131, *YYCURSOR);
3397 	yych = *++YYCURSOR;
3398 	if (yych == 'R') goto yy111;
3399 	if (yych == 'r') goto yy111;
3400 	goto yy55;
3401 yy132:
3402 	YYDEBUG(132, *YYCURSOR);
3403 	yych = *++YYCURSOR;
3404 	if (yych == 'N') goto yy144;
3405 	if (yych == 'n') goto yy144;
3406 	goto yy55;
3407 yy133:
3408 	YYDEBUG(133, *YYCURSOR);
3409 	yych = *++YYCURSOR;
3410 	if (yych == 'T') goto yy138;
3411 	if (yych == 't') goto yy138;
3412 	goto yy55;
3413 yy134:
3414 	YYDEBUG(134, *YYCURSOR);
3415 	yych = *++YYCURSOR;
3416 	if (yych == 'C') goto yy135;
3417 	if (yych != 'c') goto yy55;
3418 yy135:
3419 	YYDEBUG(135, *YYCURSOR);
3420 	yyaccept = 3;
3421 	yych = *(YYMARKER = ++YYCURSOR);
3422 	if (yych <= 'S') {
3423 		if (yych == 'O') goto yy136;
3424 		if (yych <= 'R') goto yy84;
3425 		goto yy89;
3426 	} else {
3427 		if (yych <= 'o') {
3428 			if (yych <= 'n') goto yy84;
3429 		} else {
3430 			if (yych == 's') goto yy89;
3431 			goto yy84;
3432 		}
3433 	}
3434 yy136:
3435 	YYDEBUG(136, *YYCURSOR);
3436 	yych = *++YYCURSOR;
3437 	if (yych == 'N') goto yy137;
3438 	if (yych != 'n') goto yy55;
3439 yy137:
3440 	YYDEBUG(137, *YYCURSOR);
3441 	yych = *++YYCURSOR;
3442 	if (yych == 'D') goto yy111;
3443 	if (yych == 'd') goto yy111;
3444 	goto yy55;
3445 yy138:
3446 	YYDEBUG(138, *YYCURSOR);
3447 	yyaccept = 3;
3448 	yych = *(YYMARKER = ++YYCURSOR);
3449 	if (yych == 'U') goto yy139;
3450 	if (yych != 'u') goto yy84;
3451 yy139:
3452 	YYDEBUG(139, *YYCURSOR);
3453 	yych = *++YYCURSOR;
3454 	if (yych == 'R') goto yy140;
3455 	if (yych != 'r') goto yy55;
3456 yy140:
3457 	YYDEBUG(140, *YYCURSOR);
3458 	yych = *++YYCURSOR;
3459 	if (yych == 'D') goto yy141;
3460 	if (yych != 'd') goto yy55;
3461 yy141:
3462 	YYDEBUG(141, *YYCURSOR);
3463 	yych = *++YYCURSOR;
3464 	if (yych == 'A') goto yy142;
3465 	if (yych != 'a') goto yy55;
3466 yy142:
3467 	YYDEBUG(142, *YYCURSOR);
3468 	yych = *++YYCURSOR;
3469 	if (yych == 'Y') goto yy143;
3470 	if (yych != 'y') goto yy55;
3471 yy143:
3472 	YYDEBUG(143, *YYCURSOR);
3473 	yych = *++YYCURSOR;
3474 	if (yych == 'S') goto yy89;
3475 	if (yych == 's') goto yy89;
3476 	goto yy84;
3477 yy144:
3478 	YYDEBUG(144, *YYCURSOR);
3479 	yyaccept = 3;
3480 	yych = *(YYMARKER = ++YYCURSOR);
3481 	if (yych == 'D') goto yy145;
3482 	if (yych != 'd') goto yy84;
3483 yy145:
3484 	YYDEBUG(145, *YYCURSOR);
3485 	yych = *++YYCURSOR;
3486 	if (yych == 'A') goto yy146;
3487 	if (yych != 'a') goto yy55;
3488 yy146:
3489 	YYDEBUG(146, *YYCURSOR);
3490 	yych = *++YYCURSOR;
3491 	if (yych == 'Y') goto yy147;
3492 	if (yych != 'y') goto yy55;
3493 yy147:
3494 	YYDEBUG(147, *YYCURSOR);
3495 	yych = *++YYCURSOR;
3496 	if (yych == 'S') goto yy89;
3497 	if (yych == 's') goto yy89;
3498 	goto yy84;
3499 yy148:
3500 	YYDEBUG(148, *YYCURSOR);
3501 	yych = *++YYCURSOR;
3502 	if (yych == 'E') goto yy149;
3503 	if (yych != 'e') goto yy55;
3504 yy149:
3505 	YYDEBUG(149, *YYCURSOR);
3506 	yych = *++YYCURSOR;
3507 	if (yych == 'C') goto yy111;
3508 	if (yych == 'c') goto yy111;
3509 	goto yy55;
3510 yy150:
3511 	YYDEBUG(150, *YYCURSOR);
3512 	yych = *++YYCURSOR;
3513 	if (yych == 'S') goto yy151;
3514 	if (yych != 's') goto yy55;
3515 yy151:
3516 	YYDEBUG(151, *YYCURSOR);
3517 	yyaccept = 3;
3518 	yych = *(YYMARKER = ++YYCURSOR);
3519 	if (yych == 'E') goto yy152;
3520 	if (yych != 'e') goto yy84;
3521 yy152:
3522 	YYDEBUG(152, *YYCURSOR);
3523 	yych = *++YYCURSOR;
3524 	if (yych == 'C') goto yy111;
3525 	if (yych == 'c') goto yy111;
3526 	goto yy55;
3527 yy153:
3528 	YYDEBUG(153, *YYCURSOR);
3529 	yych = *++YYCURSOR;
3530 	if (yych == 'N') goto yy176;
3531 	if (yych == 'n') goto yy176;
3532 	goto yy55;
3533 yy154:
3534 	YYDEBUG(154, *YYCURSOR);
3535 	yych = *++YYCURSOR;
3536 	if (yych <= 'N') {
3537 		if (yych <= 'K') {
3538 			if (yych == 'C') goto yy158;
3539 			goto yy55;
3540 		} else {
3541 			if (yych <= 'L') goto yy157;
3542 			if (yych <= 'M') goto yy55;
3543 			goto yy159;
3544 		}
3545 	} else {
3546 		if (yych <= 'k') {
3547 			if (yych == 'c') goto yy158;
3548 			goto yy55;
3549 		} else {
3550 			if (yych <= 'l') goto yy157;
3551 			if (yych == 'n') goto yy159;
3552 			goto yy55;
3553 		}
3554 	}
3555 yy155:
3556 	YYDEBUG(155, *YYCURSOR);
3557 	yyaccept = 3;
3558 	yych = *(YYMARKER = ++YYCURSOR);
3559 	if (yych == 'E') goto yy156;
3560 	if (yych != 'e') goto yy84;
3561 yy156:
3562 	YYDEBUG(156, *YYCURSOR);
3563 	yych = *++YYCURSOR;
3564 	if (yych == 'C') goto yy111;
3565 	if (yych == 'c') goto yy111;
3566 	goto yy55;
3567 yy157:
3568 	YYDEBUG(157, *YYCURSOR);
3569 	yych = *++YYCURSOR;
3570 	if (yych == 'L') goto yy169;
3571 	if (yych == 'l') goto yy169;
3572 	goto yy55;
3573 yy158:
3574 	YYDEBUG(158, *YYCURSOR);
3575 	yych = *++YYCURSOR;
3576 	if (yych == 'R') goto yy162;
3577 	if (yych == 'r') goto yy162;
3578 	goto yy55;
3579 yy159:
3580 	YYDEBUG(159, *YYCURSOR);
3581 	yyaccept = 3;
3582 	yych = *(YYMARKER = ++YYCURSOR);
3583 	if (yych <= 'U') {
3584 		if (yych == 'S') goto yy89;
3585 		if (yych <= 'T') goto yy84;
3586 	} else {
3587 		if (yych <= 's') {
3588 			if (yych <= 'r') goto yy84;
3589 			goto yy89;
3590 		} else {
3591 			if (yych != 'u') goto yy84;
3592 		}
3593 	}
3594 	YYDEBUG(160, *YYCURSOR);
3595 	yych = *++YYCURSOR;
3596 	if (yych == 'T') goto yy161;
3597 	if (yych != 't') goto yy55;
3598 yy161:
3599 	YYDEBUG(161, *YYCURSOR);
3600 	yych = *++YYCURSOR;
3601 	if (yych == 'E') goto yy111;
3602 	if (yych == 'e') goto yy111;
3603 	goto yy55;
3604 yy162:
3605 	YYDEBUG(162, *YYCURSOR);
3606 	yych = *++YYCURSOR;
3607 	if (yych == 'O') goto yy163;
3608 	if (yych != 'o') goto yy55;
3609 yy163:
3610 	YYDEBUG(163, *YYCURSOR);
3611 	yych = *++YYCURSOR;
3612 	if (yych == 'S') goto yy164;
3613 	if (yych != 's') goto yy55;
3614 yy164:
3615 	YYDEBUG(164, *YYCURSOR);
3616 	yych = *++YYCURSOR;
3617 	if (yych == 'E') goto yy165;
3618 	if (yych != 'e') goto yy55;
3619 yy165:
3620 	YYDEBUG(165, *YYCURSOR);
3621 	yych = *++YYCURSOR;
3622 	if (yych == 'C') goto yy166;
3623 	if (yych != 'c') goto yy55;
3624 yy166:
3625 	YYDEBUG(166, *YYCURSOR);
3626 	yych = *++YYCURSOR;
3627 	if (yych == 'O') goto yy167;
3628 	if (yych != 'o') goto yy55;
3629 yy167:
3630 	YYDEBUG(167, *YYCURSOR);
3631 	yych = *++YYCURSOR;
3632 	if (yych == 'N') goto yy168;
3633 	if (yych != 'n') goto yy55;
3634 yy168:
3635 	YYDEBUG(168, *YYCURSOR);
3636 	yych = *++YYCURSOR;
3637 	if (yych == 'D') goto yy111;
3638 	if (yych == 'd') goto yy111;
3639 	goto yy55;
3640 yy169:
3641 	YYDEBUG(169, *YYCURSOR);
3642 	yych = *++YYCURSOR;
3643 	if (yych == 'I') goto yy170;
3644 	if (yych != 'i') goto yy55;
3645 yy170:
3646 	YYDEBUG(170, *YYCURSOR);
3647 	yych = *++YYCURSOR;
3648 	if (yych == 'S') goto yy171;
3649 	if (yych != 's') goto yy55;
3650 yy171:
3651 	YYDEBUG(171, *YYCURSOR);
3652 	yych = *++YYCURSOR;
3653 	if (yych == 'E') goto yy172;
3654 	if (yych != 'e') goto yy55;
3655 yy172:
3656 	YYDEBUG(172, *YYCURSOR);
3657 	yych = *++YYCURSOR;
3658 	if (yych == 'C') goto yy173;
3659 	if (yych != 'c') goto yy55;
3660 yy173:
3661 	YYDEBUG(173, *YYCURSOR);
3662 	yych = *++YYCURSOR;
3663 	if (yych == 'O') goto yy174;
3664 	if (yych != 'o') goto yy55;
3665 yy174:
3666 	YYDEBUG(174, *YYCURSOR);
3667 	yych = *++YYCURSOR;
3668 	if (yych == 'N') goto yy175;
3669 	if (yych != 'n') goto yy55;
3670 yy175:
3671 	YYDEBUG(175, *YYCURSOR);
3672 	yych = *++YYCURSOR;
3673 	if (yych == 'D') goto yy111;
3674 	if (yych == 'd') goto yy111;
3675 	goto yy55;
3676 yy176:
3677 	YYDEBUG(176, *YYCURSOR);
3678 	yyaccept = 3;
3679 	yych = *(YYMARKER = ++YYCURSOR);
3680 	if (yych <= 'T') {
3681 		if (yych == 'D') goto yy177;
3682 		if (yych <= 'S') goto yy84;
3683 		goto yy178;
3684 	} else {
3685 		if (yych <= 'd') {
3686 			if (yych <= 'c') goto yy84;
3687 		} else {
3688 			if (yych == 't') goto yy178;
3689 			goto yy84;
3690 		}
3691 	}
3692 yy177:
3693 	YYDEBUG(177, *YYCURSOR);
3694 	yych = *++YYCURSOR;
3695 	if (yych == 'A') goto yy179;
3696 	if (yych == 'a') goto yy179;
3697 	goto yy55;
3698 yy178:
3699 	YYDEBUG(178, *YYCURSOR);
3700 	yych = *++YYCURSOR;
3701 	if (yych == 'H') goto yy111;
3702 	if (yych == 'h') goto yy111;
3703 	goto yy55;
3704 yy179:
3705 	YYDEBUG(179, *YYCURSOR);
3706 	yych = *++YYCURSOR;
3707 	if (yych == 'Y') goto yy180;
3708 	if (yych != 'y') goto yy55;
3709 yy180:
3710 	YYDEBUG(180, *YYCURSOR);
3711 	yych = *++YYCURSOR;
3712 	if (yych == 'S') goto yy89;
3713 	if (yych == 's') goto yy89;
3714 	goto yy84;
3715 yy181:
3716 	YYDEBUG(181, *YYCURSOR);
3717 	yych = *++YYCURSOR;
3718 	goto yy3;
3719 yy182:
3720 	YYDEBUG(182, *YYCURSOR);
3721 	yych = *++YYCURSOR;
3722 	if (yych <= '@') {
3723 		if (yych == ')') goto yy181;
3724 		goto yy3;
3725 	} else {
3726 		if (yych <= 'Z') goto yy183;
3727 		if (yych <= '`') goto yy3;
3728 		if (yych >= '{') goto yy3;
3729 	}
3730 yy183:
3731 	YYDEBUG(183, *YYCURSOR);
3732 	yych = *++YYCURSOR;
3733 	if (yych <= '@') {
3734 		if (yych == ')') goto yy181;
3735 		goto yy3;
3736 	} else {
3737 		if (yych <= 'Z') goto yy184;
3738 		if (yych <= '`') goto yy3;
3739 		if (yych >= '{') goto yy3;
3740 	}
3741 yy184:
3742 	YYDEBUG(184, *YYCURSOR);
3743 	yych = *++YYCURSOR;
3744 	if (yych <= '@') {
3745 		if (yych == ')') goto yy181;
3746 		goto yy3;
3747 	} else {
3748 		if (yych <= 'Z') goto yy185;
3749 		if (yych <= '`') goto yy3;
3750 		if (yych >= '{') goto yy3;
3751 	}
3752 yy185:
3753 	YYDEBUG(185, *YYCURSOR);
3754 	yych = *++YYCURSOR;
3755 	if (yych <= '@') {
3756 		if (yych == ')') goto yy181;
3757 		goto yy3;
3758 	} else {
3759 		if (yych <= 'Z') goto yy186;
3760 		if (yych <= '`') goto yy3;
3761 		if (yych >= '{') goto yy3;
3762 	}
3763 yy186:
3764 	YYDEBUG(186, *YYCURSOR);
3765 	yych = *++YYCURSOR;
3766 	if (yych == ')') goto yy181;
3767 	goto yy3;
3768 yy187:
3769 	YYDEBUG(187, *YYCURSOR);
3770 	yyaccept = 1;
3771 	yych = *(YYMARKER = ++YYCURSOR);
3772 	if (yych <= '/') {
3773 		if (yych <= ',') {
3774 			if (yych == ')') goto yy181;
3775 			goto yy3;
3776 		} else {
3777 			if (yych == '.') goto yy3;
3778 			goto yy189;
3779 		}
3780 	} else {
3781 		if (yych <= '^') {
3782 			if (yych <= '@') goto yy3;
3783 			if (yych <= 'Z') goto yy183;
3784 			goto yy3;
3785 		} else {
3786 			if (yych <= '_') goto yy189;
3787 			if (yych <= '`') goto yy3;
3788 			if (yych >= '{') goto yy3;
3789 		}
3790 	}
3791 yy188:
3792 	YYDEBUG(188, *YYCURSOR);
3793 	yyaccept = 1;
3794 	yych = *(YYMARKER = ++YYCURSOR);
3795 	if (yych <= '/') {
3796 		if (yych <= ',') {
3797 			if (yych == ')') goto yy181;
3798 			goto yy3;
3799 		} else {
3800 			if (yych == '.') goto yy3;
3801 		}
3802 	} else {
3803 		if (yych <= '^') {
3804 			if (yych <= '@') goto yy3;
3805 			if (yych <= 'Z') goto yy184;
3806 			goto yy3;
3807 		} else {
3808 			if (yych <= '_') goto yy189;
3809 			if (yych <= '`') goto yy3;
3810 			if (yych <= 'z') goto yy192;
3811 			goto yy3;
3812 		}
3813 	}
3814 yy189:
3815 	YYDEBUG(189, *YYCURSOR);
3816 	++YYCURSOR;
3817 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
3818 	yych = *YYCURSOR;
3819 	if (yybm[0+yych] & 4) {
3820 		goto yy190;
3821 	}
3822 	goto yy55;
3823 yy190:
3824 	YYDEBUG(190, *YYCURSOR);
3825 	yyaccept = 1;
3826 	YYMARKER = ++YYCURSOR;
3827 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
3828 	yych = *YYCURSOR;
3829 	YYDEBUG(191, *YYCURSOR);
3830 	if (yybm[0+yych] & 4) {
3831 		goto yy190;
3832 	}
3833 	if (yych <= '.') {
3834 		if (yych == '-') goto yy189;
3835 		goto yy3;
3836 	} else {
3837 		if (yych <= '/') goto yy189;
3838 		if (yych == '_') goto yy189;
3839 		goto yy3;
3840 	}
3841 yy192:
3842 	YYDEBUG(192, *YYCURSOR);
3843 	yyaccept = 1;
3844 	yych = *(YYMARKER = ++YYCURSOR);
3845 	if (yych <= '/') {
3846 		if (yych <= ',') {
3847 			if (yych == ')') goto yy181;
3848 			goto yy3;
3849 		} else {
3850 			if (yych == '.') goto yy3;
3851 			goto yy189;
3852 		}
3853 	} else {
3854 		if (yych <= '^') {
3855 			if (yych <= '@') goto yy3;
3856 			if (yych <= 'Z') goto yy185;
3857 			goto yy3;
3858 		} else {
3859 			if (yych <= '_') goto yy189;
3860 			if (yych <= '`') goto yy3;
3861 			if (yych >= '{') goto yy3;
3862 		}
3863 	}
3864 yy193:
3865 	YYDEBUG(193, *YYCURSOR);
3866 	yyaccept = 1;
3867 	yych = *(YYMARKER = ++YYCURSOR);
3868 	if (yych <= '/') {
3869 		if (yych <= ',') {
3870 			if (yych == ')') goto yy181;
3871 			goto yy3;
3872 		} else {
3873 			if (yych == '.') goto yy3;
3874 			goto yy189;
3875 		}
3876 	} else {
3877 		if (yych <= '^') {
3878 			if (yych <= '@') goto yy3;
3879 			if (yych <= 'Z') goto yy186;
3880 			goto yy3;
3881 		} else {
3882 			if (yych <= '_') goto yy189;
3883 			if (yych <= '`') goto yy3;
3884 			if (yych >= '{') goto yy3;
3885 		}
3886 	}
3887 yy194:
3888 	YYDEBUG(194, *YYCURSOR);
3889 	yyaccept = 1;
3890 	yych = *(YYMARKER = ++YYCURSOR);
3891 	if (yybm[0+yych] & 8) {
3892 		goto yy195;
3893 	}
3894 	if (yych <= '-') {
3895 		if (yych == ')') goto yy181;
3896 		if (yych <= ',') goto yy3;
3897 		goto yy189;
3898 	} else {
3899 		if (yych <= '/') {
3900 			if (yych <= '.') goto yy3;
3901 			goto yy189;
3902 		} else {
3903 			if (yych == '_') goto yy189;
3904 			goto yy3;
3905 		}
3906 	}
3907 yy195:
3908 	YYDEBUG(195, *YYCURSOR);
3909 	++YYCURSOR;
3910 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
3911 	yych = *YYCURSOR;
3912 yy196:
3913 	YYDEBUG(196, *YYCURSOR);
3914 	if (yybm[0+yych] & 8) {
3915 		goto yy195;
3916 	}
3917 	if (yych <= '.') {
3918 		if (yych == '-') goto yy189;
3919 		goto yy55;
3920 	} else {
3921 		if (yych <= '/') goto yy189;
3922 		if (yych == '_') goto yy189;
3923 		goto yy55;
3924 	}
3925 yy197:
3926 	YYDEBUG(197, *YYCURSOR);
3927 	yych = *++YYCURSOR;
3928 	if (yych <= '@') {
3929 		if (yych == ')') goto yy181;
3930 		goto yy3;
3931 	} else {
3932 		if (yych <= 'Z') goto yy182;
3933 		if (yych <= '`') goto yy3;
3934 		if (yych <= 'z') goto yy182;
3935 		goto yy3;
3936 	}
3937 yy198:
3938 	YYDEBUG(198, *YYCURSOR);
3939 	yych = *++YYCURSOR;
3940 	if (yych <= 'S') {
3941 		if (yych == ')') goto yy181;
3942 		if (yych <= '@') goto yy3;
3943 		goto yy183;
3944 	} else {
3945 		if (yych <= 'Z') {
3946 			if (yych >= 'U') goto yy183;
3947 		} else {
3948 			if (yych <= '`') goto yy3;
3949 			if (yych <= 'z') goto yy183;
3950 			goto yy3;
3951 		}
3952 	}
3953 	YYDEBUG(199, *YYCURSOR);
3954 	yyaccept = 1;
3955 	yych = *(YYMARKER = ++YYCURSOR);
3956 	if (yych <= ',') {
3957 		if (yych <= ')') {
3958 			if (yych <= '(') goto yy3;
3959 			goto yy181;
3960 		} else {
3961 			if (yych != '+') goto yy3;
3962 		}
3963 	} else {
3964 		if (yych <= 'Z') {
3965 			if (yych <= '-') goto yy200;
3966 			if (yych <= '@') goto yy3;
3967 			goto yy184;
3968 		} else {
3969 			if (yych <= '`') goto yy3;
3970 			if (yych <= 'z') goto yy184;
3971 			goto yy3;
3972 		}
3973 	}
3974 yy200:
3975 	YYDEBUG(200, *YYCURSOR);
3976 	yych = *++YYCURSOR;
3977 	if (yych <= '/') goto yy55;
3978 	if (yych <= '1') goto yy201;
3979 	if (yych <= '2') goto yy202;
3980 	if (yych <= '9') goto yy203;
3981 	goto yy55;
3982 yy201:
3983 	YYDEBUG(201, *YYCURSOR);
3984 	yyaccept = 1;
3985 	yych = *(YYMARKER = ++YYCURSOR);
3986 	if (yych <= '/') goto yy3;
3987 	if (yych <= '9') goto yy206;
3988 	if (yych <= ':') goto yy204;
3989 	goto yy3;
3990 yy202:
3991 	YYDEBUG(202, *YYCURSOR);
3992 	yyaccept = 1;
3993 	yych = *(YYMARKER = ++YYCURSOR);
3994 	if (yych <= '5') {
3995 		if (yych <= '/') goto yy3;
3996 		if (yych <= '4') goto yy206;
3997 		goto yy205;
3998 	} else {
3999 		if (yych <= '9') goto yy181;
4000 		if (yych <= ':') goto yy204;
4001 		goto yy3;
4002 	}
4003 yy203:
4004 	YYDEBUG(203, *YYCURSOR);
4005 	yyaccept = 1;
4006 	yych = *(YYMARKER = ++YYCURSOR);
4007 	if (yych <= '/') goto yy3;
4008 	if (yych <= '5') goto yy205;
4009 	if (yych <= '9') goto yy181;
4010 	if (yych >= ';') goto yy3;
4011 yy204:
4012 	YYDEBUG(204, *YYCURSOR);
4013 	yych = *++YYCURSOR;
4014 	if (yych <= '/') goto yy55;
4015 	if (yych <= '5') goto yy205;
4016 	if (yych <= '9') goto yy181;
4017 	goto yy55;
4018 yy205:
4019 	YYDEBUG(205, *YYCURSOR);
4020 	yych = *++YYCURSOR;
4021 	if (yych <= '/') goto yy3;
4022 	if (yych <= '9') goto yy181;
4023 	goto yy3;
4024 yy206:
4025 	YYDEBUG(206, *YYCURSOR);
4026 	yyaccept = 1;
4027 	yych = *(YYMARKER = ++YYCURSOR);
4028 	if (yych <= '/') goto yy3;
4029 	if (yych <= '5') goto yy207;
4030 	if (yych <= '9') goto yy181;
4031 	if (yych <= ':') goto yy208;
4032 	goto yy3;
4033 yy207:
4034 	YYDEBUG(207, *YYCURSOR);
4035 	yych = *++YYCURSOR;
4036 	if (yych <= '/') goto yy3;
4037 	if (yych <= '9') goto yy214;
4038 	goto yy3;
4039 yy208:
4040 	YYDEBUG(208, *YYCURSOR);
4041 	yych = *++YYCURSOR;
4042 	if (yych <= '/') goto yy55;
4043 	if (yych <= '5') goto yy209;
4044 	if (yych <= '9') goto yy181;
4045 	goto yy55;
4046 yy209:
4047 	YYDEBUG(209, *YYCURSOR);
4048 	yych = *++YYCURSOR;
4049 	if (yych <= '/') goto yy3;
4050 	if (yych >= ':') goto yy3;
4051 	YYDEBUG(210, *YYCURSOR);
4052 	yyaccept = 1;
4053 	yych = *(YYMARKER = ++YYCURSOR);
4054 	if (yych != ':') goto yy3;
4055 	YYDEBUG(211, *YYCURSOR);
4056 	yych = *++YYCURSOR;
4057 	if (yych <= '/') goto yy55;
4058 	if (yych <= '5') goto yy212;
4059 	if (yych <= '6') goto yy213;
4060 	goto yy55;
4061 yy212:
4062 	YYDEBUG(212, *YYCURSOR);
4063 	yych = *++YYCURSOR;
4064 	if (yych <= '/') goto yy55;
4065 	if (yych <= '9') goto yy181;
4066 	goto yy55;
4067 yy213:
4068 	YYDEBUG(213, *YYCURSOR);
4069 	yych = *++YYCURSOR;
4070 	if (yych == '0') goto yy181;
4071 	goto yy55;
4072 yy214:
4073 	YYDEBUG(214, *YYCURSOR);
4074 	yyaccept = 1;
4075 	yych = *(YYMARKER = ++YYCURSOR);
4076 	if (yych <= '/') goto yy3;
4077 	if (yych <= '5') goto yy215;
4078 	if (yych <= '6') goto yy216;
4079 	goto yy3;
4080 yy215:
4081 	YYDEBUG(215, *YYCURSOR);
4082 	yych = *++YYCURSOR;
4083 	if (yych <= '/') goto yy55;
4084 	if (yych <= '9') goto yy181;
4085 	goto yy55;
4086 yy216:
4087 	YYDEBUG(216, *YYCURSOR);
4088 	yych = *++YYCURSOR;
4089 	if (yych == '0') goto yy181;
4090 	goto yy55;
4091 yy217:
4092 	YYDEBUG(217, *YYCURSOR);
4093 	yych = *++YYCURSOR;
4094 	if (yych <= 'E') {
4095 		if (yych <= '@') {
4096 			if (yych == ')') goto yy181;
4097 			goto yy3;
4098 		} else {
4099 			if (yych <= 'C') goto yy183;
4100 			if (yych >= 'E') goto yy220;
4101 		}
4102 	} else {
4103 		if (yych <= 'c') {
4104 			if (yych <= 'Z') goto yy183;
4105 			if (yych <= '`') goto yy3;
4106 			goto yy183;
4107 		} else {
4108 			if (yych <= 'd') goto yy218;
4109 			if (yych <= 'e') goto yy220;
4110 			if (yych <= 'z') goto yy183;
4111 			goto yy3;
4112 		}
4113 	}
4114 yy218:
4115 	YYDEBUG(218, *YYCURSOR);
4116 	++YYCURSOR;
4117 	if ((yych = *YYCURSOR) <= 'N') {
4118 		if (yych <= ')') {
4119 			if (yych >= ')') goto yy181;
4120 		} else {
4121 			if (yych <= '@') goto yy219;
4122 			if (yych <= 'M') goto yy184;
4123 			goto yy226;
4124 		}
4125 	} else {
4126 		if (yych <= 'm') {
4127 			if (yych <= 'Z') goto yy184;
4128 			if (yych >= 'a') goto yy184;
4129 		} else {
4130 			if (yych <= 'n') goto yy226;
4131 			if (yych <= 'z') goto yy184;
4132 		}
4133 	}
4134 yy219:
4135 	YYDEBUG(219, *YYCURSOR);
4136 #line 1754 "ext/date/lib/parse_date.re"
4137 	{
4138 		const timelib_relunit* relunit;
4139 		DEBUG_OUTPUT("daytext");
4140 		TIMELIB_INIT;
4141 		TIMELIB_HAVE_RELATIVE();
4142 		TIMELIB_HAVE_WEEKDAY_RELATIVE();
4143 		TIMELIB_UNHAVE_TIME();
4144 		relunit = timelib_lookup_relunit(&ptr);
4145 		s->time->relative.weekday = relunit->multiplier;
4146 		if (s->time->relative.weekday_behavior != 2) {
4147 			s->time->relative.weekday_behavior = 1;
4148 		}
4149 
4150 		TIMELIB_DEINIT;
4151 		return TIMELIB_WEEKDAY;
4152 	}
4153 #line 4154 "<stdout>"
4154 yy220:
4155 	YYDEBUG(220, *YYCURSOR);
4156 	yych = *++YYCURSOR;
4157 	if (yych <= 'K') {
4158 		if (yych <= ')') {
4159 			if (yych <= '(') goto yy3;
4160 			goto yy181;
4161 		} else {
4162 			if (yych <= '@') goto yy3;
4163 			if (yych <= 'J') goto yy184;
4164 		}
4165 	} else {
4166 		if (yych <= 'j') {
4167 			if (yych <= 'Z') goto yy184;
4168 			if (yych <= '`') goto yy3;
4169 			goto yy184;
4170 		} else {
4171 			if (yych <= 'k') goto yy221;
4172 			if (yych <= 'z') goto yy184;
4173 			goto yy3;
4174 		}
4175 	}
4176 yy221:
4177 	YYDEBUG(221, *YYCURSOR);
4178 	yych = *++YYCURSOR;
4179 	if (yych <= 'D') {
4180 		if (yych <= ')') {
4181 			if (yych <= '(') goto yy3;
4182 			goto yy181;
4183 		} else {
4184 			if (yych <= '@') goto yy3;
4185 			if (yych <= 'C') goto yy185;
4186 		}
4187 	} else {
4188 		if (yych <= 'c') {
4189 			if (yych <= 'Z') goto yy185;
4190 			if (yych <= '`') goto yy3;
4191 			goto yy185;
4192 		} else {
4193 			if (yych <= 'd') goto yy222;
4194 			if (yych <= 'z') goto yy185;
4195 			goto yy3;
4196 		}
4197 	}
4198 yy222:
4199 	YYDEBUG(222, *YYCURSOR);
4200 	yych = *++YYCURSOR;
4201 	if (yych <= 'A') {
4202 		if (yych == ')') goto yy181;
4203 		if (yych <= '@') goto yy3;
4204 	} else {
4205 		if (yych <= '`') {
4206 			if (yych <= 'Z') goto yy186;
4207 			goto yy3;
4208 		} else {
4209 			if (yych <= 'a') goto yy223;
4210 			if (yych <= 'z') goto yy186;
4211 			goto yy3;
4212 		}
4213 	}
4214 yy223:
4215 	YYDEBUG(223, *YYCURSOR);
4216 	yych = *++YYCURSOR;
4217 	if (yych <= 'X') {
4218 		if (yych == ')') goto yy181;
4219 		goto yy3;
4220 	} else {
4221 		if (yych <= 'Y') goto yy224;
4222 		if (yych != 'y') goto yy3;
4223 	}
4224 yy224:
4225 	YYDEBUG(224, *YYCURSOR);
4226 	yych = *++YYCURSOR;
4227 	if (yych == 'S') goto yy225;
4228 	if (yych != 's') goto yy219;
4229 yy225:
4230 	YYDEBUG(225, *YYCURSOR);
4231 	yych = *++YYCURSOR;
4232 	goto yy219;
4233 yy226:
4234 	YYDEBUG(226, *YYCURSOR);
4235 	yych = *++YYCURSOR;
4236 	if (yych <= 'E') {
4237 		if (yych <= ')') {
4238 			if (yych <= '(') goto yy3;
4239 			goto yy181;
4240 		} else {
4241 			if (yych <= '@') goto yy3;
4242 			if (yych <= 'D') goto yy185;
4243 		}
4244 	} else {
4245 		if (yych <= 'd') {
4246 			if (yych <= 'Z') goto yy185;
4247 			if (yych <= '`') goto yy3;
4248 			goto yy185;
4249 		} else {
4250 			if (yych <= 'e') goto yy227;
4251 			if (yych <= 'z') goto yy185;
4252 			goto yy3;
4253 		}
4254 	}
4255 yy227:
4256 	YYDEBUG(227, *YYCURSOR);
4257 	yych = *++YYCURSOR;
4258 	if (yych <= 'S') {
4259 		if (yych <= ')') {
4260 			if (yych <= '(') goto yy3;
4261 			goto yy181;
4262 		} else {
4263 			if (yych <= '@') goto yy3;
4264 			if (yych <= 'R') goto yy186;
4265 		}
4266 	} else {
4267 		if (yych <= 'r') {
4268 			if (yych <= 'Z') goto yy186;
4269 			if (yych <= '`') goto yy3;
4270 			goto yy186;
4271 		} else {
4272 			if (yych <= 's') goto yy228;
4273 			if (yych <= 'z') goto yy186;
4274 			goto yy3;
4275 		}
4276 	}
4277 yy228:
4278 	YYDEBUG(228, *YYCURSOR);
4279 	yyaccept = 1;
4280 	yych = *(YYMARKER = ++YYCURSOR);
4281 	if (yych <= 'C') {
4282 		if (yych == ')') goto yy181;
4283 		goto yy3;
4284 	} else {
4285 		if (yych <= 'D') goto yy229;
4286 		if (yych != 'd') goto yy3;
4287 	}
4288 yy229:
4289 	YYDEBUG(229, *YYCURSOR);
4290 	yych = *++YYCURSOR;
4291 	if (yych == 'A') goto yy230;
4292 	if (yych != 'a') goto yy55;
4293 yy230:
4294 	YYDEBUG(230, *YYCURSOR);
4295 	yych = *++YYCURSOR;
4296 	if (yych == 'Y') goto yy231;
4297 	if (yych != 'y') goto yy55;
4298 yy231:
4299 	YYDEBUG(231, *YYCURSOR);
4300 	yych = *++YYCURSOR;
4301 	if (yych == 'S') goto yy225;
4302 	if (yych == 's') goto yy225;
4303 	goto yy219;
4304 yy232:
4305 	YYDEBUG(232, *YYCURSOR);
4306 	yyaccept = 1;
4307 	yych = *(YYMARKER = ++YYCURSOR);
4308 	if (yych <= 'D') {
4309 		if (yych <= '-') {
4310 			if (yych == ')') goto yy181;
4311 			if (yych <= ',') goto yy3;
4312 			goto yy189;
4313 		} else {
4314 			if (yych <= '/') {
4315 				if (yych <= '.') goto yy3;
4316 				goto yy189;
4317 			} else {
4318 				if (yych <= '@') goto yy3;
4319 				if (yych <= 'C') goto yy183;
4320 				goto yy218;
4321 			}
4322 		}
4323 	} else {
4324 		if (yych <= '`') {
4325 			if (yych <= 'Z') {
4326 				if (yych <= 'E') goto yy220;
4327 				goto yy183;
4328 			} else {
4329 				if (yych == '_') goto yy189;
4330 				goto yy3;
4331 			}
4332 		} else {
4333 			if (yych <= 'd') {
4334 				if (yych <= 'c') goto yy188;
4335 			} else {
4336 				if (yych <= 'e') goto yy234;
4337 				if (yych <= 'z') goto yy188;
4338 				goto yy3;
4339 			}
4340 		}
4341 	}
4342 	YYDEBUG(233, *YYCURSOR);
4343 	yyaccept = 4;
4344 	yych = *(YYMARKER = ++YYCURSOR);
4345 	if (yych <= 'M') {
4346 		if (yych <= '-') {
4347 			if (yych == ')') goto yy181;
4348 			if (yych <= ',') goto yy219;
4349 			goto yy189;
4350 		} else {
4351 			if (yych == '/') goto yy189;
4352 			if (yych <= '@') goto yy219;
4353 			goto yy184;
4354 		}
4355 	} else {
4356 		if (yych <= '_') {
4357 			if (yych <= 'N') goto yy226;
4358 			if (yych <= 'Z') goto yy184;
4359 			if (yych <= '^') goto yy219;
4360 			goto yy189;
4361 		} else {
4362 			if (yych <= 'm') {
4363 				if (yych <= '`') goto yy219;
4364 				goto yy192;
4365 			} else {
4366 				if (yych <= 'n') goto yy240;
4367 				if (yych <= 'z') goto yy192;
4368 				goto yy219;
4369 			}
4370 		}
4371 	}
4372 yy234:
4373 	YYDEBUG(234, *YYCURSOR);
4374 	yyaccept = 1;
4375 	yych = *(YYMARKER = ++YYCURSOR);
4376 	if (yych <= 'J') {
4377 		if (yych <= '-') {
4378 			if (yych == ')') goto yy181;
4379 			if (yych <= ',') goto yy3;
4380 			goto yy189;
4381 		} else {
4382 			if (yych == '/') goto yy189;
4383 			if (yych <= '@') goto yy3;
4384 			goto yy184;
4385 		}
4386 	} else {
4387 		if (yych <= '_') {
4388 			if (yych <= 'K') goto yy221;
4389 			if (yych <= 'Z') goto yy184;
4390 			if (yych <= '^') goto yy3;
4391 			goto yy189;
4392 		} else {
4393 			if (yych <= 'j') {
4394 				if (yych <= '`') goto yy3;
4395 				goto yy192;
4396 			} else {
4397 				if (yych <= 'k') goto yy235;
4398 				if (yych <= 'z') goto yy192;
4399 				goto yy3;
4400 			}
4401 		}
4402 	}
4403 yy235:
4404 	YYDEBUG(235, *YYCURSOR);
4405 	yyaccept = 1;
4406 	yych = *(YYMARKER = ++YYCURSOR);
4407 	if (yych <= 'C') {
4408 		if (yych <= '-') {
4409 			if (yych == ')') goto yy181;
4410 			if (yych <= ',') goto yy3;
4411 			goto yy189;
4412 		} else {
4413 			if (yych == '/') goto yy189;
4414 			if (yych <= '@') goto yy3;
4415 			goto yy185;
4416 		}
4417 	} else {
4418 		if (yych <= '_') {
4419 			if (yych <= 'D') goto yy222;
4420 			if (yych <= 'Z') goto yy185;
4421 			if (yych <= '^') goto yy3;
4422 			goto yy189;
4423 		} else {
4424 			if (yych <= 'c') {
4425 				if (yych <= '`') goto yy3;
4426 				goto yy193;
4427 			} else {
4428 				if (yych <= 'd') goto yy236;
4429 				if (yych <= 'z') goto yy193;
4430 				goto yy3;
4431 			}
4432 		}
4433 	}
4434 yy236:
4435 	YYDEBUG(236, *YYCURSOR);
4436 	yyaccept = 1;
4437 	yych = *(YYMARKER = ++YYCURSOR);
4438 	if (yych <= '@') {
4439 		if (yych <= ',') {
4440 			if (yych == ')') goto yy181;
4441 			goto yy3;
4442 		} else {
4443 			if (yych == '.') goto yy3;
4444 			if (yych <= '/') goto yy189;
4445 			goto yy3;
4446 		}
4447 	} else {
4448 		if (yych <= '_') {
4449 			if (yych <= 'A') goto yy223;
4450 			if (yych <= 'Z') goto yy186;
4451 			if (yych <= '^') goto yy3;
4452 			goto yy189;
4453 		} else {
4454 			if (yych <= '`') goto yy3;
4455 			if (yych <= 'a') goto yy237;
4456 			if (yych <= 'z') goto yy194;
4457 			goto yy3;
4458 		}
4459 	}
4460 yy237:
4461 	YYDEBUG(237, *YYCURSOR);
4462 	yyaccept = 1;
4463 	yych = *(YYMARKER = ++YYCURSOR);
4464 	if (yych <= 'X') {
4465 		if (yych <= ',') {
4466 			if (yych == ')') goto yy181;
4467 			goto yy3;
4468 		} else {
4469 			if (yych == '.') goto yy3;
4470 			if (yych <= '/') goto yy189;
4471 			goto yy3;
4472 		}
4473 	} else {
4474 		if (yych <= '`') {
4475 			if (yych <= 'Y') goto yy224;
4476 			if (yych == '_') goto yy189;
4477 			goto yy3;
4478 		} else {
4479 			if (yych == 'y') goto yy238;
4480 			if (yych <= 'z') goto yy195;
4481 			goto yy3;
4482 		}
4483 	}
4484 yy238:
4485 	YYDEBUG(238, *YYCURSOR);
4486 	yyaccept = 4;
4487 	yych = *(YYMARKER = ++YYCURSOR);
4488 	if (yych <= 'S') {
4489 		if (yych <= '.') {
4490 			if (yych == '-') goto yy189;
4491 			goto yy219;
4492 		} else {
4493 			if (yych <= '/') goto yy189;
4494 			if (yych <= 'R') goto yy219;
4495 			goto yy225;
4496 		}
4497 	} else {
4498 		if (yych <= '`') {
4499 			if (yych == '_') goto yy189;
4500 			goto yy219;
4501 		} else {
4502 			if (yych == 's') goto yy239;
4503 			if (yych <= 'z') goto yy195;
4504 			goto yy219;
4505 		}
4506 	}
4507 yy239:
4508 	YYDEBUG(239, *YYCURSOR);
4509 	yyaccept = 4;
4510 	yych = *(YYMARKER = ++YYCURSOR);
4511 	if (yybm[0+yych] & 8) {
4512 		goto yy195;
4513 	}
4514 	if (yych <= '.') {
4515 		if (yych == '-') goto yy189;
4516 		goto yy219;
4517 	} else {
4518 		if (yych <= '/') goto yy189;
4519 		if (yych == '_') goto yy189;
4520 		goto yy219;
4521 	}
4522 yy240:
4523 	YYDEBUG(240, *YYCURSOR);
4524 	yyaccept = 1;
4525 	yych = *(YYMARKER = ++YYCURSOR);
4526 	if (yych <= 'D') {
4527 		if (yych <= '-') {
4528 			if (yych == ')') goto yy181;
4529 			if (yych <= ',') goto yy3;
4530 			goto yy189;
4531 		} else {
4532 			if (yych == '/') goto yy189;
4533 			if (yych <= '@') goto yy3;
4534 			goto yy185;
4535 		}
4536 	} else {
4537 		if (yych <= '_') {
4538 			if (yych <= 'E') goto yy227;
4539 			if (yych <= 'Z') goto yy185;
4540 			if (yych <= '^') goto yy3;
4541 			goto yy189;
4542 		} else {
4543 			if (yych <= 'd') {
4544 				if (yych <= '`') goto yy3;
4545 				goto yy193;
4546 			} else {
4547 				if (yych <= 'e') goto yy241;
4548 				if (yych <= 'z') goto yy193;
4549 				goto yy3;
4550 			}
4551 		}
4552 	}
4553 yy241:
4554 	YYDEBUG(241, *YYCURSOR);
4555 	yyaccept = 1;
4556 	yych = *(YYMARKER = ++YYCURSOR);
4557 	if (yych <= 'R') {
4558 		if (yych <= '-') {
4559 			if (yych == ')') goto yy181;
4560 			if (yych <= ',') goto yy3;
4561 			goto yy189;
4562 		} else {
4563 			if (yych == '/') goto yy189;
4564 			if (yych <= '@') goto yy3;
4565 			goto yy186;
4566 		}
4567 	} else {
4568 		if (yych <= '_') {
4569 			if (yych <= 'S') goto yy228;
4570 			if (yych <= 'Z') goto yy186;
4571 			if (yych <= '^') goto yy3;
4572 			goto yy189;
4573 		} else {
4574 			if (yych <= 'r') {
4575 				if (yych <= '`') goto yy3;
4576 				goto yy194;
4577 			} else {
4578 				if (yych <= 's') goto yy242;
4579 				if (yych <= 'z') goto yy194;
4580 				goto yy3;
4581 			}
4582 		}
4583 	}
4584 yy242:
4585 	YYDEBUG(242, *YYCURSOR);
4586 	yyaccept = 1;
4587 	yych = *(YYMARKER = ++YYCURSOR);
4588 	if (yych <= 'C') {
4589 		if (yych <= ',') {
4590 			if (yych == ')') goto yy181;
4591 			goto yy3;
4592 		} else {
4593 			if (yych == '.') goto yy3;
4594 			if (yych <= '/') goto yy189;
4595 			goto yy3;
4596 		}
4597 	} else {
4598 		if (yych <= '`') {
4599 			if (yych <= 'D') goto yy229;
4600 			if (yych == '_') goto yy189;
4601 			goto yy3;
4602 		} else {
4603 			if (yych == 'd') goto yy243;
4604 			if (yych <= 'z') goto yy195;
4605 			goto yy3;
4606 		}
4607 	}
4608 yy243:
4609 	YYDEBUG(243, *YYCURSOR);
4610 	yych = *++YYCURSOR;
4611 	if (yych == 'A') goto yy230;
4612 	if (yych != 'a') goto yy196;
4613 	YYDEBUG(244, *YYCURSOR);
4614 	yych = *++YYCURSOR;
4615 	if (yych == 'Y') goto yy231;
4616 	if (yych != 'y') goto yy196;
4617 	YYDEBUG(245, *YYCURSOR);
4618 	yyaccept = 4;
4619 	yych = *(YYMARKER = ++YYCURSOR);
4620 	if (yych <= 'S') {
4621 		if (yych <= '.') {
4622 			if (yych == '-') goto yy189;
4623 			goto yy219;
4624 		} else {
4625 			if (yych <= '/') goto yy189;
4626 			if (yych <= 'R') goto yy219;
4627 			goto yy225;
4628 		}
4629 	} else {
4630 		if (yych <= '`') {
4631 			if (yych == '_') goto yy189;
4632 			goto yy219;
4633 		} else {
4634 			if (yych == 's') goto yy239;
4635 			if (yych <= 'z') goto yy195;
4636 			goto yy219;
4637 		}
4638 	}
4639 yy246:
4640 	YYDEBUG(246, *YYCURSOR);
4641 	yych = *++YYCURSOR;
4642 	if (yych <= 'C') {
4643 		if (yych <= ')') {
4644 			if (yych <= '(') goto yy3;
4645 			goto yy181;
4646 		} else {
4647 			if (yych <= '@') goto yy3;
4648 			if (yych <= 'B') goto yy183;
4649 		}
4650 	} else {
4651 		if (yych <= 'b') {
4652 			if (yych <= 'Z') goto yy183;
4653 			if (yych <= '`') goto yy3;
4654 			goto yy183;
4655 		} else {
4656 			if (yych <= 'c') goto yy247;
4657 			if (yych <= 'z') goto yy183;
4658 			goto yy3;
4659 		}
4660 	}
4661 yy247:
4662 	YYDEBUG(247, *YYCURSOR);
4663 	yyaccept = 5;
4664 	yych = *(YYMARKER = ++YYCURSOR);
4665 	if (yych <= '/') {
4666 		if (yych <= '(') {
4667 			if (yych <= '\t') {
4668 				if (yych >= '\t') goto yy250;
4669 			} else {
4670 				if (yych == ' ') goto yy250;
4671 			}
4672 		} else {
4673 			if (yych <= ',') {
4674 				if (yych <= ')') goto yy181;
4675 			} else {
4676 				if (yych <= '-') goto yy251;
4677 				if (yych <= '.') goto yy250;
4678 			}
4679 		}
4680 	} else {
4681 		if (yych <= 'Z') {
4682 			if (yych <= '@') {
4683 				if (yych <= '9') goto yy250;
4684 			} else {
4685 				if (yych == 'E') goto yy255;
4686 				goto yy184;
4687 			}
4688 		} else {
4689 			if (yych <= 'd') {
4690 				if (yych >= 'a') goto yy184;
4691 			} else {
4692 				if (yych <= 'e') goto yy255;
4693 				if (yych <= 'z') goto yy184;
4694 			}
4695 		}
4696 	}
4697 yy248:
4698 	YYDEBUG(248, *YYCURSOR);
4699 #line 1813 "ext/date/lib/parse_date.re"
4700 	{
4701 		DEBUG_OUTPUT("monthtext");
4702 		TIMELIB_INIT;
4703 		TIMELIB_HAVE_DATE();
4704 		s->time->m = timelib_lookup_month(&ptr);
4705 		TIMELIB_DEINIT;
4706 		return TIMELIB_DATE_TEXT;
4707 	}
4708 #line 4709 "<stdout>"
4709 yy249:
4710 	YYDEBUG(249, *YYCURSOR);
4711 	++YYCURSOR;
4712 	if ((YYLIMIT - YYCURSOR) < 26) YYFILL(26);
4713 	yych = *YYCURSOR;
4714 yy250:
4715 	YYDEBUG(250, *YYCURSOR);
4716 	if (yybm[0+yych] & 16) {
4717 		goto yy249;
4718 	}
4719 	if (yych <= '/') goto yy55;
4720 	if (yych <= '2') goto yy252;
4721 	if (yych <= '3') goto yy253;
4722 	if (yych <= '9') goto yy254;
4723 	goto yy55;
4724 yy251:
4725 	YYDEBUG(251, *YYCURSOR);
4726 	yych = *++YYCURSOR;
4727 	if (yych <= '/') goto yy250;
4728 	if (yych <= '0') goto yy365;
4729 	if (yych <= '2') goto yy366;
4730 	if (yych <= '3') goto yy367;
4731 	goto yy250;
4732 yy252:
4733 	YYDEBUG(252, *YYCURSOR);
4734 	yych = *++YYCURSOR;
4735 	if (yych <= '9') {
4736 		if (yych <= ' ') {
4737 			if (yych <= 0x08) {
4738 				if (yych <= 0x00) goto yy268;
4739 				goto yy55;
4740 			} else {
4741 				if (yych <= '\t') goto yy266;
4742 				if (yych <= 0x1F) goto yy55;
4743 				goto yy266;
4744 			}
4745 		} else {
4746 			if (yych <= '-') {
4747 				if (yych == ',') goto yy266;
4748 				goto yy55;
4749 			} else {
4750 				if (yych <= '.') goto yy266;
4751 				if (yych <= '/') goto yy55;
4752 				goto yy364;
4753 			}
4754 		}
4755 	} else {
4756 		if (yych <= 'm') {
4757 			if (yych <= 'd') {
4758 				if (yych <= 'c') goto yy55;
4759 				goto yy266;
4760 			} else {
4761 				if (yych == 'h') goto yy266;
4762 				goto yy55;
4763 			}
4764 		} else {
4765 			if (yych <= 'r') {
4766 				if (yych <= 'n') goto yy263;
4767 				if (yych <= 'q') goto yy55;
4768 				goto yy264;
4769 			} else {
4770 				if (yych <= 's') goto yy261;
4771 				if (yych <= 't') goto yy265;
4772 				goto yy55;
4773 			}
4774 		}
4775 	}
4776 yy253:
4777 	YYDEBUG(253, *YYCURSOR);
4778 	yych = *++YYCURSOR;
4779 	if (yych <= '1') {
4780 		if (yych <= ' ') {
4781 			if (yych <= 0x08) {
4782 				if (yych <= 0x00) goto yy268;
4783 				goto yy55;
4784 			} else {
4785 				if (yych <= '\t') goto yy266;
4786 				if (yych <= 0x1F) goto yy55;
4787 				goto yy266;
4788 			}
4789 		} else {
4790 			if (yych <= '-') {
4791 				if (yych == ',') goto yy266;
4792 				goto yy55;
4793 			} else {
4794 				if (yych <= '.') goto yy266;
4795 				if (yych <= '/') goto yy55;
4796 				goto yy364;
4797 			}
4798 		}
4799 	} else {
4800 		if (yych <= 'm') {
4801 			if (yych <= 'd') {
4802 				if (yych <= '9') goto yy260;
4803 				if (yych <= 'c') goto yy55;
4804 				goto yy266;
4805 			} else {
4806 				if (yych == 'h') goto yy266;
4807 				goto yy55;
4808 			}
4809 		} else {
4810 			if (yych <= 'r') {
4811 				if (yych <= 'n') goto yy263;
4812 				if (yych <= 'q') goto yy55;
4813 				goto yy264;
4814 			} else {
4815 				if (yych <= 's') goto yy261;
4816 				if (yych <= 't') goto yy265;
4817 				goto yy55;
4818 			}
4819 		}
4820 	}
4821 yy254:
4822 	YYDEBUG(254, *YYCURSOR);
4823 	yych = *++YYCURSOR;
4824 	if (yych <= '9') {
4825 		if (yych <= ' ') {
4826 			if (yych <= 0x08) {
4827 				if (yych <= 0x00) goto yy268;
4828 				goto yy55;
4829 			} else {
4830 				if (yych <= '\t') goto yy266;
4831 				if (yych <= 0x1F) goto yy55;
4832 				goto yy266;
4833 			}
4834 		} else {
4835 			if (yych <= '-') {
4836 				if (yych == ',') goto yy266;
4837 				goto yy55;
4838 			} else {
4839 				if (yych <= '.') goto yy266;
4840 				if (yych <= '/') goto yy55;
4841 				goto yy260;
4842 			}
4843 		}
4844 	} else {
4845 		if (yych <= 'm') {
4846 			if (yych <= 'd') {
4847 				if (yych <= 'c') goto yy55;
4848 				goto yy266;
4849 			} else {
4850 				if (yych == 'h') goto yy266;
4851 				goto yy55;
4852 			}
4853 		} else {
4854 			if (yych <= 'r') {
4855 				if (yych <= 'n') goto yy263;
4856 				if (yych <= 'q') goto yy55;
4857 				goto yy264;
4858 			} else {
4859 				if (yych <= 's') goto yy261;
4860 				if (yych <= 't') goto yy265;
4861 				goto yy55;
4862 			}
4863 		}
4864 	}
4865 yy255:
4866 	YYDEBUG(255, *YYCURSOR);
4867 	yych = *++YYCURSOR;
4868 	if (yych <= 'M') {
4869 		if (yych <= ')') {
4870 			if (yych <= '(') goto yy3;
4871 			goto yy181;
4872 		} else {
4873 			if (yych <= '@') goto yy3;
4874 			if (yych <= 'L') goto yy185;
4875 		}
4876 	} else {
4877 		if (yych <= 'l') {
4878 			if (yych <= 'Z') goto yy185;
4879 			if (yych <= '`') goto yy3;
4880 			goto yy185;
4881 		} else {
4882 			if (yych <= 'm') goto yy256;
4883 			if (yych <= 'z') goto yy185;
4884 			goto yy3;
4885 		}
4886 	}
4887 yy256:
4888 	YYDEBUG(256, *YYCURSOR);
4889 	yych = *++YYCURSOR;
4890 	if (yych <= 'B') {
4891 		if (yych <= ')') {
4892 			if (yych <= '(') goto yy3;
4893 			goto yy181;
4894 		} else {
4895 			if (yych <= '@') goto yy3;
4896 			if (yych <= 'A') goto yy186;
4897 		}
4898 	} else {
4899 		if (yych <= 'a') {
4900 			if (yych <= 'Z') goto yy186;
4901 			if (yych <= '`') goto yy3;
4902 			goto yy186;
4903 		} else {
4904 			if (yych <= 'b') goto yy257;
4905 			if (yych <= 'z') goto yy186;
4906 			goto yy3;
4907 		}
4908 	}
4909 yy257:
4910 	YYDEBUG(257, *YYCURSOR);
4911 	yyaccept = 1;
4912 	yych = *(YYMARKER = ++YYCURSOR);
4913 	if (yych <= 'D') {
4914 		if (yych == ')') goto yy181;
4915 		goto yy3;
4916 	} else {
4917 		if (yych <= 'E') goto yy258;
4918 		if (yych != 'e') goto yy3;
4919 	}
4920 yy258:
4921 	YYDEBUG(258, *YYCURSOR);
4922 	yych = *++YYCURSOR;
4923 	if (yych == 'R') goto yy259;
4924 	if (yych != 'r') goto yy55;
4925 yy259:
4926 	YYDEBUG(259, *YYCURSOR);
4927 	yyaccept = 5;
4928 	yych = *(YYMARKER = ++YYCURSOR);
4929 	if (yych <= ' ') {
4930 		if (yych == '\t') goto yy250;
4931 		if (yych <= 0x1F) goto yy248;
4932 		goto yy250;
4933 	} else {
4934 		if (yych <= '.') {
4935 			if (yych <= ',') goto yy248;
4936 			goto yy250;
4937 		} else {
4938 			if (yych <= '/') goto yy248;
4939 			if (yych <= '9') goto yy250;
4940 			goto yy248;
4941 		}
4942 	}
4943 yy260:
4944 	YYDEBUG(260, *YYCURSOR);
4945 	yych = *++YYCURSOR;
4946 	if (yych <= '/') goto yy55;
4947 	if (yych <= '9') goto yy361;
4948 	goto yy55;
4949 yy261:
4950 	YYDEBUG(261, *YYCURSOR);
4951 	yyaccept = 6;
4952 	yych = *(YYMARKER = ++YYCURSOR);
4953 	if (yych == 't') goto yy360;
4954 	goto yy267;
4955 yy262:
4956 	YYDEBUG(262, *YYCURSOR);
4957 #line 1559 "ext/date/lib/parse_date.re"
4958 	{
4959 		int length = 0;
4960 		DEBUG_OUTPUT("datetextual | datenoyear");
4961 		TIMELIB_INIT;
4962 		TIMELIB_HAVE_DATE();
4963 		s->time->m = timelib_get_month(&ptr);
4964 		s->time->d = timelib_get_nr(&ptr, 2);
4965 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
4966 		TIMELIB_PROCESS_YEAR(s->time->y, length);
4967 		TIMELIB_DEINIT;
4968 		return TIMELIB_DATE_TEXT;
4969 	}
4970 #line 4971 "<stdout>"
4971 yy263:
4972 	YYDEBUG(263, *YYCURSOR);
4973 	yyaccept = 6;
4974 	yych = *(YYMARKER = ++YYCURSOR);
4975 	if (yych == 'd') goto yy360;
4976 	goto yy267;
4977 yy264:
4978 	YYDEBUG(264, *YYCURSOR);
4979 	yyaccept = 6;
4980 	yych = *(YYMARKER = ++YYCURSOR);
4981 	if (yych == 'd') goto yy360;
4982 	goto yy267;
4983 yy265:
4984 	YYDEBUG(265, *YYCURSOR);
4985 	yyaccept = 6;
4986 	yych = *(YYMARKER = ++YYCURSOR);
4987 	if (yych == 'h') goto yy360;
4988 	goto yy267;
4989 yy266:
4990 	YYDEBUG(266, *YYCURSOR);
4991 	yyaccept = 6;
4992 	YYMARKER = ++YYCURSOR;
4993 	if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21);
4994 	yych = *YYCURSOR;
4995 yy267:
4996 	YYDEBUG(267, *YYCURSOR);
4997 	if (yybm[0+yych] & 32) {
4998 		goto yy266;
4999 	}
5000 	if (yych <= '2') {
5001 		if (yych <= '/') goto yy262;
5002 		if (yych <= '0') goto yy351;
5003 		if (yych <= '1') goto yy352;
5004 		goto yy353;
5005 	} else {
5006 		if (yych <= '9') goto yy354;
5007 		if (yych == 'T') goto yy269;
5008 		goto yy262;
5009 	}
5010 yy268:
5011 	YYDEBUG(268, *YYCURSOR);
5012 	yyaccept = 6;
5013 	yych = *(YYMARKER = ++YYCURSOR);
5014 	if (yych <= '9') {
5015 		if (yych <= '0') {
5016 			if (yych <= '/') goto yy262;
5017 			goto yy270;
5018 		} else {
5019 			if (yych <= '1') goto yy271;
5020 			if (yych <= '2') goto yy272;
5021 			goto yy273;
5022 		}
5023 	} else {
5024 		if (yych <= 'T') {
5025 			if (yych <= 'S') goto yy262;
5026 		} else {
5027 			if (yych != 't') goto yy262;
5028 		}
5029 	}
5030 yy269:
5031 	YYDEBUG(269, *YYCURSOR);
5032 	yych = *++YYCURSOR;
5033 	if (yych <= '/') goto yy55;
5034 	if (yych <= '1') goto yy349;
5035 	if (yych <= '2') goto yy350;
5036 	if (yych <= '9') goto yy339;
5037 	goto yy55;
5038 yy270:
5039 	YYDEBUG(270, *YYCURSOR);
5040 	yych = *++YYCURSOR;
5041 	if (yych <= '/') {
5042 		if (yych == '.') goto yy340;
5043 		goto yy55;
5044 	} else {
5045 		if (yych <= '0') goto yy339;
5046 		if (yych <= '9') goto yy273;
5047 		if (yych <= ':') goto yy340;
5048 		goto yy55;
5049 	}
5050 yy271:
5051 	YYDEBUG(271, *YYCURSOR);
5052 	yych = *++YYCURSOR;
5053 	if (yych <= '/') {
5054 		if (yych == '.') goto yy274;
5055 		goto yy55;
5056 	} else {
5057 		if (yych <= '2') goto yy273;
5058 		if (yych <= '9') goto yy339;
5059 		if (yych <= ':') goto yy274;
5060 		goto yy55;
5061 	}
5062 yy272:
5063 	YYDEBUG(272, *YYCURSOR);
5064 	yych = *++YYCURSOR;
5065 	if (yych <= '/') {
5066 		if (yych == '.') goto yy274;
5067 		goto yy55;
5068 	} else {
5069 		if (yych <= '4') goto yy339;
5070 		if (yych == ':') goto yy274;
5071 		goto yy55;
5072 	}
5073 yy273:
5074 	YYDEBUG(273, *YYCURSOR);
5075 	yych = *++YYCURSOR;
5076 	if (yych == '.') goto yy274;
5077 	if (yych != ':') goto yy55;
5078 yy274:
5079 	YYDEBUG(274, *YYCURSOR);
5080 	yych = *++YYCURSOR;
5081 	if (yych <= '/') goto yy55;
5082 	if (yych <= '5') goto yy275;
5083 	if (yych <= '9') goto yy277;
5084 	goto yy55;
5085 yy275:
5086 	YYDEBUG(275, *YYCURSOR);
5087 	yyaccept = 7;
5088 	yych = *(YYMARKER = ++YYCURSOR);
5089 	if (yych <= '/') {
5090 		if (yych == '.') goto yy278;
5091 	} else {
5092 		if (yych <= '9') goto yy332;
5093 		if (yych <= ':') goto yy278;
5094 	}
5095 yy276:
5096 	YYDEBUG(276, *YYCURSOR);
5097 #line 1861 "ext/date/lib/parse_date.re"
5098 	{
5099 		int tz_not_found;
5100 		DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
5101 		TIMELIB_INIT;
5102 		TIMELIB_HAVE_DATE();
5103 		s->time->m = timelib_get_month(&ptr);
5104 		s->time->d = timelib_get_nr(&ptr, 2);
5105 
5106 		TIMELIB_HAVE_TIME();
5107 		s->time->h = timelib_get_nr(&ptr, 2);
5108 		s->time->i = timelib_get_nr(&ptr, 2);
5109 		if (*ptr == ':') {
5110 			s->time->s = timelib_get_nr(&ptr, 2);
5111 
5112 			if (*ptr == '.') {
5113 				s->time->us = timelib_get_frac_nr(&ptr);
5114 			}
5115 		}
5116 
5117 		if (*ptr != '\0') {
5118 			s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
5119 			if (tz_not_found) {
5120 				add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
5121 			}
5122 		}
5123 		TIMELIB_DEINIT;
5124 		return TIMELIB_SHORTDATE_WITH_TIME;
5125 	}
5126 #line 5127 "<stdout>"
5127 yy277:
5128 	YYDEBUG(277, *YYCURSOR);
5129 	yyaccept = 7;
5130 	yych = *(YYMARKER = ++YYCURSOR);
5131 	if (yych == '.') goto yy278;
5132 	if (yych != ':') goto yy276;
5133 yy278:
5134 	YYDEBUG(278, *YYCURSOR);
5135 	yych = *++YYCURSOR;
5136 	if (yych <= '/') goto yy55;
5137 	if (yych <= '5') goto yy279;
5138 	if (yych <= '6') goto yy280;
5139 	if (yych <= '9') goto yy281;
5140 	goto yy55;
5141 yy279:
5142 	YYDEBUG(279, *YYCURSOR);
5143 	yych = *++YYCURSOR;
5144 	if (yych <= '/') goto yy276;
5145 	if (yych <= '9') goto yy282;
5146 	goto yy276;
5147 yy280:
5148 	YYDEBUG(280, *YYCURSOR);
5149 	yych = *++YYCURSOR;
5150 	if (yych == '0') goto yy282;
5151 	goto yy276;
5152 yy281:
5153 	YYDEBUG(281, *YYCURSOR);
5154 	yych = *++YYCURSOR;
5155 	goto yy276;
5156 yy282:
5157 	YYDEBUG(282, *YYCURSOR);
5158 	yyaccept = 7;
5159 	yych = *(YYMARKER = ++YYCURSOR);
5160 	if (yych <= '*') {
5161 		if (yych <= 0x1F) {
5162 			if (yych == '\t') goto yy284;
5163 			goto yy276;
5164 		} else {
5165 			if (yych <= ' ') goto yy284;
5166 			if (yych == '(') goto yy284;
5167 			goto yy276;
5168 		}
5169 	} else {
5170 		if (yych <= '@') {
5171 			if (yych == ',') goto yy276;
5172 			if (yych <= '-') goto yy284;
5173 			goto yy276;
5174 		} else {
5175 			if (yych <= 'Z') goto yy284;
5176 			if (yych <= '`') goto yy276;
5177 			if (yych <= 'z') goto yy284;
5178 			goto yy276;
5179 		}
5180 	}
5181 yy283:
5182 	YYDEBUG(283, *YYCURSOR);
5183 	++YYCURSOR;
5184 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
5185 	yych = *YYCURSOR;
5186 yy284:
5187 	YYDEBUG(284, *YYCURSOR);
5188 	if (yych <= '@') {
5189 		if (yych <= '\'') {
5190 			if (yych <= '\t') {
5191 				if (yych <= 0x08) goto yy55;
5192 				goto yy283;
5193 			} else {
5194 				if (yych == ' ') goto yy283;
5195 				goto yy55;
5196 			}
5197 		} else {
5198 			if (yych <= '+') {
5199 				if (yych <= '(') goto yy287;
5200 				if (yych <= '*') goto yy55;
5201 				goto yy286;
5202 			} else {
5203 				if (yych == '-') goto yy286;
5204 				goto yy55;
5205 			}
5206 		}
5207 	} else {
5208 		if (yych <= 'Z') {
5209 			if (yych <= 'G') {
5210 				if (yych <= 'A') goto yy288;
5211 				if (yych <= 'F') goto yy289;
5212 			} else {
5213 				if (yych == 'P') goto yy288;
5214 				goto yy289;
5215 			}
5216 		} else {
5217 			if (yych <= 'o') {
5218 				if (yych <= '`') goto yy55;
5219 				if (yych <= 'a') goto yy290;
5220 				goto yy291;
5221 			} else {
5222 				if (yych <= 'p') goto yy290;
5223 				if (yych <= 'z') goto yy291;
5224 				goto yy55;
5225 			}
5226 		}
5227 	}
5228 yy285:
5229 	YYDEBUG(285, *YYCURSOR);
5230 	yych = *++YYCURSOR;
5231 	if (yych <= 'L') {
5232 		if (yych == ')') goto yy281;
5233 		if (yych <= '@') goto yy276;
5234 		goto yy292;
5235 	} else {
5236 		if (yych <= 'Z') {
5237 			if (yych <= 'M') goto yy330;
5238 			goto yy292;
5239 		} else {
5240 			if (yych <= '`') goto yy276;
5241 			if (yych <= 'z') goto yy303;
5242 			goto yy276;
5243 		}
5244 	}
5245 yy286:
5246 	YYDEBUG(286, *YYCURSOR);
5247 	yych = *++YYCURSOR;
5248 	if (yych <= '/') goto yy55;
5249 	if (yych <= '1') goto yy314;
5250 	if (yych <= '2') goto yy315;
5251 	if (yych <= '9') goto yy316;
5252 	goto yy55;
5253 yy287:
5254 	YYDEBUG(287, *YYCURSOR);
5255 	yych = *++YYCURSOR;
5256 	if (yych <= '@') goto yy55;
5257 	if (yych <= 'Z') goto yy291;
5258 	if (yych <= '`') goto yy55;
5259 	if (yych <= 'z') goto yy291;
5260 	goto yy55;
5261 yy288:
5262 	YYDEBUG(288, *YYCURSOR);
5263 	yyaccept = 7;
5264 	yych = *(YYMARKER = ++YYCURSOR);
5265 	if (yych <= 'L') {
5266 		if (yych <= '-') {
5267 			if (yych == ')') goto yy281;
5268 			goto yy276;
5269 		} else {
5270 			if (yych <= '.') goto yy297;
5271 			if (yych <= '@') goto yy276;
5272 			goto yy292;
5273 		}
5274 	} else {
5275 		if (yych <= '`') {
5276 			if (yych <= 'M') goto yy298;
5277 			if (yych <= 'Z') goto yy292;
5278 			goto yy276;
5279 		} else {
5280 			if (yych == 'm') goto yy313;
5281 			if (yych <= 'z') goto yy303;
5282 			goto yy276;
5283 		}
5284 	}
5285 yy289:
5286 	YYDEBUG(289, *YYCURSOR);
5287 	yych = *++YYCURSOR;
5288 	if (yych <= '@') {
5289 		if (yych == ')') goto yy281;
5290 		goto yy276;
5291 	} else {
5292 		if (yych <= 'Z') goto yy292;
5293 		if (yych <= '`') goto yy276;
5294 		if (yych <= 'z') goto yy303;
5295 		goto yy276;
5296 	}
5297 yy290:
5298 	YYDEBUG(290, *YYCURSOR);
5299 	yyaccept = 7;
5300 	yych = *(YYMARKER = ++YYCURSOR);
5301 	if (yych <= 'L') {
5302 		if (yych <= '-') {
5303 			if (yych == ')') goto yy281;
5304 			goto yy276;
5305 		} else {
5306 			if (yych <= '.') goto yy297;
5307 			if (yych <= '@') goto yy276;
5308 			goto yy292;
5309 		}
5310 	} else {
5311 		if (yych <= '`') {
5312 			if (yych <= 'M') goto yy298;
5313 			if (yych <= 'Z') goto yy292;
5314 			goto yy276;
5315 		} else {
5316 			if (yych == 'm') goto yy298;
5317 			if (yych <= 'z') goto yy292;
5318 			goto yy276;
5319 		}
5320 	}
5321 yy291:
5322 	YYDEBUG(291, *YYCURSOR);
5323 	yych = *++YYCURSOR;
5324 	if (yych <= '@') {
5325 		if (yych == ')') goto yy281;
5326 		goto yy276;
5327 	} else {
5328 		if (yych <= 'Z') goto yy292;
5329 		if (yych <= '`') goto yy276;
5330 		if (yych >= '{') goto yy276;
5331 	}
5332 yy292:
5333 	YYDEBUG(292, *YYCURSOR);
5334 	yych = *++YYCURSOR;
5335 	if (yych <= '@') {
5336 		if (yych == ')') goto yy281;
5337 		goto yy276;
5338 	} else {
5339 		if (yych <= 'Z') goto yy293;
5340 		if (yych <= '`') goto yy276;
5341 		if (yych >= '{') goto yy276;
5342 	}
5343 yy293:
5344 	YYDEBUG(293, *YYCURSOR);
5345 	yych = *++YYCURSOR;
5346 	if (yych <= '@') {
5347 		if (yych == ')') goto yy281;
5348 		goto yy276;
5349 	} else {
5350 		if (yych <= 'Z') goto yy294;
5351 		if (yych <= '`') goto yy276;
5352 		if (yych >= '{') goto yy276;
5353 	}
5354 yy294:
5355 	YYDEBUG(294, *YYCURSOR);
5356 	yych = *++YYCURSOR;
5357 	if (yych <= '@') {
5358 		if (yych == ')') goto yy281;
5359 		goto yy276;
5360 	} else {
5361 		if (yych <= 'Z') goto yy295;
5362 		if (yych <= '`') goto yy276;
5363 		if (yych >= '{') goto yy276;
5364 	}
5365 yy295:
5366 	YYDEBUG(295, *YYCURSOR);
5367 	yych = *++YYCURSOR;
5368 	if (yych <= '@') {
5369 		if (yych == ')') goto yy281;
5370 		goto yy276;
5371 	} else {
5372 		if (yych <= 'Z') goto yy296;
5373 		if (yych <= '`') goto yy276;
5374 		if (yych >= '{') goto yy276;
5375 	}
5376 yy296:
5377 	YYDEBUG(296, *YYCURSOR);
5378 	yych = *++YYCURSOR;
5379 	if (yych == ')') goto yy281;
5380 	goto yy276;
5381 yy297:
5382 	YYDEBUG(297, *YYCURSOR);
5383 	yych = *++YYCURSOR;
5384 	if (yych == 'M') goto yy302;
5385 	if (yych == 'm') goto yy302;
5386 	goto yy55;
5387 yy298:
5388 	YYDEBUG(298, *YYCURSOR);
5389 	yyaccept = 7;
5390 	yych = *(YYMARKER = ++YYCURSOR);
5391 	if (yych <= ')') {
5392 		if (yych <= '\t') {
5393 			if (yych <= 0x00) goto yy300;
5394 			if (yych <= 0x08) goto yy276;
5395 			goto yy300;
5396 		} else {
5397 			if (yych == ' ') goto yy300;
5398 			if (yych <= '(') goto yy276;
5399 			goto yy281;
5400 		}
5401 	} else {
5402 		if (yych <= '@') {
5403 			if (yych != '.') goto yy276;
5404 		} else {
5405 			if (yych <= 'Z') goto yy293;
5406 			if (yych <= '`') goto yy276;
5407 			if (yych <= 'z') goto yy293;
5408 			goto yy276;
5409 		}
5410 	}
5411 yy299:
5412 	YYDEBUG(299, *YYCURSOR);
5413 	yych = *++YYCURSOR;
5414 	if (yych <= '\t') {
5415 		if (yych <= 0x00) goto yy300;
5416 		if (yych <= 0x08) goto yy55;
5417 	} else {
5418 		if (yych != ' ') goto yy55;
5419 	}
5420 yy300:
5421 	YYDEBUG(300, *YYCURSOR);
5422 	++YYCURSOR;
5423 	YYDEBUG(301, *YYCURSOR);
5424 #line 1837 "ext/date/lib/parse_date.re"
5425 	{
5426 		DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
5427 		TIMELIB_INIT;
5428 		TIMELIB_HAVE_DATE();
5429 		s->time->m = timelib_get_month(&ptr);
5430 		s->time->d = timelib_get_nr(&ptr, 2);
5431 
5432 		TIMELIB_HAVE_TIME();
5433 		s->time->h = timelib_get_nr(&ptr, 2);
5434 		s->time->i = timelib_get_nr(&ptr, 2);
5435 		if (*ptr == ':' || *ptr == '.') {
5436 			s->time->s = timelib_get_nr(&ptr, 2);
5437 
5438 			if (*ptr == '.') {
5439 				s->time->us = timelib_get_frac_nr(&ptr);
5440 			}
5441 		}
5442 
5443 		s->time->h += timelib_meridian(&ptr, s->time->h);
5444 		TIMELIB_DEINIT;
5445 		return TIMELIB_SHORTDATE_WITH_TIME;
5446 	}
5447 #line 5448 "<stdout>"
5448 yy302:
5449 	YYDEBUG(302, *YYCURSOR);
5450 	yych = *++YYCURSOR;
5451 	if (yych <= 0x1F) {
5452 		if (yych <= 0x00) goto yy300;
5453 		if (yych == '\t') goto yy300;
5454 		goto yy55;
5455 	} else {
5456 		if (yych <= ' ') goto yy300;
5457 		if (yych == '.') goto yy299;
5458 		goto yy55;
5459 	}
5460 yy303:
5461 	YYDEBUG(303, *YYCURSOR);
5462 	yyaccept = 7;
5463 	yych = *(YYMARKER = ++YYCURSOR);
5464 	if (yych <= '/') {
5465 		if (yych <= ',') {
5466 			if (yych == ')') goto yy281;
5467 			goto yy276;
5468 		} else {
5469 			if (yych == '.') goto yy276;
5470 			goto yy305;
5471 		}
5472 	} else {
5473 		if (yych <= '^') {
5474 			if (yych <= '@') goto yy276;
5475 			if (yych <= 'Z') goto yy293;
5476 			goto yy276;
5477 		} else {
5478 			if (yych <= '_') goto yy305;
5479 			if (yych <= '`') goto yy276;
5480 			if (yych >= '{') goto yy276;
5481 		}
5482 	}
5483 yy304:
5484 	YYDEBUG(304, *YYCURSOR);
5485 	yyaccept = 7;
5486 	yych = *(YYMARKER = ++YYCURSOR);
5487 	if (yych <= '/') {
5488 		if (yych <= ',') {
5489 			if (yych == ')') goto yy281;
5490 			goto yy276;
5491 		} else {
5492 			if (yych == '.') goto yy276;
5493 		}
5494 	} else {
5495 		if (yych <= '^') {
5496 			if (yych <= '@') goto yy276;
5497 			if (yych <= 'Z') goto yy294;
5498 			goto yy276;
5499 		} else {
5500 			if (yych <= '_') goto yy305;
5501 			if (yych <= '`') goto yy276;
5502 			if (yych <= 'z') goto yy308;
5503 			goto yy276;
5504 		}
5505 	}
5506 yy305:
5507 	YYDEBUG(305, *YYCURSOR);
5508 	++YYCURSOR;
5509 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
5510 	yych = *YYCURSOR;
5511 	if (yych <= '@') goto yy55;
5512 	if (yych <= 'Z') goto yy306;
5513 	if (yych <= '`') goto yy55;
5514 	if (yych >= '{') goto yy55;
5515 yy306:
5516 	YYDEBUG(306, *YYCURSOR);
5517 	yyaccept = 7;
5518 	YYMARKER = ++YYCURSOR;
5519 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
5520 	yych = *YYCURSOR;
5521 	YYDEBUG(307, *YYCURSOR);
5522 	if (yych <= '@') {
5523 		if (yych <= '-') {
5524 			if (yych <= ',') goto yy276;
5525 			goto yy305;
5526 		} else {
5527 			if (yych == '/') goto yy305;
5528 			goto yy276;
5529 		}
5530 	} else {
5531 		if (yych <= '_') {
5532 			if (yych <= 'Z') goto yy306;
5533 			if (yych <= '^') goto yy276;
5534 			goto yy305;
5535 		} else {
5536 			if (yych <= '`') goto yy276;
5537 			if (yych <= 'z') goto yy306;
5538 			goto yy276;
5539 		}
5540 	}
5541 yy308:
5542 	YYDEBUG(308, *YYCURSOR);
5543 	yyaccept = 7;
5544 	yych = *(YYMARKER = ++YYCURSOR);
5545 	if (yych <= '/') {
5546 		if (yych <= ',') {
5547 			if (yych == ')') goto yy281;
5548 			goto yy276;
5549 		} else {
5550 			if (yych == '.') goto yy276;
5551 			goto yy305;
5552 		}
5553 	} else {
5554 		if (yych <= '^') {
5555 			if (yych <= '@') goto yy276;
5556 			if (yych <= 'Z') goto yy295;
5557 			goto yy276;
5558 		} else {
5559 			if (yych <= '_') goto yy305;
5560 			if (yych <= '`') goto yy276;
5561 			if (yych >= '{') goto yy276;
5562 		}
5563 	}
5564 	YYDEBUG(309, *YYCURSOR);
5565 	yyaccept = 7;
5566 	yych = *(YYMARKER = ++YYCURSOR);
5567 	if (yych <= '/') {
5568 		if (yych <= ',') {
5569 			if (yych == ')') goto yy281;
5570 			goto yy276;
5571 		} else {
5572 			if (yych == '.') goto yy276;
5573 			goto yy305;
5574 		}
5575 	} else {
5576 		if (yych <= '^') {
5577 			if (yych <= '@') goto yy276;
5578 			if (yych <= 'Z') goto yy296;
5579 			goto yy276;
5580 		} else {
5581 			if (yych <= '_') goto yy305;
5582 			if (yych <= '`') goto yy276;
5583 			if (yych >= '{') goto yy276;
5584 		}
5585 	}
5586 	YYDEBUG(310, *YYCURSOR);
5587 	yyaccept = 7;
5588 	yych = *(YYMARKER = ++YYCURSOR);
5589 	if (yych <= '.') {
5590 		if (yych <= ')') {
5591 			if (yych <= '(') goto yy276;
5592 			goto yy281;
5593 		} else {
5594 			if (yych == '-') goto yy305;
5595 			goto yy276;
5596 		}
5597 	} else {
5598 		if (yych <= '_') {
5599 			if (yych <= '/') goto yy305;
5600 			if (yych <= '^') goto yy276;
5601 			goto yy305;
5602 		} else {
5603 			if (yych <= '`') goto yy276;
5604 			if (yych >= '{') goto yy276;
5605 		}
5606 	}
5607 yy311:
5608 	YYDEBUG(311, *YYCURSOR);
5609 	++YYCURSOR;
5610 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
5611 	yych = *YYCURSOR;
5612 	YYDEBUG(312, *YYCURSOR);
5613 	if (yych <= '/') {
5614 		if (yych == '-') goto yy305;
5615 		if (yych <= '.') goto yy55;
5616 		goto yy305;
5617 	} else {
5618 		if (yych <= '_') {
5619 			if (yych <= '^') goto yy55;
5620 			goto yy305;
5621 		} else {
5622 			if (yych <= '`') goto yy55;
5623 			if (yych <= 'z') goto yy311;
5624 			goto yy55;
5625 		}
5626 	}
5627 yy313:
5628 	YYDEBUG(313, *YYCURSOR);
5629 	yyaccept = 7;
5630 	yych = *(YYMARKER = ++YYCURSOR);
5631 	if (yych <= '-') {
5632 		if (yych <= 0x1F) {
5633 			if (yych <= 0x00) goto yy300;
5634 			if (yych == '\t') goto yy300;
5635 			goto yy276;
5636 		} else {
5637 			if (yych <= '(') {
5638 				if (yych <= ' ') goto yy300;
5639 				goto yy276;
5640 			} else {
5641 				if (yych <= ')') goto yy281;
5642 				if (yych <= ',') goto yy276;
5643 				goto yy305;
5644 			}
5645 		}
5646 	} else {
5647 		if (yych <= 'Z') {
5648 			if (yych <= '.') goto yy299;
5649 			if (yych <= '/') goto yy305;
5650 			if (yych <= '@') goto yy276;
5651 			goto yy293;
5652 		} else {
5653 			if (yych <= '_') {
5654 				if (yych <= '^') goto yy276;
5655 				goto yy305;
5656 			} else {
5657 				if (yych <= '`') goto yy276;
5658 				if (yych <= 'z') goto yy304;
5659 				goto yy276;
5660 			}
5661 		}
5662 	}
5663 yy314:
5664 	YYDEBUG(314, *YYCURSOR);
5665 	yyaccept = 7;
5666 	yych = *(YYMARKER = ++YYCURSOR);
5667 	if (yych <= '/') goto yy276;
5668 	if (yych <= '9') goto yy319;
5669 	if (yych <= ':') goto yy317;
5670 	goto yy276;
5671 yy315:
5672 	YYDEBUG(315, *YYCURSOR);
5673 	yyaccept = 7;
5674 	yych = *(YYMARKER = ++YYCURSOR);
5675 	if (yych <= '5') {
5676 		if (yych <= '/') goto yy276;
5677 		if (yych <= '4') goto yy319;
5678 		goto yy318;
5679 	} else {
5680 		if (yych <= '9') goto yy281;
5681 		if (yych <= ':') goto yy317;
5682 		goto yy276;
5683 	}
5684 yy316:
5685 	YYDEBUG(316, *YYCURSOR);
5686 	yyaccept = 7;
5687 	yych = *(YYMARKER = ++YYCURSOR);
5688 	if (yych <= '/') goto yy276;
5689 	if (yych <= '5') goto yy318;
5690 	if (yych <= '9') goto yy281;
5691 	if (yych >= ';') goto yy276;
5692 yy317:
5693 	YYDEBUG(317, *YYCURSOR);
5694 	yych = *++YYCURSOR;
5695 	if (yych <= '/') goto yy55;
5696 	if (yych <= '5') goto yy318;
5697 	if (yych <= '9') goto yy281;
5698 	goto yy55;
5699 yy318:
5700 	YYDEBUG(318, *YYCURSOR);
5701 	yych = *++YYCURSOR;
5702 	if (yych <= '/') goto yy276;
5703 	if (yych <= '9') goto yy281;
5704 	goto yy276;
5705 yy319:
5706 	YYDEBUG(319, *YYCURSOR);
5707 	yyaccept = 7;
5708 	yych = *(YYMARKER = ++YYCURSOR);
5709 	if (yych <= '/') goto yy276;
5710 	if (yych <= '5') goto yy320;
5711 	if (yych <= '9') goto yy281;
5712 	if (yych <= ':') goto yy321;
5713 	goto yy276;
5714 yy320:
5715 	YYDEBUG(320, *YYCURSOR);
5716 	yych = *++YYCURSOR;
5717 	if (yych <= '/') goto yy276;
5718 	if (yych <= '9') goto yy327;
5719 	goto yy276;
5720 yy321:
5721 	YYDEBUG(321, *YYCURSOR);
5722 	yych = *++YYCURSOR;
5723 	if (yych <= '/') goto yy55;
5724 	if (yych <= '5') goto yy322;
5725 	if (yych <= '9') goto yy281;
5726 	goto yy55;
5727 yy322:
5728 	YYDEBUG(322, *YYCURSOR);
5729 	yych = *++YYCURSOR;
5730 	if (yych <= '/') goto yy276;
5731 	if (yych >= ':') goto yy276;
5732 	YYDEBUG(323, *YYCURSOR);
5733 	yyaccept = 7;
5734 	yych = *(YYMARKER = ++YYCURSOR);
5735 	if (yych != ':') goto yy276;
5736 	YYDEBUG(324, *YYCURSOR);
5737 	yych = *++YYCURSOR;
5738 	if (yych <= '/') goto yy55;
5739 	if (yych <= '5') goto yy325;
5740 	if (yych <= '6') goto yy326;
5741 	goto yy55;
5742 yy325:
5743 	YYDEBUG(325, *YYCURSOR);
5744 	yych = *++YYCURSOR;
5745 	if (yych <= '/') goto yy55;
5746 	if (yych <= '9') goto yy281;
5747 	goto yy55;
5748 yy326:
5749 	YYDEBUG(326, *YYCURSOR);
5750 	yych = *++YYCURSOR;
5751 	if (yych == '0') goto yy281;
5752 	goto yy55;
5753 yy327:
5754 	YYDEBUG(327, *YYCURSOR);
5755 	yyaccept = 7;
5756 	yych = *(YYMARKER = ++YYCURSOR);
5757 	if (yych <= '/') goto yy276;
5758 	if (yych <= '5') goto yy328;
5759 	if (yych <= '6') goto yy329;
5760 	goto yy276;
5761 yy328:
5762 	YYDEBUG(328, *YYCURSOR);
5763 	yych = *++YYCURSOR;
5764 	if (yych <= '/') goto yy55;
5765 	if (yych <= '9') goto yy281;
5766 	goto yy55;
5767 yy329:
5768 	YYDEBUG(329, *YYCURSOR);
5769 	yych = *++YYCURSOR;
5770 	if (yych == '0') goto yy281;
5771 	goto yy55;
5772 yy330:
5773 	YYDEBUG(330, *YYCURSOR);
5774 	yych = *++YYCURSOR;
5775 	if (yych <= 'S') {
5776 		if (yych == ')') goto yy281;
5777 		if (yych <= '@') goto yy276;
5778 		goto yy293;
5779 	} else {
5780 		if (yych <= 'Z') {
5781 			if (yych >= 'U') goto yy293;
5782 		} else {
5783 			if (yych <= '`') goto yy276;
5784 			if (yych <= 'z') goto yy293;
5785 			goto yy276;
5786 		}
5787 	}
5788 	YYDEBUG(331, *YYCURSOR);
5789 	yyaccept = 7;
5790 	yych = *(YYMARKER = ++YYCURSOR);
5791 	if (yych <= ',') {
5792 		if (yych <= ')') {
5793 			if (yych <= '(') goto yy276;
5794 			goto yy281;
5795 		} else {
5796 			if (yych == '+') goto yy286;
5797 			goto yy276;
5798 		}
5799 	} else {
5800 		if (yych <= 'Z') {
5801 			if (yych <= '-') goto yy286;
5802 			if (yych <= '@') goto yy276;
5803 			goto yy294;
5804 		} else {
5805 			if (yych <= '`') goto yy276;
5806 			if (yych <= 'z') goto yy294;
5807 			goto yy276;
5808 		}
5809 	}
5810 yy332:
5811 	YYDEBUG(332, *YYCURSOR);
5812 	yyaccept = 7;
5813 	yych = *(YYMARKER = ++YYCURSOR);
5814 	if (yych <= ':') {
5815 		if (yych <= ' ') {
5816 			if (yych == '\t') goto yy333;
5817 			if (yych <= 0x1F) goto yy276;
5818 		} else {
5819 			if (yych == '.') goto yy278;
5820 			if (yych <= '9') goto yy276;
5821 			goto yy278;
5822 		}
5823 	} else {
5824 		if (yych <= 'P') {
5825 			if (yych == 'A') goto yy335;
5826 			if (yych <= 'O') goto yy276;
5827 			goto yy335;
5828 		} else {
5829 			if (yych <= 'a') {
5830 				if (yych <= '`') goto yy276;
5831 				goto yy335;
5832 			} else {
5833 				if (yych == 'p') goto yy335;
5834 				goto yy276;
5835 			}
5836 		}
5837 	}
5838 yy333:
5839 	YYDEBUG(333, *YYCURSOR);
5840 	++YYCURSOR;
5841 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
5842 	yych = *YYCURSOR;
5843 	YYDEBUG(334, *YYCURSOR);
5844 	if (yych <= 'A') {
5845 		if (yych <= 0x1F) {
5846 			if (yych == '\t') goto yy333;
5847 			goto yy55;
5848 		} else {
5849 			if (yych <= ' ') goto yy333;
5850 			if (yych <= '@') goto yy55;
5851 		}
5852 	} else {
5853 		if (yych <= '`') {
5854 			if (yych != 'P') goto yy55;
5855 		} else {
5856 			if (yych <= 'a') goto yy335;
5857 			if (yych != 'p') goto yy55;
5858 		}
5859 	}
5860 yy335:
5861 	YYDEBUG(335, *YYCURSOR);
5862 	yych = *++YYCURSOR;
5863 	if (yych <= 'L') {
5864 		if (yych != '.') goto yy55;
5865 	} else {
5866 		if (yych <= 'M') goto yy337;
5867 		if (yych == 'm') goto yy337;
5868 		goto yy55;
5869 	}
5870 	YYDEBUG(336, *YYCURSOR);
5871 	yych = *++YYCURSOR;
5872 	if (yych == 'M') goto yy337;
5873 	if (yych != 'm') goto yy55;
5874 yy337:
5875 	YYDEBUG(337, *YYCURSOR);
5876 	yych = *++YYCURSOR;
5877 	if (yych <= 0x1F) {
5878 		if (yych <= 0x00) goto yy300;
5879 		if (yych == '\t') goto yy300;
5880 		goto yy55;
5881 	} else {
5882 		if (yych <= ' ') goto yy300;
5883 		if (yych != '.') goto yy55;
5884 	}
5885 	YYDEBUG(338, *YYCURSOR);
5886 	yych = *++YYCURSOR;
5887 	if (yych <= '\t') {
5888 		if (yych <= 0x00) goto yy300;
5889 		if (yych <= 0x08) goto yy55;
5890 		goto yy300;
5891 	} else {
5892 		if (yych == ' ') goto yy300;
5893 		goto yy55;
5894 	}
5895 yy339:
5896 	YYDEBUG(339, *YYCURSOR);
5897 	yych = *++YYCURSOR;
5898 	if (yych == '.') goto yy340;
5899 	if (yych != ':') goto yy55;
5900 yy340:
5901 	YYDEBUG(340, *YYCURSOR);
5902 	yych = *++YYCURSOR;
5903 	if (yych <= '/') goto yy55;
5904 	if (yych <= '5') goto yy341;
5905 	if (yych <= '9') goto yy342;
5906 	goto yy55;
5907 yy341:
5908 	YYDEBUG(341, *YYCURSOR);
5909 	yyaccept = 7;
5910 	yych = *(YYMARKER = ++YYCURSOR);
5911 	if (yych <= '/') {
5912 		if (yych == '.') goto yy343;
5913 		goto yy276;
5914 	} else {
5915 		if (yych <= '9') goto yy342;
5916 		if (yych <= ':') goto yy343;
5917 		goto yy276;
5918 	}
5919 yy342:
5920 	YYDEBUG(342, *YYCURSOR);
5921 	yyaccept = 7;
5922 	yych = *(YYMARKER = ++YYCURSOR);
5923 	if (yych == '.') goto yy343;
5924 	if (yych != ':') goto yy276;
5925 yy343:
5926 	YYDEBUG(343, *YYCURSOR);
5927 	yych = *++YYCURSOR;
5928 	if (yych <= '/') goto yy55;
5929 	if (yych <= '5') goto yy344;
5930 	if (yych <= '6') goto yy345;
5931 	if (yych <= '9') goto yy281;
5932 	goto yy55;
5933 yy344:
5934 	YYDEBUG(344, *YYCURSOR);
5935 	yych = *++YYCURSOR;
5936 	if (yych <= '/') goto yy276;
5937 	if (yych <= '9') goto yy346;
5938 	goto yy276;
5939 yy345:
5940 	YYDEBUG(345, *YYCURSOR);
5941 	yych = *++YYCURSOR;
5942 	if (yych != '0') goto yy276;
5943 yy346:
5944 	YYDEBUG(346, *YYCURSOR);
5945 	yyaccept = 7;
5946 	yych = *(YYMARKER = ++YYCURSOR);
5947 	if (yych <= '*') {
5948 		if (yych <= 0x1F) {
5949 			if (yych == '\t') goto yy348;
5950 			goto yy276;
5951 		} else {
5952 			if (yych <= ' ') goto yy348;
5953 			if (yych == '(') goto yy348;
5954 			goto yy276;
5955 		}
5956 	} else {
5957 		if (yych <= '@') {
5958 			if (yych == ',') goto yy276;
5959 			if (yych <= '-') goto yy348;
5960 			goto yy276;
5961 		} else {
5962 			if (yych <= 'Z') goto yy348;
5963 			if (yych <= '`') goto yy276;
5964 			if (yych <= 'z') goto yy348;
5965 			goto yy276;
5966 		}
5967 	}
5968 yy347:
5969 	YYDEBUG(347, *YYCURSOR);
5970 	++YYCURSOR;
5971 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
5972 	yych = *YYCURSOR;
5973 yy348:
5974 	YYDEBUG(348, *YYCURSOR);
5975 	if (yych <= '+') {
5976 		if (yych <= ' ') {
5977 			if (yych == '\t') goto yy347;
5978 			if (yych <= 0x1F) goto yy55;
5979 			goto yy347;
5980 		} else {
5981 			if (yych == '(') goto yy287;
5982 			if (yych <= '*') goto yy55;
5983 			goto yy286;
5984 		}
5985 	} else {
5986 		if (yych <= 'F') {
5987 			if (yych == '-') goto yy286;
5988 			if (yych <= '@') goto yy55;
5989 			goto yy289;
5990 		} else {
5991 			if (yych <= 'Z') {
5992 				if (yych <= 'G') goto yy285;
5993 				goto yy289;
5994 			} else {
5995 				if (yych <= '`') goto yy55;
5996 				if (yych <= 'z') goto yy291;
5997 				goto yy55;
5998 			}
5999 		}
6000 	}
6001 yy349:
6002 	YYDEBUG(349, *YYCURSOR);
6003 	yych = *++YYCURSOR;
6004 	if (yych <= '/') {
6005 		if (yych == '.') goto yy340;
6006 		goto yy55;
6007 	} else {
6008 		if (yych <= '9') goto yy339;
6009 		if (yych <= ':') goto yy340;
6010 		goto yy55;
6011 	}
6012 yy350:
6013 	YYDEBUG(350, *YYCURSOR);
6014 	yych = *++YYCURSOR;
6015 	if (yych <= '/') {
6016 		if (yych == '.') goto yy340;
6017 		goto yy55;
6018 	} else {
6019 		if (yych <= '4') goto yy339;
6020 		if (yych == ':') goto yy340;
6021 		goto yy55;
6022 	}
6023 yy351:
6024 	YYDEBUG(351, *YYCURSOR);
6025 	yyaccept = 6;
6026 	yych = *(YYMARKER = ++YYCURSOR);
6027 	if (yych <= '/') {
6028 		if (yych == '.') goto yy340;
6029 		goto yy262;
6030 	} else {
6031 		if (yych <= '0') goto yy358;
6032 		if (yych <= '9') goto yy359;
6033 		if (yych <= ':') goto yy340;
6034 		goto yy262;
6035 	}
6036 yy352:
6037 	YYDEBUG(352, *YYCURSOR);
6038 	yyaccept = 6;
6039 	yych = *(YYMARKER = ++YYCURSOR);
6040 	if (yych <= '/') {
6041 		if (yych == '.') goto yy274;
6042 		goto yy262;
6043 	} else {
6044 		if (yych <= '2') goto yy359;
6045 		if (yych <= '9') goto yy358;
6046 		if (yych <= ':') goto yy274;
6047 		goto yy262;
6048 	}
6049 yy353:
6050 	YYDEBUG(353, *YYCURSOR);
6051 	yyaccept = 6;
6052 	yych = *(YYMARKER = ++YYCURSOR);
6053 	if (yych <= '/') {
6054 		if (yych == '.') goto yy274;
6055 		goto yy262;
6056 	} else {
6057 		if (yych <= '4') goto yy358;
6058 		if (yych <= '9') goto yy355;
6059 		if (yych <= ':') goto yy274;
6060 		goto yy262;
6061 	}
6062 yy354:
6063 	YYDEBUG(354, *YYCURSOR);
6064 	yyaccept = 6;
6065 	yych = *(YYMARKER = ++YYCURSOR);
6066 	if (yych <= '/') {
6067 		if (yych == '.') goto yy274;
6068 		goto yy262;
6069 	} else {
6070 		if (yych <= '9') goto yy355;
6071 		if (yych <= ':') goto yy274;
6072 		goto yy262;
6073 	}
6074 yy355:
6075 	YYDEBUG(355, *YYCURSOR);
6076 	yych = *++YYCURSOR;
6077 	if (yych <= '/') goto yy262;
6078 	if (yych >= ':') goto yy262;
6079 yy356:
6080 	YYDEBUG(356, *YYCURSOR);
6081 	yych = *++YYCURSOR;
6082 	if (yych <= '/') goto yy262;
6083 	if (yych >= ':') goto yy262;
6084 	YYDEBUG(357, *YYCURSOR);
6085 	yych = *++YYCURSOR;
6086 	goto yy262;
6087 yy358:
6088 	YYDEBUG(358, *YYCURSOR);
6089 	yyaccept = 6;
6090 	yych = *(YYMARKER = ++YYCURSOR);
6091 	if (yych <= '/') {
6092 		if (yych == '.') goto yy340;
6093 		goto yy262;
6094 	} else {
6095 		if (yych <= '9') goto yy356;
6096 		if (yych <= ':') goto yy340;
6097 		goto yy262;
6098 	}
6099 yy359:
6100 	YYDEBUG(359, *YYCURSOR);
6101 	yyaccept = 6;
6102 	yych = *(YYMARKER = ++YYCURSOR);
6103 	if (yych <= '/') {
6104 		if (yych == '.') goto yy274;
6105 		goto yy262;
6106 	} else {
6107 		if (yych <= '9') goto yy356;
6108 		if (yych <= ':') goto yy274;
6109 		goto yy262;
6110 	}
6111 yy360:
6112 	YYDEBUG(360, *YYCURSOR);
6113 	yyaccept = 6;
6114 	yych = *(YYMARKER = ++YYCURSOR);
6115 	if (yych <= 0x00) goto yy268;
6116 	goto yy267;
6117 yy361:
6118 	YYDEBUG(361, *YYCURSOR);
6119 	yych = *++YYCURSOR;
6120 	if (yych <= '/') goto yy55;
6121 	if (yych >= ':') goto yy55;
6122 	YYDEBUG(362, *YYCURSOR);
6123 	++YYCURSOR;
6124 	YYDEBUG(363, *YYCURSOR);
6125 #line 1531 "ext/date/lib/parse_date.re"
6126 	{
6127 		int length = 0;
6128 		DEBUG_OUTPUT("datenoday");
6129 		TIMELIB_INIT;
6130 		TIMELIB_HAVE_DATE();
6131 		s->time->m = timelib_get_month(&ptr);
6132 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
6133 		s->time->d = 1;
6134 		TIMELIB_PROCESS_YEAR(s->time->y, length);
6135 		TIMELIB_DEINIT;
6136 		return TIMELIB_DATE_NO_DAY;
6137 	}
6138 #line 6139 "<stdout>"
6139 yy364:
6140 	YYDEBUG(364, *YYCURSOR);
6141 	yych = *++YYCURSOR;
6142 	if (yych <= '9') {
6143 		if (yych <= ' ') {
6144 			if (yych <= 0x08) {
6145 				if (yych <= 0x00) goto yy268;
6146 				goto yy55;
6147 			} else {
6148 				if (yych <= '\t') goto yy266;
6149 				if (yych <= 0x1F) goto yy55;
6150 				goto yy266;
6151 			}
6152 		} else {
6153 			if (yych <= '-') {
6154 				if (yych == ',') goto yy266;
6155 				goto yy55;
6156 			} else {
6157 				if (yych <= '.') goto yy266;
6158 				if (yych <= '/') goto yy55;
6159 				goto yy361;
6160 			}
6161 		}
6162 	} else {
6163 		if (yych <= 'm') {
6164 			if (yych <= 'd') {
6165 				if (yych <= 'c') goto yy55;
6166 				goto yy266;
6167 			} else {
6168 				if (yych == 'h') goto yy266;
6169 				goto yy55;
6170 			}
6171 		} else {
6172 			if (yych <= 'r') {
6173 				if (yych <= 'n') goto yy263;
6174 				if (yych <= 'q') goto yy55;
6175 				goto yy264;
6176 			} else {
6177 				if (yych <= 's') goto yy261;
6178 				if (yych <= 't') goto yy265;
6179 				goto yy55;
6180 			}
6181 		}
6182 	}
6183 yy365:
6184 	YYDEBUG(365, *YYCURSOR);
6185 	yych = *++YYCURSOR;
6186 	if (yych <= '9') {
6187 		if (yych <= ' ') {
6188 			if (yych <= 0x08) {
6189 				if (yych <= 0x00) goto yy268;
6190 				goto yy55;
6191 			} else {
6192 				if (yych <= '\t') goto yy266;
6193 				if (yych <= 0x1F) goto yy55;
6194 				goto yy266;
6195 			}
6196 		} else {
6197 			if (yych <= '-') {
6198 				if (yych == ',') goto yy266;
6199 				goto yy55;
6200 			} else {
6201 				if (yych <= '.') goto yy266;
6202 				if (yych <= '/') goto yy55;
6203 				goto yy368;
6204 			}
6205 		}
6206 	} else {
6207 		if (yych <= 'm') {
6208 			if (yych <= 'd') {
6209 				if (yych <= 'c') goto yy55;
6210 				goto yy266;
6211 			} else {
6212 				if (yych == 'h') goto yy266;
6213 				goto yy55;
6214 			}
6215 		} else {
6216 			if (yych <= 'r') {
6217 				if (yych <= 'n') goto yy263;
6218 				if (yych <= 'q') goto yy55;
6219 				goto yy264;
6220 			} else {
6221 				if (yych <= 's') goto yy261;
6222 				if (yych <= 't') goto yy265;
6223 				goto yy55;
6224 			}
6225 		}
6226 	}
6227 yy366:
6228 	YYDEBUG(366, *YYCURSOR);
6229 	yych = *++YYCURSOR;
6230 	if (yych <= '9') {
6231 		if (yych <= ' ') {
6232 			if (yych <= 0x08) {
6233 				if (yych <= 0x00) goto yy268;
6234 				goto yy55;
6235 			} else {
6236 				if (yych <= '\t') goto yy266;
6237 				if (yych <= 0x1F) goto yy55;
6238 				goto yy266;
6239 			}
6240 		} else {
6241 			if (yych <= '-') {
6242 				if (yych == ',') goto yy266;
6243 				goto yy55;
6244 			} else {
6245 				if (yych <= '.') goto yy266;
6246 				if (yych <= '/') goto yy55;
6247 				goto yy368;
6248 			}
6249 		}
6250 	} else {
6251 		if (yych <= 'm') {
6252 			if (yych <= 'd') {
6253 				if (yych <= 'c') goto yy55;
6254 				goto yy266;
6255 			} else {
6256 				if (yych == 'h') goto yy266;
6257 				goto yy55;
6258 			}
6259 		} else {
6260 			if (yych <= 'r') {
6261 				if (yych <= 'n') goto yy263;
6262 				if (yych <= 'q') goto yy55;
6263 				goto yy264;
6264 			} else {
6265 				if (yych <= 's') goto yy261;
6266 				if (yych <= 't') goto yy265;
6267 				goto yy55;
6268 			}
6269 		}
6270 	}
6271 yy367:
6272 	YYDEBUG(367, *YYCURSOR);
6273 	yych = *++YYCURSOR;
6274 	if (yych <= '1') {
6275 		if (yych <= ' ') {
6276 			if (yych <= 0x08) {
6277 				if (yych <= 0x00) goto yy268;
6278 				goto yy55;
6279 			} else {
6280 				if (yych <= '\t') goto yy266;
6281 				if (yych <= 0x1F) goto yy55;
6282 				goto yy266;
6283 			}
6284 		} else {
6285 			if (yych <= '-') {
6286 				if (yych == ',') goto yy266;
6287 				goto yy55;
6288 			} else {
6289 				if (yych <= '.') goto yy266;
6290 				if (yych <= '/') goto yy55;
6291 			}
6292 		}
6293 	} else {
6294 		if (yych <= 'm') {
6295 			if (yych <= 'd') {
6296 				if (yych <= '9') goto yy260;
6297 				if (yych <= 'c') goto yy55;
6298 				goto yy266;
6299 			} else {
6300 				if (yych == 'h') goto yy266;
6301 				goto yy55;
6302 			}
6303 		} else {
6304 			if (yych <= 'r') {
6305 				if (yych <= 'n') goto yy263;
6306 				if (yych <= 'q') goto yy55;
6307 				goto yy264;
6308 			} else {
6309 				if (yych <= 's') goto yy261;
6310 				if (yych <= 't') goto yy265;
6311 				goto yy55;
6312 			}
6313 		}
6314 	}
6315 yy368:
6316 	YYDEBUG(368, *YYCURSOR);
6317 	yych = *++YYCURSOR;
6318 	if (yych <= '9') {
6319 		if (yych <= ' ') {
6320 			if (yych <= 0x08) {
6321 				if (yych <= 0x00) goto yy268;
6322 				goto yy55;
6323 			} else {
6324 				if (yych <= '\t') goto yy266;
6325 				if (yych <= 0x1F) goto yy55;
6326 				goto yy266;
6327 			}
6328 		} else {
6329 			if (yych <= '-') {
6330 				if (yych <= '+') goto yy55;
6331 				if (yych <= ',') goto yy266;
6332 			} else {
6333 				if (yych <= '.') goto yy266;
6334 				if (yych <= '/') goto yy55;
6335 				goto yy361;
6336 			}
6337 		}
6338 	} else {
6339 		if (yych <= 'm') {
6340 			if (yych <= 'd') {
6341 				if (yych <= 'c') goto yy55;
6342 				goto yy266;
6343 			} else {
6344 				if (yych == 'h') goto yy266;
6345 				goto yy55;
6346 			}
6347 		} else {
6348 			if (yych <= 'r') {
6349 				if (yych <= 'n') goto yy263;
6350 				if (yych <= 'q') goto yy55;
6351 				goto yy264;
6352 			} else {
6353 				if (yych <= 's') goto yy261;
6354 				if (yych <= 't') goto yy265;
6355 				goto yy55;
6356 			}
6357 		}
6358 	}
6359 	YYDEBUG(369, *YYCURSOR);
6360 	yych = *++YYCURSOR;
6361 	if (yych <= '/') goto yy55;
6362 	if (yych >= ':') goto yy55;
6363 	YYDEBUG(370, *YYCURSOR);
6364 	++YYCURSOR;
6365 	if ((yych = *YYCURSOR) <= '/') goto yy371;
6366 	if (yych <= '9') goto yy372;
6367 yy371:
6368 	YYDEBUG(371, *YYCURSOR);
6369 #line 1675 "ext/date/lib/parse_date.re"
6370 	{
6371 		int length = 0;
6372 		DEBUG_OUTPUT("pgtextshort");
6373 		TIMELIB_INIT;
6374 		TIMELIB_HAVE_DATE();
6375 		s->time->m = timelib_get_month(&ptr);
6376 		s->time->d = timelib_get_nr(&ptr, 2);
6377 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
6378 		TIMELIB_PROCESS_YEAR(s->time->y, length);
6379 		TIMELIB_DEINIT;
6380 		return TIMELIB_PG_TEXT;
6381 	}
6382 #line 6383 "<stdout>"
6383 yy372:
6384 	YYDEBUG(372, *YYCURSOR);
6385 	yych = *++YYCURSOR;
6386 	if (yych <= '/') goto yy371;
6387 	if (yych >= ':') goto yy371;
6388 	YYDEBUG(373, *YYCURSOR);
6389 	yych = *++YYCURSOR;
6390 	if (yych <= '/') goto yy371;
6391 	if (yych >= ':') goto yy371;
6392 	YYDEBUG(374, *YYCURSOR);
6393 	yych = *++YYCURSOR;
6394 	goto yy371;
6395 yy375:
6396 	YYDEBUG(375, *YYCURSOR);
6397 	yyaccept = 1;
6398 	yych = *(YYMARKER = ++YYCURSOR);
6399 	if (yych <= 'B') {
6400 		if (yych <= '-') {
6401 			if (yych == ')') goto yy181;
6402 			if (yych <= ',') goto yy3;
6403 			goto yy189;
6404 		} else {
6405 			if (yych == '/') goto yy189;
6406 			if (yych <= '@') goto yy3;
6407 			goto yy183;
6408 		}
6409 	} else {
6410 		if (yych <= '_') {
6411 			if (yych <= 'C') goto yy247;
6412 			if (yych <= 'Z') goto yy183;
6413 			if (yych <= '^') goto yy3;
6414 			goto yy189;
6415 		} else {
6416 			if (yych <= 'b') {
6417 				if (yych <= '`') goto yy3;
6418 				goto yy188;
6419 			} else {
6420 				if (yych <= 'c') goto yy376;
6421 				if (yych <= 'z') goto yy188;
6422 				goto yy3;
6423 			}
6424 		}
6425 	}
6426 yy376:
6427 	YYDEBUG(376, *YYCURSOR);
6428 	yyaccept = 5;
6429 	yych = *(YYMARKER = ++YYCURSOR);
6430 	if (yych <= '9') {
6431 		if (yych <= '(') {
6432 			if (yych <= '\t') {
6433 				if (yych <= 0x08) goto yy248;
6434 				goto yy250;
6435 			} else {
6436 				if (yych == ' ') goto yy250;
6437 				goto yy248;
6438 			}
6439 		} else {
6440 			if (yych <= '-') {
6441 				if (yych <= ')') goto yy181;
6442 				if (yych <= ',') goto yy248;
6443 			} else {
6444 				if (yych == '/') goto yy189;
6445 				goto yy250;
6446 			}
6447 		}
6448 	} else {
6449 		if (yych <= '^') {
6450 			if (yych <= 'D') {
6451 				if (yych <= '@') goto yy248;
6452 				goto yy184;
6453 			} else {
6454 				if (yych <= 'E') goto yy255;
6455 				if (yych <= 'Z') goto yy184;
6456 				goto yy248;
6457 			}
6458 		} else {
6459 			if (yych <= 'd') {
6460 				if (yych <= '_') goto yy189;
6461 				if (yych <= '`') goto yy248;
6462 				goto yy192;
6463 			} else {
6464 				if (yych <= 'e') goto yy378;
6465 				if (yych <= 'z') goto yy192;
6466 				goto yy248;
6467 			}
6468 		}
6469 	}
6470 yy377:
6471 	YYDEBUG(377, *YYCURSOR);
6472 	yych = *++YYCURSOR;
6473 	if (yybm[0+yych] & 4) {
6474 		goto yy190;
6475 	}
6476 	if (yych <= '/') goto yy250;
6477 	if (yych <= '0') goto yy365;
6478 	if (yych <= '2') goto yy366;
6479 	if (yych <= '3') goto yy367;
6480 	goto yy250;
6481 yy378:
6482 	YYDEBUG(378, *YYCURSOR);
6483 	yyaccept = 1;
6484 	yych = *(YYMARKER = ++YYCURSOR);
6485 	if (yych <= 'L') {
6486 		if (yych <= '-') {
6487 			if (yych == ')') goto yy181;
6488 			if (yych <= ',') goto yy3;
6489 			goto yy189;
6490 		} else {
6491 			if (yych == '/') goto yy189;
6492 			if (yych <= '@') goto yy3;
6493 			goto yy185;
6494 		}
6495 	} else {
6496 		if (yych <= '_') {
6497 			if (yych <= 'M') goto yy256;
6498 			if (yych <= 'Z') goto yy185;
6499 			if (yych <= '^') goto yy3;
6500 			goto yy189;
6501 		} else {
6502 			if (yych <= 'l') {
6503 				if (yych <= '`') goto yy3;
6504 				goto yy193;
6505 			} else {
6506 				if (yych <= 'm') goto yy379;
6507 				if (yych <= 'z') goto yy193;
6508 				goto yy3;
6509 			}
6510 		}
6511 	}
6512 yy379:
6513 	YYDEBUG(379, *YYCURSOR);
6514 	yyaccept = 1;
6515 	yych = *(YYMARKER = ++YYCURSOR);
6516 	if (yych <= 'A') {
6517 		if (yych <= '-') {
6518 			if (yych == ')') goto yy181;
6519 			if (yych <= ',') goto yy3;
6520 			goto yy189;
6521 		} else {
6522 			if (yych == '/') goto yy189;
6523 			if (yych <= '@') goto yy3;
6524 			goto yy186;
6525 		}
6526 	} else {
6527 		if (yych <= '_') {
6528 			if (yych <= 'B') goto yy257;
6529 			if (yych <= 'Z') goto yy186;
6530 			if (yych <= '^') goto yy3;
6531 			goto yy189;
6532 		} else {
6533 			if (yych <= 'a') {
6534 				if (yych <= '`') goto yy3;
6535 				goto yy194;
6536 			} else {
6537 				if (yych <= 'b') goto yy380;
6538 				if (yych <= 'z') goto yy194;
6539 				goto yy3;
6540 			}
6541 		}
6542 	}
6543 yy380:
6544 	YYDEBUG(380, *YYCURSOR);
6545 	yyaccept = 1;
6546 	yych = *(YYMARKER = ++YYCURSOR);
6547 	if (yych <= 'D') {
6548 		if (yych <= ',') {
6549 			if (yych == ')') goto yy181;
6550 			goto yy3;
6551 		} else {
6552 			if (yych == '.') goto yy3;
6553 			if (yych <= '/') goto yy189;
6554 			goto yy3;
6555 		}
6556 	} else {
6557 		if (yych <= '`') {
6558 			if (yych <= 'E') goto yy258;
6559 			if (yych == '_') goto yy189;
6560 			goto yy3;
6561 		} else {
6562 			if (yych == 'e') goto yy381;
6563 			if (yych <= 'z') goto yy195;
6564 			goto yy3;
6565 		}
6566 	}
6567 yy381:
6568 	YYDEBUG(381, *YYCURSOR);
6569 	yych = *++YYCURSOR;
6570 	if (yych == 'R') goto yy259;
6571 	if (yych != 'r') goto yy196;
6572 yy382:
6573 	YYDEBUG(382, *YYCURSOR);
6574 	yyaccept = 5;
6575 	yych = *(YYMARKER = ++YYCURSOR);
6576 	if (yybm[0+yych] & 8) {
6577 		goto yy195;
6578 	}
6579 	if (yych <= '-') {
6580 		if (yych <= 0x1F) {
6581 			if (yych == '\t') goto yy250;
6582 			goto yy248;
6583 		} else {
6584 			if (yych <= ' ') goto yy250;
6585 			if (yych <= ',') goto yy248;
6586 		}
6587 	} else {
6588 		if (yych <= '9') {
6589 			if (yych == '/') goto yy189;
6590 			goto yy250;
6591 		} else {
6592 			if (yych == '_') goto yy189;
6593 			goto yy248;
6594 		}
6595 	}
6596 yy383:
6597 	YYDEBUG(383, *YYCURSOR);
6598 	yych = *++YYCURSOR;
6599 	if (yybm[0+yych] & 4) {
6600 		goto yy190;
6601 	}
6602 	goto yy250;
6603 yy384:
6604 	YYDEBUG(384, *YYCURSOR);
6605 	yych = *++YYCURSOR;
6606 	if (yych <= 'T') {
6607 		if (yych <= ')') {
6608 			if (yych <= '(') goto yy3;
6609 			goto yy181;
6610 		} else {
6611 			if (yych <= '@') goto yy3;
6612 			if (yych <= 'S') goto yy183;
6613 		}
6614 	} else {
6615 		if (yych <= 's') {
6616 			if (yych <= 'Z') goto yy183;
6617 			if (yych <= '`') goto yy3;
6618 			goto yy183;
6619 		} else {
6620 			if (yych <= 't') goto yy385;
6621 			if (yych <= 'z') goto yy183;
6622 			goto yy3;
6623 		}
6624 	}
6625 yy385:
6626 	YYDEBUG(385, *YYCURSOR);
6627 	yyaccept = 5;
6628 	yych = *(YYMARKER = ++YYCURSOR);
6629 	if (yych <= '/') {
6630 		if (yych <= '(') {
6631 			if (yych <= '\t') {
6632 				if (yych <= 0x08) goto yy248;
6633 				goto yy250;
6634 			} else {
6635 				if (yych == ' ') goto yy250;
6636 				goto yy248;
6637 			}
6638 		} else {
6639 			if (yych <= ',') {
6640 				if (yych <= ')') goto yy181;
6641 				goto yy248;
6642 			} else {
6643 				if (yych <= '-') goto yy251;
6644 				if (yych <= '.') goto yy250;
6645 				goto yy248;
6646 			}
6647 		}
6648 	} else {
6649 		if (yych <= 'Z') {
6650 			if (yych <= '@') {
6651 				if (yych <= '9') goto yy250;
6652 				goto yy248;
6653 			} else {
6654 				if (yych != 'O') goto yy184;
6655 			}
6656 		} else {
6657 			if (yych <= 'n') {
6658 				if (yych <= '`') goto yy248;
6659 				goto yy184;
6660 			} else {
6661 				if (yych <= 'o') goto yy386;
6662 				if (yych <= 'z') goto yy184;
6663 				goto yy248;
6664 			}
6665 		}
6666 	}
6667 yy386:
6668 	YYDEBUG(386, *YYCURSOR);
6669 	yych = *++YYCURSOR;
6670 	if (yych <= 'B') {
6671 		if (yych <= ')') {
6672 			if (yych <= '(') goto yy3;
6673 			goto yy181;
6674 		} else {
6675 			if (yych <= '@') goto yy3;
6676 			if (yych <= 'A') goto yy185;
6677 		}
6678 	} else {
6679 		if (yych <= 'a') {
6680 			if (yych <= 'Z') goto yy185;
6681 			if (yych <= '`') goto yy3;
6682 			goto yy185;
6683 		} else {
6684 			if (yych <= 'b') goto yy387;
6685 			if (yych <= 'z') goto yy185;
6686 			goto yy3;
6687 		}
6688 	}
6689 yy387:
6690 	YYDEBUG(387, *YYCURSOR);
6691 	yych = *++YYCURSOR;
6692 	if (yych <= 'E') {
6693 		if (yych <= ')') {
6694 			if (yych <= '(') goto yy3;
6695 			goto yy181;
6696 		} else {
6697 			if (yych <= '@') goto yy3;
6698 			if (yych <= 'D') goto yy186;
6699 		}
6700 	} else {
6701 		if (yych <= 'd') {
6702 			if (yych <= 'Z') goto yy186;
6703 			if (yych <= '`') goto yy3;
6704 			goto yy186;
6705 		} else {
6706 			if (yych <= 'e') goto yy388;
6707 			if (yych <= 'z') goto yy186;
6708 			goto yy3;
6709 		}
6710 	}
6711 yy388:
6712 	YYDEBUG(388, *YYCURSOR);
6713 	yych = *++YYCURSOR;
6714 	if (yych <= 'Q') {
6715 		if (yych == ')') goto yy181;
6716 		goto yy3;
6717 	} else {
6718 		if (yych <= 'R') goto yy259;
6719 		if (yych == 'r') goto yy259;
6720 		goto yy3;
6721 	}
6722 yy389:
6723 	YYDEBUG(389, *YYCURSOR);
6724 	yyaccept = 1;
6725 	yych = *(YYMARKER = ++YYCURSOR);
6726 	if (yych <= 'S') {
6727 		if (yych <= '-') {
6728 			if (yych == ')') goto yy181;
6729 			if (yych <= ',') goto yy3;
6730 			goto yy189;
6731 		} else {
6732 			if (yych == '/') goto yy189;
6733 			if (yych <= '@') goto yy3;
6734 			goto yy183;
6735 		}
6736 	} else {
6737 		if (yych <= '_') {
6738 			if (yych <= 'T') goto yy385;
6739 			if (yych <= 'Z') goto yy183;
6740 			if (yych <= '^') goto yy3;
6741 			goto yy189;
6742 		} else {
6743 			if (yych <= 's') {
6744 				if (yych <= '`') goto yy3;
6745 				goto yy188;
6746 			} else {
6747 				if (yych <= 't') goto yy390;
6748 				if (yych <= 'z') goto yy188;
6749 				goto yy3;
6750 			}
6751 		}
6752 	}
6753 yy390:
6754 	YYDEBUG(390, *YYCURSOR);
6755 	yyaccept = 5;
6756 	yych = *(YYMARKER = ++YYCURSOR);
6757 	if (yych <= '9') {
6758 		if (yych <= '(') {
6759 			if (yych <= '\t') {
6760 				if (yych <= 0x08) goto yy248;
6761 				goto yy250;
6762 			} else {
6763 				if (yych == ' ') goto yy250;
6764 				goto yy248;
6765 			}
6766 		} else {
6767 			if (yych <= '-') {
6768 				if (yych <= ')') goto yy181;
6769 				if (yych <= ',') goto yy248;
6770 				goto yy377;
6771 			} else {
6772 				if (yych == '/') goto yy189;
6773 				goto yy250;
6774 			}
6775 		}
6776 	} else {
6777 		if (yych <= '^') {
6778 			if (yych <= 'N') {
6779 				if (yych <= '@') goto yy248;
6780 				goto yy184;
6781 			} else {
6782 				if (yych <= 'O') goto yy386;
6783 				if (yych <= 'Z') goto yy184;
6784 				goto yy248;
6785 			}
6786 		} else {
6787 			if (yych <= 'n') {
6788 				if (yych <= '_') goto yy189;
6789 				if (yych <= '`') goto yy248;
6790 				goto yy192;
6791 			} else {
6792 				if (yych <= 'o') goto yy391;
6793 				if (yych <= 'z') goto yy192;
6794 				goto yy248;
6795 			}
6796 		}
6797 	}
6798 yy391:
6799 	YYDEBUG(391, *YYCURSOR);
6800 	yyaccept = 1;
6801 	yych = *(YYMARKER = ++YYCURSOR);
6802 	if (yych <= 'A') {
6803 		if (yych <= '-') {
6804 			if (yych == ')') goto yy181;
6805 			if (yych <= ',') goto yy3;
6806 			goto yy189;
6807 		} else {
6808 			if (yych == '/') goto yy189;
6809 			if (yych <= '@') goto yy3;
6810 			goto yy185;
6811 		}
6812 	} else {
6813 		if (yych <= '_') {
6814 			if (yych <= 'B') goto yy387;
6815 			if (yych <= 'Z') goto yy185;
6816 			if (yych <= '^') goto yy3;
6817 			goto yy189;
6818 		} else {
6819 			if (yych <= 'a') {
6820 				if (yych <= '`') goto yy3;
6821 				goto yy193;
6822 			} else {
6823 				if (yych <= 'b') goto yy392;
6824 				if (yych <= 'z') goto yy193;
6825 				goto yy3;
6826 			}
6827 		}
6828 	}
6829 yy392:
6830 	YYDEBUG(392, *YYCURSOR);
6831 	yyaccept = 1;
6832 	yych = *(YYMARKER = ++YYCURSOR);
6833 	if (yych <= 'D') {
6834 		if (yych <= '-') {
6835 			if (yych == ')') goto yy181;
6836 			if (yych <= ',') goto yy3;
6837 			goto yy189;
6838 		} else {
6839 			if (yych == '/') goto yy189;
6840 			if (yych <= '@') goto yy3;
6841 			goto yy186;
6842 		}
6843 	} else {
6844 		if (yych <= '_') {
6845 			if (yych <= 'E') goto yy388;
6846 			if (yych <= 'Z') goto yy186;
6847 			if (yych <= '^') goto yy3;
6848 			goto yy189;
6849 		} else {
6850 			if (yych <= 'd') {
6851 				if (yych <= '`') goto yy3;
6852 				goto yy194;
6853 			} else {
6854 				if (yych <= 'e') goto yy393;
6855 				if (yych <= 'z') goto yy194;
6856 				goto yy3;
6857 			}
6858 		}
6859 	}
6860 yy393:
6861 	YYDEBUG(393, *YYCURSOR);
6862 	yyaccept = 1;
6863 	yych = *(YYMARKER = ++YYCURSOR);
6864 	if (yych <= 'Q') {
6865 		if (yych <= ',') {
6866 			if (yych == ')') goto yy181;
6867 			goto yy3;
6868 		} else {
6869 			if (yych == '.') goto yy3;
6870 			if (yych <= '/') goto yy189;
6871 			goto yy3;
6872 		}
6873 	} else {
6874 		if (yych <= '`') {
6875 			if (yych <= 'R') goto yy259;
6876 			if (yych == '_') goto yy189;
6877 			goto yy3;
6878 		} else {
6879 			if (yych == 'r') goto yy382;
6880 			if (yych <= 'z') goto yy195;
6881 			goto yy3;
6882 		}
6883 	}
6884 yy394:
6885 	YYDEBUG(394, *YYCURSOR);
6886 	yych = *++YYCURSOR;
6887 	if (yych <= 'G') {
6888 		if (yych <= ')') {
6889 			if (yych <= '(') goto yy3;
6890 			goto yy181;
6891 		} else {
6892 			if (yych <= '@') goto yy3;
6893 			if (yych <= 'F') goto yy183;
6894 			goto yy402;
6895 		}
6896 	} else {
6897 		if (yych <= 'f') {
6898 			if (yych <= 'Z') goto yy183;
6899 			if (yych <= '`') goto yy3;
6900 			goto yy183;
6901 		} else {
6902 			if (yych <= 'g') goto yy402;
6903 			if (yych <= 'z') goto yy183;
6904 			goto yy3;
6905 		}
6906 	}
6907 yy395:
6908 	YYDEBUG(395, *YYCURSOR);
6909 	yych = *++YYCURSOR;
6910 	if (yych <= 'R') {
6911 		if (yych <= ')') {
6912 			if (yych <= '(') goto yy3;
6913 			goto yy181;
6914 		} else {
6915 			if (yych <= '@') goto yy3;
6916 			if (yych <= 'Q') goto yy183;
6917 			goto yy399;
6918 		}
6919 	} else {
6920 		if (yych <= 'q') {
6921 			if (yych <= 'Z') goto yy183;
6922 			if (yych <= '`') goto yy3;
6923 			goto yy183;
6924 		} else {
6925 			if (yych <= 'r') goto yy399;
6926 			if (yych <= 'z') goto yy183;
6927 			goto yy3;
6928 		}
6929 	}
6930 yy396:
6931 	YYDEBUG(396, *YYCURSOR);
6932 	yych = *++YYCURSOR;
6933 	if (yych <= 'O') {
6934 		if (yych <= ')') {
6935 			if (yych <= '(') goto yy3;
6936 			goto yy181;
6937 		} else {
6938 			if (yych <= '@') goto yy3;
6939 			if (yych <= 'N') goto yy183;
6940 		}
6941 	} else {
6942 		if (yych <= 'n') {
6943 			if (yych <= 'Z') goto yy183;
6944 			if (yych <= '`') goto yy3;
6945 			goto yy183;
6946 		} else {
6947 			if (yych <= 'o') goto yy397;
6948 			if (yych <= 'z') goto yy183;
6949 			goto yy3;
6950 		}
6951 	}
6952 yy397:
6953 	YYDEBUG(397, *YYCURSOR);
6954 	++YYCURSOR;
6955 	if ((yych = *YYCURSOR) <= '@') {
6956 		if (yych == ')') goto yy181;
6957 	} else {
6958 		if (yych <= 'Z') goto yy184;
6959 		if (yych <= '`') goto yy398;
6960 		if (yych <= 'z') goto yy184;
6961 	}
6962 yy398:
6963 	YYDEBUG(398, *YYCURSOR);
6964 #line 1733 "ext/date/lib/parse_date.re"
6965 	{
6966 		DEBUG_OUTPUT("ago");
6967 		TIMELIB_INIT;
6968 		s->time->relative.y = 0 - s->time->relative.y;
6969 		s->time->relative.m = 0 - s->time->relative.m;
6970 		s->time->relative.d = 0 - s->time->relative.d;
6971 		s->time->relative.h = 0 - s->time->relative.h;
6972 		s->time->relative.i = 0 - s->time->relative.i;
6973 		s->time->relative.s = 0 - s->time->relative.s;
6974 		s->time->relative.weekday = 0 - s->time->relative.weekday;
6975 		if (s->time->relative.weekday == 0) {
6976 			s->time->relative.weekday = -7;
6977 		}
6978 		if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) {
6979 			s->time->relative.special.amount = 0 - s->time->relative.special.amount;
6980 		}
6981 		TIMELIB_DEINIT;
6982 		return TIMELIB_AGO;
6983 	}
6984 #line 6985 "<stdout>"
6985 yy399:
6986 	YYDEBUG(399, *YYCURSOR);
6987 	yyaccept = 5;
6988 	yych = *(YYMARKER = ++YYCURSOR);
6989 	if (yych <= '/') {
6990 		if (yych <= '(') {
6991 			if (yych <= '\t') {
6992 				if (yych <= 0x08) goto yy248;
6993 				goto yy250;
6994 			} else {
6995 				if (yych == ' ') goto yy250;
6996 				goto yy248;
6997 			}
6998 		} else {
6999 			if (yych <= ',') {
7000 				if (yych <= ')') goto yy181;
7001 				goto yy248;
7002 			} else {
7003 				if (yych <= '-') goto yy251;
7004 				if (yych <= '.') goto yy250;
7005 				goto yy248;
7006 			}
7007 		}
7008 	} else {
7009 		if (yych <= 'Z') {
7010 			if (yych <= '@') {
7011 				if (yych <= '9') goto yy250;
7012 				goto yy248;
7013 			} else {
7014 				if (yych != 'I') goto yy184;
7015 			}
7016 		} else {
7017 			if (yych <= 'h') {
7018 				if (yych <= '`') goto yy248;
7019 				goto yy184;
7020 			} else {
7021 				if (yych <= 'i') goto yy400;
7022 				if (yych <= 'z') goto yy184;
7023 				goto yy248;
7024 			}
7025 		}
7026 	}
7027 yy400:
7028 	YYDEBUG(400, *YYCURSOR);
7029 	yych = *++YYCURSOR;
7030 	if (yych <= 'L') {
7031 		if (yych <= ')') {
7032 			if (yych <= '(') goto yy3;
7033 			goto yy181;
7034 		} else {
7035 			if (yych <= '@') goto yy3;
7036 			if (yych <= 'K') goto yy185;
7037 		}
7038 	} else {
7039 		if (yych <= 'k') {
7040 			if (yych <= 'Z') goto yy185;
7041 			if (yych <= '`') goto yy3;
7042 			goto yy185;
7043 		} else {
7044 			if (yych <= 'l') goto yy401;
7045 			if (yych <= 'z') goto yy185;
7046 			goto yy3;
7047 		}
7048 	}
7049 yy401:
7050 	YYDEBUG(401, *YYCURSOR);
7051 	yyaccept = 5;
7052 	yych = *(YYMARKER = ++YYCURSOR);
7053 	if (yych <= ',') {
7054 		if (yych <= 0x1F) {
7055 			if (yych == '\t') goto yy250;
7056 			goto yy248;
7057 		} else {
7058 			if (yych <= ' ') goto yy250;
7059 			if (yych == ')') goto yy181;
7060 			goto yy248;
7061 		}
7062 	} else {
7063 		if (yych <= '@') {
7064 			if (yych == '/') goto yy248;
7065 			if (yych <= '9') goto yy250;
7066 			goto yy248;
7067 		} else {
7068 			if (yych <= 'Z') goto yy186;
7069 			if (yych <= '`') goto yy248;
7070 			if (yych <= 'z') goto yy186;
7071 			goto yy248;
7072 		}
7073 	}
7074 yy402:
7075 	YYDEBUG(402, *YYCURSOR);
7076 	yyaccept = 5;
7077 	yych = *(YYMARKER = ++YYCURSOR);
7078 	if (yych <= '/') {
7079 		if (yych <= '(') {
7080 			if (yych <= '\t') {
7081 				if (yych <= 0x08) goto yy248;
7082 				goto yy250;
7083 			} else {
7084 				if (yych == ' ') goto yy250;
7085 				goto yy248;
7086 			}
7087 		} else {
7088 			if (yych <= ',') {
7089 				if (yych <= ')') goto yy181;
7090 				goto yy248;
7091 			} else {
7092 				if (yych <= '-') goto yy251;
7093 				if (yych <= '.') goto yy250;
7094 				goto yy248;
7095 			}
7096 		}
7097 	} else {
7098 		if (yych <= 'Z') {
7099 			if (yych <= '@') {
7100 				if (yych <= '9') goto yy250;
7101 				goto yy248;
7102 			} else {
7103 				if (yych != 'U') goto yy184;
7104 			}
7105 		} else {
7106 			if (yych <= 't') {
7107 				if (yych <= '`') goto yy248;
7108 				goto yy184;
7109 			} else {
7110 				if (yych <= 'u') goto yy403;
7111 				if (yych <= 'z') goto yy184;
7112 				goto yy248;
7113 			}
7114 		}
7115 	}
7116 yy403:
7117 	YYDEBUG(403, *YYCURSOR);
7118 	yych = *++YYCURSOR;
7119 	if (yych <= 'S') {
7120 		if (yych <= ')') {
7121 			if (yych <= '(') goto yy3;
7122 			goto yy181;
7123 		} else {
7124 			if (yych <= '@') goto yy3;
7125 			if (yych <= 'R') goto yy185;
7126 		}
7127 	} else {
7128 		if (yych <= 'r') {
7129 			if (yych <= 'Z') goto yy185;
7130 			if (yych <= '`') goto yy3;
7131 			goto yy185;
7132 		} else {
7133 			if (yych <= 's') goto yy404;
7134 			if (yych <= 'z') goto yy185;
7135 			goto yy3;
7136 		}
7137 	}
7138 yy404:
7139 	YYDEBUG(404, *YYCURSOR);
7140 	yych = *++YYCURSOR;
7141 	if (yych <= 'T') {
7142 		if (yych <= ')') {
7143 			if (yych <= '(') goto yy3;
7144 			goto yy181;
7145 		} else {
7146 			if (yych <= '@') goto yy3;
7147 			if (yych <= 'S') goto yy186;
7148 		}
7149 	} else {
7150 		if (yych <= 's') {
7151 			if (yych <= 'Z') goto yy186;
7152 			if (yych <= '`') goto yy3;
7153 			goto yy186;
7154 		} else {
7155 			if (yych <= 't') goto yy405;
7156 			if (yych <= 'z') goto yy186;
7157 			goto yy3;
7158 		}
7159 	}
7160 yy405:
7161 	YYDEBUG(405, *YYCURSOR);
7162 	yyaccept = 5;
7163 	yych = *(YYMARKER = ++YYCURSOR);
7164 	if (yych <= '(') {
7165 		if (yych <= '\t') {
7166 			if (yych <= 0x08) goto yy248;
7167 			goto yy250;
7168 		} else {
7169 			if (yych == ' ') goto yy250;
7170 			goto yy248;
7171 		}
7172 	} else {
7173 		if (yych <= '.') {
7174 			if (yych <= ')') goto yy181;
7175 			if (yych <= ',') goto yy248;
7176 			goto yy250;
7177 		} else {
7178 			if (yych <= '/') goto yy248;
7179 			if (yych <= '9') goto yy250;
7180 			goto yy248;
7181 		}
7182 	}
7183 yy406:
7184 	YYDEBUG(406, *YYCURSOR);
7185 	yyaccept = 1;
7186 	yych = *(YYMARKER = ++YYCURSOR);
7187 	if (yych <= 'F') {
7188 		if (yych <= '-') {
7189 			if (yych == ')') goto yy181;
7190 			if (yych <= ',') goto yy3;
7191 			goto yy189;
7192 		} else {
7193 			if (yych == '/') goto yy189;
7194 			if (yych <= '@') goto yy3;
7195 			goto yy183;
7196 		}
7197 	} else {
7198 		if (yych <= '_') {
7199 			if (yych <= 'G') goto yy402;
7200 			if (yych <= 'Z') goto yy183;
7201 			if (yych <= '^') goto yy3;
7202 			goto yy189;
7203 		} else {
7204 			if (yych <= 'f') {
7205 				if (yych <= '`') goto yy3;
7206 				goto yy188;
7207 			} else {
7208 				if (yych <= 'g') goto yy413;
7209 				if (yych <= 'z') goto yy188;
7210 				goto yy3;
7211 			}
7212 		}
7213 	}
7214 yy407:
7215 	YYDEBUG(407, *YYCURSOR);
7216 	yyaccept = 1;
7217 	yych = *(YYMARKER = ++YYCURSOR);
7218 	if (yych <= 'Q') {
7219 		if (yych <= '-') {
7220 			if (yych == ')') goto yy181;
7221 			if (yych <= ',') goto yy3;
7222 			goto yy189;
7223 		} else {
7224 			if (yych == '/') goto yy189;
7225 			if (yych <= '@') goto yy3;
7226 			goto yy183;
7227 		}
7228 	} else {
7229 		if (yych <= '_') {
7230 			if (yych <= 'R') goto yy399;
7231 			if (yych <= 'Z') goto yy183;
7232 			if (yych <= '^') goto yy3;
7233 			goto yy189;
7234 		} else {
7235 			if (yych <= 'q') {
7236 				if (yych <= '`') goto yy3;
7237 				goto yy188;
7238 			} else {
7239 				if (yych <= 'r') goto yy410;
7240 				if (yych <= 'z') goto yy188;
7241 				goto yy3;
7242 			}
7243 		}
7244 	}
7245 yy408:
7246 	YYDEBUG(408, *YYCURSOR);
7247 	yyaccept = 1;
7248 	yych = *(YYMARKER = ++YYCURSOR);
7249 	if (yych <= 'N') {
7250 		if (yych <= '-') {
7251 			if (yych == ')') goto yy181;
7252 			if (yych <= ',') goto yy3;
7253 			goto yy189;
7254 		} else {
7255 			if (yych == '/') goto yy189;
7256 			if (yych <= '@') goto yy3;
7257 			goto yy183;
7258 		}
7259 	} else {
7260 		if (yych <= '_') {
7261 			if (yych <= 'O') goto yy397;
7262 			if (yych <= 'Z') goto yy183;
7263 			if (yych <= '^') goto yy3;
7264 			goto yy189;
7265 		} else {
7266 			if (yych <= 'n') {
7267 				if (yych <= '`') goto yy3;
7268 				goto yy188;
7269 			} else {
7270 				if (yych <= 'o') goto yy409;
7271 				if (yych <= 'z') goto yy188;
7272 				goto yy3;
7273 			}
7274 		}
7275 	}
7276 yy409:
7277 	YYDEBUG(409, *YYCURSOR);
7278 	yyaccept = 8;
7279 	yych = *(YYMARKER = ++YYCURSOR);
7280 	if (yych <= '/') {
7281 		if (yych <= ',') {
7282 			if (yych == ')') goto yy181;
7283 			goto yy398;
7284 		} else {
7285 			if (yych == '.') goto yy398;
7286 			goto yy189;
7287 		}
7288 	} else {
7289 		if (yych <= '^') {
7290 			if (yych <= '@') goto yy398;
7291 			if (yych <= 'Z') goto yy184;
7292 			goto yy398;
7293 		} else {
7294 			if (yych <= '_') goto yy189;
7295 			if (yych <= '`') goto yy398;
7296 			if (yych <= 'z') goto yy192;
7297 			goto yy398;
7298 		}
7299 	}
7300 yy410:
7301 	YYDEBUG(410, *YYCURSOR);
7302 	yyaccept = 5;
7303 	yych = *(YYMARKER = ++YYCURSOR);
7304 	if (yych <= '9') {
7305 		if (yych <= '(') {
7306 			if (yych <= '\t') {
7307 				if (yych <= 0x08) goto yy248;
7308 				goto yy250;
7309 			} else {
7310 				if (yych == ' ') goto yy250;
7311 				goto yy248;
7312 			}
7313 		} else {
7314 			if (yych <= '-') {
7315 				if (yych <= ')') goto yy181;
7316 				if (yych <= ',') goto yy248;
7317 				goto yy377;
7318 			} else {
7319 				if (yych == '/') goto yy189;
7320 				goto yy250;
7321 			}
7322 		}
7323 	} else {
7324 		if (yych <= '^') {
7325 			if (yych <= 'H') {
7326 				if (yych <= '@') goto yy248;
7327 				goto yy184;
7328 			} else {
7329 				if (yych <= 'I') goto yy400;
7330 				if (yych <= 'Z') goto yy184;
7331 				goto yy248;
7332 			}
7333 		} else {
7334 			if (yych <= 'h') {
7335 				if (yych <= '_') goto yy189;
7336 				if (yych <= '`') goto yy248;
7337 				goto yy192;
7338 			} else {
7339 				if (yych <= 'i') goto yy411;
7340 				if (yych <= 'z') goto yy192;
7341 				goto yy248;
7342 			}
7343 		}
7344 	}
7345 yy411:
7346 	YYDEBUG(411, *YYCURSOR);
7347 	yyaccept = 1;
7348 	yych = *(YYMARKER = ++YYCURSOR);
7349 	if (yych <= 'K') {
7350 		if (yych <= '-') {
7351 			if (yych == ')') goto yy181;
7352 			if (yych <= ',') goto yy3;
7353 			goto yy189;
7354 		} else {
7355 			if (yych == '/') goto yy189;
7356 			if (yych <= '@') goto yy3;
7357 			goto yy185;
7358 		}
7359 	} else {
7360 		if (yych <= '_') {
7361 			if (yych <= 'L') goto yy401;
7362 			if (yych <= 'Z') goto yy185;
7363 			if (yych <= '^') goto yy3;
7364 			goto yy189;
7365 		} else {
7366 			if (yych <= 'k') {
7367 				if (yych <= '`') goto yy3;
7368 				goto yy193;
7369 			} else {
7370 				if (yych <= 'l') goto yy412;
7371 				if (yych <= 'z') goto yy193;
7372 				goto yy3;
7373 			}
7374 		}
7375 	}
7376 yy412:
7377 	YYDEBUG(412, *YYCURSOR);
7378 	yyaccept = 5;
7379 	yych = *(YYMARKER = ++YYCURSOR);
7380 	if (yych <= '.') {
7381 		if (yych <= ' ') {
7382 			if (yych == '\t') goto yy250;
7383 			if (yych <= 0x1F) goto yy248;
7384 			goto yy250;
7385 		} else {
7386 			if (yych <= ')') {
7387 				if (yych <= '(') goto yy248;
7388 				goto yy181;
7389 			} else {
7390 				if (yych <= ',') goto yy248;
7391 				if (yych <= '-') goto yy383;
7392 				goto yy250;
7393 			}
7394 		}
7395 	} else {
7396 		if (yych <= 'Z') {
7397 			if (yych <= '/') goto yy189;
7398 			if (yych <= '9') goto yy250;
7399 			if (yych <= '@') goto yy248;
7400 			goto yy186;
7401 		} else {
7402 			if (yych <= '_') {
7403 				if (yych <= '^') goto yy248;
7404 				goto yy189;
7405 			} else {
7406 				if (yych <= '`') goto yy248;
7407 				if (yych <= 'z') goto yy194;
7408 				goto yy248;
7409 			}
7410 		}
7411 	}
7412 yy413:
7413 	YYDEBUG(413, *YYCURSOR);
7414 	yyaccept = 5;
7415 	yych = *(YYMARKER = ++YYCURSOR);
7416 	if (yych <= '9') {
7417 		if (yych <= '(') {
7418 			if (yych <= '\t') {
7419 				if (yych <= 0x08) goto yy248;
7420 				goto yy250;
7421 			} else {
7422 				if (yych == ' ') goto yy250;
7423 				goto yy248;
7424 			}
7425 		} else {
7426 			if (yych <= '-') {
7427 				if (yych <= ')') goto yy181;
7428 				if (yych <= ',') goto yy248;
7429 				goto yy377;
7430 			} else {
7431 				if (yych == '/') goto yy189;
7432 				goto yy250;
7433 			}
7434 		}
7435 	} else {
7436 		if (yych <= '^') {
7437 			if (yych <= 'T') {
7438 				if (yych <= '@') goto yy248;
7439 				goto yy184;
7440 			} else {
7441 				if (yych <= 'U') goto yy403;
7442 				if (yych <= 'Z') goto yy184;
7443 				goto yy248;
7444 			}
7445 		} else {
7446 			if (yych <= 't') {
7447 				if (yych <= '_') goto yy189;
7448 				if (yych <= '`') goto yy248;
7449 				goto yy192;
7450 			} else {
7451 				if (yych <= 'u') goto yy414;
7452 				if (yych <= 'z') goto yy192;
7453 				goto yy248;
7454 			}
7455 		}
7456 	}
7457 yy414:
7458 	YYDEBUG(414, *YYCURSOR);
7459 	yyaccept = 1;
7460 	yych = *(YYMARKER = ++YYCURSOR);
7461 	if (yych <= 'R') {
7462 		if (yych <= '-') {
7463 			if (yych == ')') goto yy181;
7464 			if (yych <= ',') goto yy3;
7465 			goto yy189;
7466 		} else {
7467 			if (yych == '/') goto yy189;
7468 			if (yych <= '@') goto yy3;
7469 			goto yy185;
7470 		}
7471 	} else {
7472 		if (yych <= '_') {
7473 			if (yych <= 'S') goto yy404;
7474 			if (yych <= 'Z') goto yy185;
7475 			if (yych <= '^') goto yy3;
7476 			goto yy189;
7477 		} else {
7478 			if (yych <= 'r') {
7479 				if (yych <= '`') goto yy3;
7480 				goto yy193;
7481 			} else {
7482 				if (yych <= 's') goto yy415;
7483 				if (yych <= 'z') goto yy193;
7484 				goto yy3;
7485 			}
7486 		}
7487 	}
7488 yy415:
7489 	YYDEBUG(415, *YYCURSOR);
7490 	yyaccept = 1;
7491 	yych = *(YYMARKER = ++YYCURSOR);
7492 	if (yych <= 'S') {
7493 		if (yych <= '-') {
7494 			if (yych == ')') goto yy181;
7495 			if (yych <= ',') goto yy3;
7496 			goto yy189;
7497 		} else {
7498 			if (yych == '/') goto yy189;
7499 			if (yych <= '@') goto yy3;
7500 			goto yy186;
7501 		}
7502 	} else {
7503 		if (yych <= '_') {
7504 			if (yych <= 'T') goto yy405;
7505 			if (yych <= 'Z') goto yy186;
7506 			if (yych <= '^') goto yy3;
7507 			goto yy189;
7508 		} else {
7509 			if (yych <= 's') {
7510 				if (yych <= '`') goto yy3;
7511 				goto yy194;
7512 			} else {
7513 				if (yych <= 't') goto yy416;
7514 				if (yych <= 'z') goto yy194;
7515 				goto yy3;
7516 			}
7517 		}
7518 	}
7519 yy416:
7520 	YYDEBUG(416, *YYCURSOR);
7521 	yyaccept = 5;
7522 	yych = *(YYMARKER = ++YYCURSOR);
7523 	if (yybm[0+yych] & 8) {
7524 		goto yy195;
7525 	}
7526 	if (yych <= ',') {
7527 		if (yych <= 0x1F) {
7528 			if (yych == '\t') goto yy250;
7529 			goto yy248;
7530 		} else {
7531 			if (yych <= ' ') goto yy250;
7532 			if (yych == ')') goto yy181;
7533 			goto yy248;
7534 		}
7535 	} else {
7536 		if (yych <= '/') {
7537 			if (yych <= '-') goto yy383;
7538 			if (yych <= '.') goto yy250;
7539 			goto yy189;
7540 		} else {
7541 			if (yych <= '9') goto yy250;
7542 			if (yych == '_') goto yy189;
7543 			goto yy248;
7544 		}
7545 	}
7546 yy417:
7547 	YYDEBUG(417, *YYCURSOR);
7548 	yych = *++YYCURSOR;
7549 	if (yych <= 'N') {
7550 		if (yych <= '@') {
7551 			if (yych == ')') goto yy181;
7552 			goto yy3;
7553 		} else {
7554 			if (yych == 'L') goto yy424;
7555 			if (yych <= 'M') goto yy183;
7556 			goto yy423;
7557 		}
7558 	} else {
7559 		if (yych <= 'l') {
7560 			if (yych <= 'Z') goto yy183;
7561 			if (yych <= '`') goto yy3;
7562 			if (yych <= 'k') goto yy183;
7563 			goto yy424;
7564 		} else {
7565 			if (yych == 'n') goto yy423;
7566 			if (yych <= 'z') goto yy183;
7567 			goto yy3;
7568 		}
7569 	}
7570 yy418:
7571 	YYDEBUG(418, *YYCURSOR);
7572 	yych = *++YYCURSOR;
7573 	if (yych <= 'N') {
7574 		if (yych <= ')') {
7575 			if (yych <= '(') goto yy3;
7576 			goto yy181;
7577 		} else {
7578 			if (yych <= '@') goto yy3;
7579 			if (yych <= 'M') goto yy183;
7580 		}
7581 	} else {
7582 		if (yych <= 'm') {
7583 			if (yych <= 'Z') goto yy183;
7584 			if (yych <= '`') goto yy3;
7585 			goto yy183;
7586 		} else {
7587 			if (yych <= 'n') goto yy419;
7588 			if (yych <= 'z') goto yy183;
7589 			goto yy3;
7590 		}
7591 	}
7592 yy419:
7593 	YYDEBUG(419, *YYCURSOR);
7594 	yyaccept = 5;
7595 	yych = *(YYMARKER = ++YYCURSOR);
7596 	if (yych <= '/') {
7597 		if (yych <= '(') {
7598 			if (yych <= '\t') {
7599 				if (yych <= 0x08) goto yy248;
7600 				goto yy250;
7601 			} else {
7602 				if (yych == ' ') goto yy250;
7603 				goto yy248;
7604 			}
7605 		} else {
7606 			if (yych <= ',') {
7607 				if (yych <= ')') goto yy181;
7608 				goto yy248;
7609 			} else {
7610 				if (yych <= '-') goto yy251;
7611 				if (yych <= '.') goto yy250;
7612 				goto yy248;
7613 			}
7614 		}
7615 	} else {
7616 		if (yych <= 'Z') {
7617 			if (yych <= '@') {
7618 				if (yych <= '9') goto yy250;
7619 				goto yy248;
7620 			} else {
7621 				if (yych != 'U') goto yy184;
7622 			}
7623 		} else {
7624 			if (yych <= 't') {
7625 				if (yych <= '`') goto yy248;
7626 				goto yy184;
7627 			} else {
7628 				if (yych <= 'u') goto yy420;
7629 				if (yych <= 'z') goto yy184;
7630 				goto yy248;
7631 			}
7632 		}
7633 	}
7634 yy420:
7635 	YYDEBUG(420, *YYCURSOR);
7636 	yych = *++YYCURSOR;
7637 	if (yych <= 'A') {
7638 		if (yych == ')') goto yy181;
7639 		if (yych <= '@') goto yy3;
7640 	} else {
7641 		if (yych <= '`') {
7642 			if (yych <= 'Z') goto yy185;
7643 			goto yy3;
7644 		} else {
7645 			if (yych <= 'a') goto yy421;
7646 			if (yych <= 'z') goto yy185;
7647 			goto yy3;
7648 		}
7649 	}
7650 yy421:
7651 	YYDEBUG(421, *YYCURSOR);
7652 	yych = *++YYCURSOR;
7653 	if (yych <= 'R') {
7654 		if (yych <= ')') {
7655 			if (yych <= '(') goto yy3;
7656 			goto yy181;
7657 		} else {
7658 			if (yych <= '@') goto yy3;
7659 			if (yych <= 'Q') goto yy186;
7660 		}
7661 	} else {
7662 		if (yych <= 'q') {
7663 			if (yych <= 'Z') goto yy186;
7664 			if (yych <= '`') goto yy3;
7665 			goto yy186;
7666 		} else {
7667 			if (yych <= 'r') goto yy422;
7668 			if (yych <= 'z') goto yy186;
7669 			goto yy3;
7670 		}
7671 	}
7672 yy422:
7673 	YYDEBUG(422, *YYCURSOR);
7674 	yych = *++YYCURSOR;
7675 	if (yych <= 'X') {
7676 		if (yych == ')') goto yy181;
7677 		goto yy3;
7678 	} else {
7679 		if (yych <= 'Y') goto yy259;
7680 		if (yych == 'y') goto yy259;
7681 		goto yy3;
7682 	}
7683 yy423:
7684 	YYDEBUG(423, *YYCURSOR);
7685 	yyaccept = 5;
7686 	yych = *(YYMARKER = ++YYCURSOR);
7687 	if (yych <= '/') {
7688 		if (yych <= '(') {
7689 			if (yych <= '\t') {
7690 				if (yych <= 0x08) goto yy248;
7691 				goto yy250;
7692 			} else {
7693 				if (yych == ' ') goto yy250;
7694 				goto yy248;
7695 			}
7696 		} else {
7697 			if (yych <= ',') {
7698 				if (yych <= ')') goto yy181;
7699 				goto yy248;
7700 			} else {
7701 				if (yych <= '-') goto yy251;
7702 				if (yych <= '.') goto yy250;
7703 				goto yy248;
7704 			}
7705 		}
7706 	} else {
7707 		if (yych <= 'Z') {
7708 			if (yych <= '@') {
7709 				if (yych <= '9') goto yy250;
7710 				goto yy248;
7711 			} else {
7712 				if (yych == 'E') goto yy425;
7713 				goto yy184;
7714 			}
7715 		} else {
7716 			if (yych <= 'd') {
7717 				if (yych <= '`') goto yy248;
7718 				goto yy184;
7719 			} else {
7720 				if (yych <= 'e') goto yy425;
7721 				if (yych <= 'z') goto yy184;
7722 				goto yy248;
7723 			}
7724 		}
7725 	}
7726 yy424:
7727 	YYDEBUG(424, *YYCURSOR);
7728 	yyaccept = 5;
7729 	yych = *(YYMARKER = ++YYCURSOR);
7730 	if (yych <= '/') {
7731 		if (yych <= '(') {
7732 			if (yych <= '\t') {
7733 				if (yych <= 0x08) goto yy248;
7734 				goto yy250;
7735 			} else {
7736 				if (yych == ' ') goto yy250;
7737 				goto yy248;
7738 			}
7739 		} else {
7740 			if (yych <= ',') {
7741 				if (yych <= ')') goto yy181;
7742 				goto yy248;
7743 			} else {
7744 				if (yych <= '-') goto yy251;
7745 				if (yych <= '.') goto yy250;
7746 				goto yy248;
7747 			}
7748 		}
7749 	} else {
7750 		if (yych <= 'Z') {
7751 			if (yych <= '@') {
7752 				if (yych <= '9') goto yy250;
7753 				goto yy248;
7754 			} else {
7755 				if (yych != 'Y') goto yy184;
7756 			}
7757 		} else {
7758 			if (yych <= 'x') {
7759 				if (yych <= '`') goto yy248;
7760 				goto yy184;
7761 			} else {
7762 				if (yych <= 'y') goto yy425;
7763 				if (yych <= 'z') goto yy184;
7764 				goto yy248;
7765 			}
7766 		}
7767 	}
7768 yy425:
7769 	YYDEBUG(425, *YYCURSOR);
7770 	yyaccept = 5;
7771 	yych = *(YYMARKER = ++YYCURSOR);
7772 	if (yych <= ',') {
7773 		if (yych <= 0x1F) {
7774 			if (yych == '\t') goto yy250;
7775 			goto yy248;
7776 		} else {
7777 			if (yych <= ' ') goto yy250;
7778 			if (yych == ')') goto yy181;
7779 			goto yy248;
7780 		}
7781 	} else {
7782 		if (yych <= '@') {
7783 			if (yych == '/') goto yy248;
7784 			if (yych <= '9') goto yy250;
7785 			goto yy248;
7786 		} else {
7787 			if (yych <= 'Z') goto yy185;
7788 			if (yych <= '`') goto yy248;
7789 			if (yych <= 'z') goto yy185;
7790 			goto yy248;
7791 		}
7792 	}
7793 yy426:
7794 	YYDEBUG(426, *YYCURSOR);
7795 	yyaccept = 1;
7796 	yych = *(YYMARKER = ++YYCURSOR);
7797 	if (yych <= 'M') {
7798 		if (yych <= '.') {
7799 			if (yych <= ')') {
7800 				if (yych <= '(') goto yy3;
7801 				goto yy181;
7802 			} else {
7803 				if (yych == '-') goto yy189;
7804 				goto yy3;
7805 			}
7806 		} else {
7807 			if (yych <= '@') {
7808 				if (yych <= '/') goto yy189;
7809 				goto yy3;
7810 			} else {
7811 				if (yych == 'L') goto yy424;
7812 				goto yy183;
7813 			}
7814 		}
7815 	} else {
7816 		if (yych <= '`') {
7817 			if (yych <= 'Z') {
7818 				if (yych <= 'N') goto yy423;
7819 				goto yy183;
7820 			} else {
7821 				if (yych == '_') goto yy189;
7822 				goto yy3;
7823 			}
7824 		} else {
7825 			if (yych <= 'm') {
7826 				if (yych == 'l') goto yy433;
7827 				goto yy188;
7828 			} else {
7829 				if (yych <= 'n') goto yy432;
7830 				if (yych <= 'z') goto yy188;
7831 				goto yy3;
7832 			}
7833 		}
7834 	}
7835 yy427:
7836 	YYDEBUG(427, *YYCURSOR);
7837 	yyaccept = 1;
7838 	yych = *(YYMARKER = ++YYCURSOR);
7839 	if (yych <= 'M') {
7840 		if (yych <= '-') {
7841 			if (yych == ')') goto yy181;
7842 			if (yych <= ',') goto yy3;
7843 			goto yy189;
7844 		} else {
7845 			if (yych == '/') goto yy189;
7846 			if (yych <= '@') goto yy3;
7847 			goto yy183;
7848 		}
7849 	} else {
7850 		if (yych <= '_') {
7851 			if (yych <= 'N') goto yy419;
7852 			if (yych <= 'Z') goto yy183;
7853 			if (yych <= '^') goto yy3;
7854 			goto yy189;
7855 		} else {
7856 			if (yych <= 'm') {
7857 				if (yych <= '`') goto yy3;
7858 				goto yy188;
7859 			} else {
7860 				if (yych <= 'n') goto yy428;
7861 				if (yych <= 'z') goto yy188;
7862 				goto yy3;
7863 			}
7864 		}
7865 	}
7866 yy428:
7867 	YYDEBUG(428, *YYCURSOR);
7868 	yyaccept = 5;
7869 	yych = *(YYMARKER = ++YYCURSOR);
7870 	if (yych <= '9') {
7871 		if (yych <= '(') {
7872 			if (yych <= '\t') {
7873 				if (yych <= 0x08) goto yy248;
7874 				goto yy250;
7875 			} else {
7876 				if (yych == ' ') goto yy250;
7877 				goto yy248;
7878 			}
7879 		} else {
7880 			if (yych <= '-') {
7881 				if (yych <= ')') goto yy181;
7882 				if (yych <= ',') goto yy248;
7883 				goto yy377;
7884 			} else {
7885 				if (yych == '/') goto yy189;
7886 				goto yy250;
7887 			}
7888 		}
7889 	} else {
7890 		if (yych <= '^') {
7891 			if (yych <= 'T') {
7892 				if (yych <= '@') goto yy248;
7893 				goto yy184;
7894 			} else {
7895 				if (yych <= 'U') goto yy420;
7896 				if (yych <= 'Z') goto yy184;
7897 				goto yy248;
7898 			}
7899 		} else {
7900 			if (yych <= 't') {
7901 				if (yych <= '_') goto yy189;
7902 				if (yych <= '`') goto yy248;
7903 				goto yy192;
7904 			} else {
7905 				if (yych <= 'u') goto yy429;
7906 				if (yych <= 'z') goto yy192;
7907 				goto yy248;
7908 			}
7909 		}
7910 	}
7911 yy429:
7912 	YYDEBUG(429, *YYCURSOR);
7913 	yyaccept = 1;
7914 	yych = *(YYMARKER = ++YYCURSOR);
7915 	if (yych <= '@') {
7916 		if (yych <= ',') {
7917 			if (yych == ')') goto yy181;
7918 			goto yy3;
7919 		} else {
7920 			if (yych == '.') goto yy3;
7921 			if (yych <= '/') goto yy189;
7922 			goto yy3;
7923 		}
7924 	} else {
7925 		if (yych <= '_') {
7926 			if (yych <= 'A') goto yy421;
7927 			if (yych <= 'Z') goto yy185;
7928 			if (yych <= '^') goto yy3;
7929 			goto yy189;
7930 		} else {
7931 			if (yych <= '`') goto yy3;
7932 			if (yych <= 'a') goto yy430;
7933 			if (yych <= 'z') goto yy193;
7934 			goto yy3;
7935 		}
7936 	}
7937 yy430:
7938 	YYDEBUG(430, *YYCURSOR);
7939 	yyaccept = 1;
7940 	yych = *(YYMARKER = ++YYCURSOR);
7941 	if (yych <= 'Q') {
7942 		if (yych <= '-') {
7943 			if (yych == ')') goto yy181;
7944 			if (yych <= ',') goto yy3;
7945 			goto yy189;
7946 		} else {
7947 			if (yych == '/') goto yy189;
7948 			if (yych <= '@') goto yy3;
7949 			goto yy186;
7950 		}
7951 	} else {
7952 		if (yych <= '_') {
7953 			if (yych <= 'R') goto yy422;
7954 			if (yych <= 'Z') goto yy186;
7955 			if (yych <= '^') goto yy3;
7956 			goto yy189;
7957 		} else {
7958 			if (yych <= 'q') {
7959 				if (yych <= '`') goto yy3;
7960 				goto yy194;
7961 			} else {
7962 				if (yych <= 'r') goto yy431;
7963 				if (yych <= 'z') goto yy194;
7964 				goto yy3;
7965 			}
7966 		}
7967 	}
7968 yy431:
7969 	YYDEBUG(431, *YYCURSOR);
7970 	yyaccept = 1;
7971 	yych = *(YYMARKER = ++YYCURSOR);
7972 	if (yych <= 'X') {
7973 		if (yych <= ',') {
7974 			if (yych == ')') goto yy181;
7975 			goto yy3;
7976 		} else {
7977 			if (yych == '.') goto yy3;
7978 			if (yych <= '/') goto yy189;
7979 			goto yy3;
7980 		}
7981 	} else {
7982 		if (yych <= '`') {
7983 			if (yych <= 'Y') goto yy259;
7984 			if (yych == '_') goto yy189;
7985 			goto yy3;
7986 		} else {
7987 			if (yych == 'y') goto yy382;
7988 			if (yych <= 'z') goto yy195;
7989 			goto yy3;
7990 		}
7991 	}
7992 yy432:
7993 	YYDEBUG(432, *YYCURSOR);
7994 	yyaccept = 5;
7995 	yych = *(YYMARKER = ++YYCURSOR);
7996 	if (yych <= '9') {
7997 		if (yych <= '(') {
7998 			if (yych <= '\t') {
7999 				if (yych <= 0x08) goto yy248;
8000 				goto yy250;
8001 			} else {
8002 				if (yych == ' ') goto yy250;
8003 				goto yy248;
8004 			}
8005 		} else {
8006 			if (yych <= '-') {
8007 				if (yych <= ')') goto yy181;
8008 				if (yych <= ',') goto yy248;
8009 				goto yy377;
8010 			} else {
8011 				if (yych == '/') goto yy189;
8012 				goto yy250;
8013 			}
8014 		}
8015 	} else {
8016 		if (yych <= '^') {
8017 			if (yych <= 'D') {
8018 				if (yych <= '@') goto yy248;
8019 				goto yy184;
8020 			} else {
8021 				if (yych <= 'E') goto yy425;
8022 				if (yych <= 'Z') goto yy184;
8023 				goto yy248;
8024 			}
8025 		} else {
8026 			if (yych <= 'd') {
8027 				if (yych <= '_') goto yy189;
8028 				if (yych <= '`') goto yy248;
8029 				goto yy192;
8030 			} else {
8031 				if (yych <= 'e') goto yy434;
8032 				if (yych <= 'z') goto yy192;
8033 				goto yy248;
8034 			}
8035 		}
8036 	}
8037 yy433:
8038 	YYDEBUG(433, *YYCURSOR);
8039 	yyaccept = 5;
8040 	yych = *(YYMARKER = ++YYCURSOR);
8041 	if (yych <= '9') {
8042 		if (yych <= '(') {
8043 			if (yych <= '\t') {
8044 				if (yych <= 0x08) goto yy248;
8045 				goto yy250;
8046 			} else {
8047 				if (yych == ' ') goto yy250;
8048 				goto yy248;
8049 			}
8050 		} else {
8051 			if (yych <= '-') {
8052 				if (yych <= ')') goto yy181;
8053 				if (yych <= ',') goto yy248;
8054 				goto yy377;
8055 			} else {
8056 				if (yych == '/') goto yy189;
8057 				goto yy250;
8058 			}
8059 		}
8060 	} else {
8061 		if (yych <= '^') {
8062 			if (yych <= 'X') {
8063 				if (yych <= '@') goto yy248;
8064 				goto yy184;
8065 			} else {
8066 				if (yych <= 'Y') goto yy425;
8067 				if (yych <= 'Z') goto yy184;
8068 				goto yy248;
8069 			}
8070 		} else {
8071 			if (yych <= 'x') {
8072 				if (yych <= '_') goto yy189;
8073 				if (yych <= '`') goto yy248;
8074 				goto yy192;
8075 			} else {
8076 				if (yych <= 'y') goto yy434;
8077 				if (yych <= 'z') goto yy192;
8078 				goto yy248;
8079 			}
8080 		}
8081 	}
8082 yy434:
8083 	YYDEBUG(434, *YYCURSOR);
8084 	yyaccept = 5;
8085 	yych = *(YYMARKER = ++YYCURSOR);
8086 	if (yych <= '.') {
8087 		if (yych <= ' ') {
8088 			if (yych == '\t') goto yy250;
8089 			if (yych <= 0x1F) goto yy248;
8090 			goto yy250;
8091 		} else {
8092 			if (yych <= ')') {
8093 				if (yych <= '(') goto yy248;
8094 				goto yy181;
8095 			} else {
8096 				if (yych <= ',') goto yy248;
8097 				if (yych <= '-') goto yy383;
8098 				goto yy250;
8099 			}
8100 		}
8101 	} else {
8102 		if (yych <= 'Z') {
8103 			if (yych <= '/') goto yy189;
8104 			if (yych <= '9') goto yy250;
8105 			if (yych <= '@') goto yy248;
8106 			goto yy185;
8107 		} else {
8108 			if (yych <= '_') {
8109 				if (yych <= '^') goto yy248;
8110 				goto yy189;
8111 			} else {
8112 				if (yych <= '`') goto yy248;
8113 				if (yych <= 'z') goto yy193;
8114 				goto yy248;
8115 			}
8116 		}
8117 	}
8118 yy435:
8119 	YYDEBUG(435, *YYCURSOR);
8120 	yyaccept = 1;
8121 	yych = *(YYMARKER = ++YYCURSOR);
8122 	if (yych <= '.') {
8123 		if (yych <= ' ') {
8124 			if (yych == '\t') goto yy250;
8125 			if (yych <= 0x1F) goto yy3;
8126 			goto yy250;
8127 		} else {
8128 			if (yych == ')') goto yy181;
8129 			if (yych <= ',') goto yy3;
8130 			goto yy250;
8131 		}
8132 	} else {
8133 		if (yych <= 'H') {
8134 			if (yych <= '/') goto yy3;
8135 			if (yych <= '9') goto yy250;
8136 			if (yych <= '@') goto yy3;
8137 			goto yy183;
8138 		} else {
8139 			if (yych <= 'Z') {
8140 				if (yych >= 'J') goto yy183;
8141 			} else {
8142 				if (yych <= '`') goto yy3;
8143 				if (yych <= 'z') goto yy183;
8144 				goto yy3;
8145 			}
8146 		}
8147 	}
8148 yy436:
8149 	YYDEBUG(436, *YYCURSOR);
8150 	yyaccept = 1;
8151 	yych = *(YYMARKER = ++YYCURSOR);
8152 	if (yych <= ',') {
8153 		if (yych <= 0x1F) {
8154 			if (yych == '\t') goto yy250;
8155 			goto yy3;
8156 		} else {
8157 			if (yych <= ' ') goto yy250;
8158 			if (yych == ')') goto yy181;
8159 			goto yy3;
8160 		}
8161 	} else {
8162 		if (yych <= '@') {
8163 			if (yych == '/') goto yy3;
8164 			if (yych <= '9') goto yy250;
8165 			goto yy3;
8166 		} else {
8167 			if (yych <= 'Z') goto yy184;
8168 			if (yych <= '`') goto yy3;
8169 			if (yych <= 'z') goto yy184;
8170 			goto yy3;
8171 		}
8172 	}
8173 yy437:
8174 	YYDEBUG(437, *YYCURSOR);
8175 	yyaccept = 1;
8176 	yych = *(YYMARKER = ++YYCURSOR);
8177 	if (yych <= '.') {
8178 		if (yych <= ' ') {
8179 			if (yych == '\t') goto yy250;
8180 			if (yych <= 0x1F) goto yy3;
8181 			goto yy250;
8182 		} else {
8183 			if (yych == ')') goto yy181;
8184 			if (yych <= ',') goto yy3;
8185 			goto yy250;
8186 		}
8187 	} else {
8188 		if (yych <= 'H') {
8189 			if (yych <= '/') goto yy3;
8190 			if (yych <= '9') goto yy250;
8191 			if (yych <= '@') goto yy3;
8192 			goto yy183;
8193 		} else {
8194 			if (yych <= 'Z') {
8195 				if (yych >= 'J') goto yy183;
8196 			} else {
8197 				if (yych <= '`') goto yy3;
8198 				if (yych <= 'z') goto yy183;
8199 				goto yy3;
8200 			}
8201 		}
8202 	}
8203 	YYDEBUG(438, *YYCURSOR);
8204 	yyaccept = 1;
8205 	yych = *(YYMARKER = ++YYCURSOR);
8206 	if (yych <= '.') {
8207 		if (yych <= ' ') {
8208 			if (yych == '\t') goto yy250;
8209 			if (yych <= 0x1F) goto yy3;
8210 			goto yy250;
8211 		} else {
8212 			if (yych == ')') goto yy181;
8213 			if (yych <= ',') goto yy3;
8214 			goto yy250;
8215 		}
8216 	} else {
8217 		if (yych <= 'H') {
8218 			if (yych <= '/') goto yy3;
8219 			if (yych <= '9') goto yy250;
8220 			if (yych <= '@') goto yy3;
8221 			goto yy184;
8222 		} else {
8223 			if (yych <= 'Z') {
8224 				if (yych >= 'J') goto yy184;
8225 			} else {
8226 				if (yych <= '`') goto yy3;
8227 				if (yych <= 'z') goto yy184;
8228 				goto yy3;
8229 			}
8230 		}
8231 	}
8232 	YYDEBUG(439, *YYCURSOR);
8233 	yyaccept = 1;
8234 	yych = *(YYMARKER = ++YYCURSOR);
8235 	if (yych <= ',') {
8236 		if (yych <= 0x1F) {
8237 			if (yych == '\t') goto yy250;
8238 			goto yy3;
8239 		} else {
8240 			if (yych <= ' ') goto yy250;
8241 			if (yych == ')') goto yy181;
8242 			goto yy3;
8243 		}
8244 	} else {
8245 		if (yych <= '@') {
8246 			if (yych == '/') goto yy3;
8247 			if (yych <= '9') goto yy250;
8248 			goto yy3;
8249 		} else {
8250 			if (yych <= 'Z') goto yy185;
8251 			if (yych <= '`') goto yy3;
8252 			if (yych <= 'z') goto yy185;
8253 			goto yy3;
8254 		}
8255 	}
8256 yy440:
8257 	YYDEBUG(440, *YYCURSOR);
8258 	yyaccept = 1;
8259 	yych = *(YYMARKER = ++YYCURSOR);
8260 	if (yych <= ',') {
8261 		if (yych <= 0x1F) {
8262 			if (yych == '\t') goto yy250;
8263 			goto yy3;
8264 		} else {
8265 			if (yych <= ' ') goto yy250;
8266 			if (yych == ')') goto yy181;
8267 			goto yy3;
8268 		}
8269 	} else {
8270 		if (yych <= '@') {
8271 			if (yych == '/') goto yy3;
8272 			if (yych <= '9') goto yy250;
8273 			goto yy3;
8274 		} else {
8275 			if (yych <= 'Z') goto yy183;
8276 			if (yych <= '`') goto yy3;
8277 			if (yych <= 'z') goto yy183;
8278 			goto yy3;
8279 		}
8280 	}
8281 yy441:
8282 	YYDEBUG(441, *YYCURSOR);
8283 	yyaccept = 1;
8284 	yych = *(YYMARKER = ++YYCURSOR);
8285 	if (yych <= '.') {
8286 		if (yych <= ' ') {
8287 			if (yych == '\t') goto yy250;
8288 			if (yych <= 0x1F) goto yy3;
8289 			goto yy250;
8290 		} else {
8291 			if (yych == ')') goto yy181;
8292 			if (yych <= ',') goto yy3;
8293 			goto yy250;
8294 		}
8295 	} else {
8296 		if (yych <= 'H') {
8297 			if (yych <= '/') goto yy3;
8298 			if (yych <= '9') goto yy250;
8299 			if (yych <= '@') goto yy3;
8300 			goto yy183;
8301 		} else {
8302 			if (yych <= 'Z') {
8303 				if (yych <= 'I') goto yy436;
8304 				goto yy183;
8305 			} else {
8306 				if (yych <= '`') goto yy3;
8307 				if (yych <= 'z') goto yy183;
8308 				goto yy3;
8309 			}
8310 		}
8311 	}
8312 yy442:
8313 	YYDEBUG(442, *YYCURSOR);
8314 	yyaccept = 1;
8315 	yych = *(YYMARKER = ++YYCURSOR);
8316 	if (yych <= 'W') {
8317 		if (yych <= 'D') {
8318 			if (yych <= ' ') {
8319 				if (yych == '\t') goto yy59;
8320 				if (yych <= 0x1F) goto yy3;
8321 				goto yy59;
8322 			} else {
8323 				if (yych <= '9') {
8324 					if (yych <= '/') goto yy3;
8325 					goto yy487;
8326 				} else {
8327 					if (yych <= ':') goto yy204;
8328 					if (yych <= 'C') goto yy3;
8329 					goto yy59;
8330 				}
8331 			}
8332 		} else {
8333 			if (yych <= 'L') {
8334 				if (yych <= 'F') {
8335 					if (yych <= 'E') goto yy3;
8336 					goto yy59;
8337 				} else {
8338 					if (yych == 'H') goto yy59;
8339 					goto yy3;
8340 				}
8341 			} else {
8342 				if (yych <= 'R') {
8343 					if (yych <= 'M') goto yy59;
8344 					goto yy3;
8345 				} else {
8346 					if (yych == 'V') goto yy3;
8347 					goto yy59;
8348 				}
8349 			}
8350 		}
8351 	} else {
8352 		if (yych <= 'l') {
8353 			if (yych <= 'd') {
8354 				if (yych == 'Y') goto yy59;
8355 				if (yych <= 'c') goto yy3;
8356 				goto yy59;
8357 			} else {
8358 				if (yych <= 'f') {
8359 					if (yych <= 'e') goto yy3;
8360 					goto yy59;
8361 				} else {
8362 					if (yych == 'h') goto yy59;
8363 					goto yy3;
8364 				}
8365 			}
8366 		} else {
8367 			if (yych <= 'w') {
8368 				if (yych <= 'r') {
8369 					if (yych <= 'm') goto yy59;
8370 					goto yy3;
8371 				} else {
8372 					if (yych == 'v') goto yy3;
8373 					goto yy59;
8374 				}
8375 			} else {
8376 				if (yych <= 'y') {
8377 					if (yych <= 'x') goto yy3;
8378 					goto yy59;
8379 				} else {
8380 					if (yych == 0xC2) goto yy59;
8381 					goto yy3;
8382 				}
8383 			}
8384 		}
8385 	}
8386 yy443:
8387 	YYDEBUG(443, *YYCURSOR);
8388 	yyaccept = 1;
8389 	yych = *(YYMARKER = ++YYCURSOR);
8390 	if (yych <= 'V') {
8391 		if (yych <= 'C') {
8392 			if (yych <= '/') {
8393 				if (yych <= '\t') {
8394 					if (yych <= 0x08) goto yy3;
8395 					goto yy59;
8396 				} else {
8397 					if (yych == ' ') goto yy59;
8398 					goto yy3;
8399 				}
8400 			} else {
8401 				if (yych <= '5') {
8402 					if (yych <= '4') goto yy487;
8403 					goto yy447;
8404 				} else {
8405 					if (yych <= '9') goto yy448;
8406 					if (yych <= ':') goto yy204;
8407 					goto yy3;
8408 				}
8409 			}
8410 		} else {
8411 			if (yych <= 'H') {
8412 				if (yych <= 'E') {
8413 					if (yych <= 'D') goto yy59;
8414 					goto yy3;
8415 				} else {
8416 					if (yych == 'G') goto yy3;
8417 					goto yy59;
8418 				}
8419 			} else {
8420 				if (yych <= 'M') {
8421 					if (yych <= 'L') goto yy3;
8422 					goto yy59;
8423 				} else {
8424 					if (yych <= 'R') goto yy3;
8425 					if (yych <= 'U') goto yy59;
8426 					goto yy3;
8427 				}
8428 			}
8429 		}
8430 	} else {
8431 		if (yych <= 'l') {
8432 			if (yych <= 'd') {
8433 				if (yych <= 'X') {
8434 					if (yych <= 'W') goto yy59;
8435 					goto yy3;
8436 				} else {
8437 					if (yych <= 'Y') goto yy59;
8438 					if (yych <= 'c') goto yy3;
8439 					goto yy59;
8440 				}
8441 			} else {
8442 				if (yych <= 'f') {
8443 					if (yych <= 'e') goto yy3;
8444 					goto yy59;
8445 				} else {
8446 					if (yych == 'h') goto yy59;
8447 					goto yy3;
8448 				}
8449 			}
8450 		} else {
8451 			if (yych <= 'w') {
8452 				if (yych <= 'r') {
8453 					if (yych <= 'm') goto yy59;
8454 					goto yy3;
8455 				} else {
8456 					if (yych == 'v') goto yy3;
8457 					goto yy59;
8458 				}
8459 			} else {
8460 				if (yych <= 'y') {
8461 					if (yych <= 'x') goto yy3;
8462 					goto yy59;
8463 				} else {
8464 					if (yych == 0xC2) goto yy59;
8465 					goto yy3;
8466 				}
8467 			}
8468 		}
8469 	}
8470 yy444:
8471 	YYDEBUG(444, *YYCURSOR);
8472 	yyaccept = 1;
8473 	yych = *(YYMARKER = ++YYCURSOR);
8474 	if (yych <= 'V') {
8475 		if (yych <= 'C') {
8476 			if (yych <= ' ') {
8477 				if (yych == '\t') goto yy59;
8478 				if (yych <= 0x1F) goto yy3;
8479 				goto yy59;
8480 			} else {
8481 				if (yych <= '5') {
8482 					if (yych <= '/') goto yy3;
8483 					goto yy447;
8484 				} else {
8485 					if (yych <= '9') goto yy448;
8486 					if (yych <= ':') goto yy204;
8487 					goto yy3;
8488 				}
8489 			}
8490 		} else {
8491 			if (yych <= 'H') {
8492 				if (yych <= 'E') {
8493 					if (yych <= 'D') goto yy59;
8494 					goto yy3;
8495 				} else {
8496 					if (yych == 'G') goto yy3;
8497 					goto yy59;
8498 				}
8499 			} else {
8500 				if (yych <= 'M') {
8501 					if (yych <= 'L') goto yy3;
8502 					goto yy59;
8503 				} else {
8504 					if (yych <= 'R') goto yy3;
8505 					if (yych <= 'U') goto yy59;
8506 					goto yy3;
8507 				}
8508 			}
8509 		}
8510 	} else {
8511 		if (yych <= 'l') {
8512 			if (yych <= 'd') {
8513 				if (yych <= 'X') {
8514 					if (yych <= 'W') goto yy59;
8515 					goto yy3;
8516 				} else {
8517 					if (yych <= 'Y') goto yy59;
8518 					if (yych <= 'c') goto yy3;
8519 					goto yy59;
8520 				}
8521 			} else {
8522 				if (yych <= 'f') {
8523 					if (yych <= 'e') goto yy3;
8524 					goto yy59;
8525 				} else {
8526 					if (yych == 'h') goto yy59;
8527 					goto yy3;
8528 				}
8529 			}
8530 		} else {
8531 			if (yych <= 'w') {
8532 				if (yych <= 'r') {
8533 					if (yych <= 'm') goto yy59;
8534 					goto yy3;
8535 				} else {
8536 					if (yych == 'v') goto yy3;
8537 					goto yy59;
8538 				}
8539 			} else {
8540 				if (yych <= 'y') {
8541 					if (yych <= 'x') goto yy3;
8542 					goto yy59;
8543 				} else {
8544 					if (yych == 0xC2) goto yy59;
8545 					goto yy3;
8546 				}
8547 			}
8548 		}
8549 	}
8550 yy445:
8551 	YYDEBUG(445, *YYCURSOR);
8552 	++YYCURSOR;
8553 	if ((YYLIMIT - YYCURSOR) < 24) YYFILL(24);
8554 	yych = *YYCURSOR;
8555 	YYDEBUG(446, *YYCURSOR);
8556 	if (yybm[0+yych] & 2) {
8557 		goto yy56;
8558 	}
8559 	if (yych <= ',') {
8560 		if (yych == '+') goto yy445;
8561 		goto yy55;
8562 	} else {
8563 		if (yych <= '-') goto yy445;
8564 		if (yych <= '/') goto yy55;
8565 		if (yych <= '9') goto yy54;
8566 		goto yy55;
8567 	}
8568 yy447:
8569 	YYDEBUG(447, *YYCURSOR);
8570 	yyaccept = 1;
8571 	yych = *(YYMARKER = ++YYCURSOR);
8572 	if (yych <= 'W') {
8573 		if (yych <= 'E') {
8574 			if (yych <= ' ') {
8575 				if (yych == '\t') goto yy59;
8576 				if (yych <= 0x1F) goto yy3;
8577 				goto yy59;
8578 			} else {
8579 				if (yych <= '9') {
8580 					if (yych <= '/') goto yy3;
8581 					goto yy486;
8582 				} else {
8583 					if (yych == 'D') goto yy59;
8584 					goto yy3;
8585 				}
8586 			}
8587 		} else {
8588 			if (yych <= 'L') {
8589 				if (yych == 'G') goto yy3;
8590 				if (yych <= 'H') goto yy59;
8591 				goto yy3;
8592 			} else {
8593 				if (yych <= 'R') {
8594 					if (yych <= 'M') goto yy59;
8595 					goto yy3;
8596 				} else {
8597 					if (yych == 'V') goto yy3;
8598 					goto yy59;
8599 				}
8600 			}
8601 		}
8602 	} else {
8603 		if (yych <= 'l') {
8604 			if (yych <= 'd') {
8605 				if (yych == 'Y') goto yy59;
8606 				if (yych <= 'c') goto yy3;
8607 				goto yy59;
8608 			} else {
8609 				if (yych <= 'f') {
8610 					if (yych <= 'e') goto yy3;
8611 					goto yy59;
8612 				} else {
8613 					if (yych == 'h') goto yy59;
8614 					goto yy3;
8615 				}
8616 			}
8617 		} else {
8618 			if (yych <= 'w') {
8619 				if (yych <= 'r') {
8620 					if (yych <= 'm') goto yy59;
8621 					goto yy3;
8622 				} else {
8623 					if (yych == 'v') goto yy3;
8624 					goto yy59;
8625 				}
8626 			} else {
8627 				if (yych <= 'y') {
8628 					if (yych <= 'x') goto yy3;
8629 					goto yy59;
8630 				} else {
8631 					if (yych == 0xC2) goto yy59;
8632 					goto yy3;
8633 				}
8634 			}
8635 		}
8636 	}
8637 yy448:
8638 	YYDEBUG(448, *YYCURSOR);
8639 	yyaccept = 1;
8640 	yych = *(YYMARKER = ++YYCURSOR);
8641 	if (yych <= 'W') {
8642 		if (yych <= 'E') {
8643 			if (yych <= ' ') {
8644 				if (yych == '\t') goto yy59;
8645 				if (yych <= 0x1F) goto yy3;
8646 				goto yy59;
8647 			} else {
8648 				if (yych <= '9') {
8649 					if (yych <= '/') goto yy3;
8650 				} else {
8651 					if (yych == 'D') goto yy59;
8652 					goto yy3;
8653 				}
8654 			}
8655 		} else {
8656 			if (yych <= 'L') {
8657 				if (yych == 'G') goto yy3;
8658 				if (yych <= 'H') goto yy59;
8659 				goto yy3;
8660 			} else {
8661 				if (yych <= 'R') {
8662 					if (yych <= 'M') goto yy59;
8663 					goto yy3;
8664 				} else {
8665 					if (yych == 'V') goto yy3;
8666 					goto yy59;
8667 				}
8668 			}
8669 		}
8670 	} else {
8671 		if (yych <= 'l') {
8672 			if (yych <= 'd') {
8673 				if (yych == 'Y') goto yy59;
8674 				if (yych <= 'c') goto yy3;
8675 				goto yy59;
8676 			} else {
8677 				if (yych <= 'f') {
8678 					if (yych <= 'e') goto yy3;
8679 					goto yy59;
8680 				} else {
8681 					if (yych == 'h') goto yy59;
8682 					goto yy3;
8683 				}
8684 			}
8685 		} else {
8686 			if (yych <= 'w') {
8687 				if (yych <= 'r') {
8688 					if (yych <= 'm') goto yy59;
8689 					goto yy3;
8690 				} else {
8691 					if (yych == 'v') goto yy3;
8692 					goto yy59;
8693 				}
8694 			} else {
8695 				if (yych <= 'y') {
8696 					if (yych <= 'x') goto yy3;
8697 					goto yy59;
8698 				} else {
8699 					if (yych == 0xC2) goto yy59;
8700 					goto yy3;
8701 				}
8702 			}
8703 		}
8704 	}
8705 	YYDEBUG(449, *YYCURSOR);
8706 	yych = *++YYCURSOR;
8707 	if (yych <= '/') goto yy59;
8708 	if (yych >= ':') goto yy59;
8709 yy450:
8710 	YYDEBUG(450, *YYCURSOR);
8711 	yych = *++YYCURSOR;
8712 	if (yych == '-') goto yy452;
8713 	if (yych <= '/') goto yy59;
8714 	if (yych >= ':') goto yy59;
8715 yy451:
8716 	YYDEBUG(451, *YYCURSOR);
8717 	yych = *++YYCURSOR;
8718 	if (yych == '-') goto yy462;
8719 	if (yych <= '/') goto yy59;
8720 	if (yych <= '9') goto yy463;
8721 	goto yy59;
8722 yy452:
8723 	YYDEBUG(452, *YYCURSOR);
8724 	yych = *++YYCURSOR;
8725 	if (yych <= '/') goto yy55;
8726 	if (yych <= '0') goto yy453;
8727 	if (yych <= '1') goto yy454;
8728 	goto yy55;
8729 yy453:
8730 	YYDEBUG(453, *YYCURSOR);
8731 	yych = *++YYCURSOR;
8732 	if (yych <= '/') goto yy55;
8733 	if (yych <= '9') goto yy455;
8734 	goto yy55;
8735 yy454:
8736 	YYDEBUG(454, *YYCURSOR);
8737 	yych = *++YYCURSOR;
8738 	if (yych <= '/') goto yy55;
8739 	if (yych >= '3') goto yy55;
8740 yy455:
8741 	YYDEBUG(455, *YYCURSOR);
8742 	yych = *++YYCURSOR;
8743 	if (yych != '-') goto yy55;
8744 	YYDEBUG(456, *YYCURSOR);
8745 	yych = *++YYCURSOR;
8746 	if (yych <= '/') goto yy55;
8747 	if (yych <= '0') goto yy457;
8748 	if (yych <= '2') goto yy458;
8749 	if (yych <= '3') goto yy459;
8750 	goto yy55;
8751 yy457:
8752 	YYDEBUG(457, *YYCURSOR);
8753 	yych = *++YYCURSOR;
8754 	if (yych <= '/') goto yy55;
8755 	if (yych <= '9') goto yy460;
8756 	goto yy55;
8757 yy458:
8758 	YYDEBUG(458, *YYCURSOR);
8759 	yych = *++YYCURSOR;
8760 	if (yych <= '/') goto yy55;
8761 	if (yych <= '9') goto yy460;
8762 	goto yy55;
8763 yy459:
8764 	YYDEBUG(459, *YYCURSOR);
8765 	yych = *++YYCURSOR;
8766 	if (yych <= '/') goto yy55;
8767 	if (yych >= '2') goto yy55;
8768 yy460:
8769 	YYDEBUG(460, *YYCURSOR);
8770 	++YYCURSOR;
8771 yy461:
8772 	YYDEBUG(461, *YYCURSOR);
8773 #line 1424 "ext/date/lib/parse_date.re"
8774 	{
8775 		DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
8776 		TIMELIB_INIT;
8777 		TIMELIB_HAVE_DATE();
8778 		s->time->y = timelib_get_signed_nr(s, &ptr, 4);
8779 		s->time->m = timelib_get_nr(&ptr, 2);
8780 		s->time->d = timelib_get_nr(&ptr, 2);
8781 		TIMELIB_DEINIT;
8782 		return TIMELIB_ISO_DATE;
8783 	}
8784 #line 8785 "<stdout>"
8785 yy462:
8786 	YYDEBUG(462, *YYCURSOR);
8787 	yych = *++YYCURSOR;
8788 	if (yych <= '/') goto yy55;
8789 	if (yych <= '0') goto yy477;
8790 	if (yych <= '1') goto yy478;
8791 	goto yy55;
8792 yy463:
8793 	YYDEBUG(463, *YYCURSOR);
8794 	yych = *++YYCURSOR;
8795 	if (yych == '-') goto yy462;
8796 	if (yych <= '/') goto yy59;
8797 	if (yych >= ':') goto yy59;
8798 yy464:
8799 	YYDEBUG(464, *YYCURSOR);
8800 	yych = *++YYCURSOR;
8801 	if (yych == '-') goto yy462;
8802 	if (yych <= '/') goto yy59;
8803 	if (yych >= ':') goto yy59;
8804 	YYDEBUG(465, *YYCURSOR);
8805 	yych = *++YYCURSOR;
8806 	if (yych == '-') goto yy462;
8807 	if (yych <= '/') goto yy59;
8808 	if (yych >= ':') goto yy59;
8809 	YYDEBUG(466, *YYCURSOR);
8810 	yych = *++YYCURSOR;
8811 	if (yych == '-') goto yy462;
8812 	if (yych <= '/') goto yy59;
8813 	if (yych >= ':') goto yy59;
8814 	YYDEBUG(467, *YYCURSOR);
8815 	yych = *++YYCURSOR;
8816 	if (yych == '-') goto yy462;
8817 	if (yych <= '/') goto yy59;
8818 	if (yych >= ':') goto yy59;
8819 	YYDEBUG(468, *YYCURSOR);
8820 	yych = *++YYCURSOR;
8821 	if (yych == '-') goto yy462;
8822 	if (yych <= '/') goto yy59;
8823 	if (yych >= ':') goto yy59;
8824 	YYDEBUG(469, *YYCURSOR);
8825 	yych = *++YYCURSOR;
8826 	if (yych == '-') goto yy462;
8827 	if (yych <= '/') goto yy59;
8828 	if (yych >= ':') goto yy59;
8829 	YYDEBUG(470, *YYCURSOR);
8830 	yych = *++YYCURSOR;
8831 	if (yych == '-') goto yy462;
8832 	if (yych <= '/') goto yy59;
8833 	if (yych >= ':') goto yy59;
8834 	YYDEBUG(471, *YYCURSOR);
8835 	yych = *++YYCURSOR;
8836 	if (yych == '-') goto yy462;
8837 	if (yych <= '/') goto yy55;
8838 	if (yych >= ':') goto yy55;
8839 	YYDEBUG(472, *YYCURSOR);
8840 	yych = *++YYCURSOR;
8841 	if (yych == '-') goto yy462;
8842 	if (yych <= '/') goto yy55;
8843 	if (yych >= ':') goto yy55;
8844 	YYDEBUG(473, *YYCURSOR);
8845 	yych = *++YYCURSOR;
8846 	if (yych == '-') goto yy462;
8847 	if (yych <= '/') goto yy55;
8848 	if (yych >= ':') goto yy55;
8849 	YYDEBUG(474, *YYCURSOR);
8850 	yych = *++YYCURSOR;
8851 	if (yych == '-') goto yy462;
8852 	if (yych <= '/') goto yy55;
8853 	if (yych >= ':') goto yy55;
8854 	YYDEBUG(475, *YYCURSOR);
8855 	yych = *++YYCURSOR;
8856 	if (yych == '-') goto yy462;
8857 	if (yych <= '/') goto yy55;
8858 	if (yych >= ':') goto yy55;
8859 	YYDEBUG(476, *YYCURSOR);
8860 	yych = *++YYCURSOR;
8861 	if (yych == '-') goto yy462;
8862 	goto yy55;
8863 yy477:
8864 	YYDEBUG(477, *YYCURSOR);
8865 	yych = *++YYCURSOR;
8866 	if (yych <= '/') goto yy55;
8867 	if (yych <= '9') goto yy479;
8868 	goto yy55;
8869 yy478:
8870 	YYDEBUG(478, *YYCURSOR);
8871 	yych = *++YYCURSOR;
8872 	if (yych <= '/') goto yy55;
8873 	if (yych >= '3') goto yy55;
8874 yy479:
8875 	YYDEBUG(479, *YYCURSOR);
8876 	yych = *++YYCURSOR;
8877 	if (yych != '-') goto yy55;
8878 	YYDEBUG(480, *YYCURSOR);
8879 	yych = *++YYCURSOR;
8880 	if (yych <= '/') goto yy55;
8881 	if (yych <= '0') goto yy481;
8882 	if (yych <= '2') goto yy482;
8883 	if (yych <= '3') goto yy483;
8884 	goto yy55;
8885 yy481:
8886 	YYDEBUG(481, *YYCURSOR);
8887 	yych = *++YYCURSOR;
8888 	if (yych <= '/') goto yy55;
8889 	if (yych <= '9') goto yy484;
8890 	goto yy55;
8891 yy482:
8892 	YYDEBUG(482, *YYCURSOR);
8893 	yych = *++YYCURSOR;
8894 	if (yych <= '/') goto yy55;
8895 	if (yych <= '9') goto yy484;
8896 	goto yy55;
8897 yy483:
8898 	YYDEBUG(483, *YYCURSOR);
8899 	yych = *++YYCURSOR;
8900 	if (yych <= '/') goto yy55;
8901 	if (yych >= '2') goto yy55;
8902 yy484:
8903 	YYDEBUG(484, *YYCURSOR);
8904 	++YYCURSOR;
8905 	YYDEBUG(485, *YYCURSOR);
8906 #line 1450 "ext/date/lib/parse_date.re"
8907 	{
8908 		DEBUG_OUTPUT("iso8601datex");
8909 		TIMELIB_INIT;
8910 		TIMELIB_HAVE_DATE();
8911 		s->time->y = timelib_get_signed_nr(s, &ptr, 19);
8912 		s->time->m = timelib_get_nr(&ptr, 2);
8913 		s->time->d = timelib_get_nr(&ptr, 2);
8914 		TIMELIB_DEINIT;
8915 		return TIMELIB_ISO_DATE;
8916 	}
8917 #line 8918 "<stdout>"
8918 yy486:
8919 	YYDEBUG(486, *YYCURSOR);
8920 	yyaccept = 1;
8921 	yych = *(YYMARKER = ++YYCURSOR);
8922 	if (yych <= 'W') {
8923 		if (yych <= 'E') {
8924 			if (yych <= ' ') {
8925 				if (yych == '\t') goto yy59;
8926 				if (yych <= 0x1F) goto yy3;
8927 				goto yy59;
8928 			} else {
8929 				if (yych <= '9') {
8930 					if (yych <= '/') goto yy3;
8931 					goto yy450;
8932 				} else {
8933 					if (yych == 'D') goto yy59;
8934 					goto yy3;
8935 				}
8936 			}
8937 		} else {
8938 			if (yych <= 'L') {
8939 				if (yych == 'G') goto yy3;
8940 				if (yych <= 'H') goto yy59;
8941 				goto yy3;
8942 			} else {
8943 				if (yych <= 'R') {
8944 					if (yych <= 'M') goto yy59;
8945 					goto yy3;
8946 				} else {
8947 					if (yych == 'V') goto yy3;
8948 					goto yy59;
8949 				}
8950 			}
8951 		}
8952 	} else {
8953 		if (yych <= 'l') {
8954 			if (yych <= 'd') {
8955 				if (yych == 'Y') goto yy59;
8956 				if (yych <= 'c') goto yy3;
8957 				goto yy59;
8958 			} else {
8959 				if (yych <= 'f') {
8960 					if (yych <= 'e') goto yy3;
8961 					goto yy59;
8962 				} else {
8963 					if (yych == 'h') goto yy59;
8964 					goto yy3;
8965 				}
8966 			}
8967 		} else {
8968 			if (yych <= 'w') {
8969 				if (yych <= 'r') {
8970 					if (yych <= 'm') goto yy59;
8971 					goto yy3;
8972 				} else {
8973 					if (yych == 'v') goto yy3;
8974 					goto yy59;
8975 				}
8976 			} else {
8977 				if (yych <= 'y') {
8978 					if (yych <= 'x') goto yy3;
8979 					goto yy59;
8980 				} else {
8981 					if (yych == 0xC2) goto yy59;
8982 					goto yy3;
8983 				}
8984 			}
8985 		}
8986 	}
8987 yy487:
8988 	YYDEBUG(487, *YYCURSOR);
8989 	yyaccept = 1;
8990 	yych = *(YYMARKER = ++YYCURSOR);
8991 	if (yych <= 'V') {
8992 		if (yych <= 'C') {
8993 			if (yych <= ' ') {
8994 				if (yych == '\t') goto yy59;
8995 				if (yych <= 0x1F) goto yy3;
8996 				goto yy59;
8997 			} else {
8998 				if (yych <= '5') {
8999 					if (yych <= '/') goto yy3;
9000 				} else {
9001 					if (yych <= '9') goto yy486;
9002 					if (yych <= ':') goto yy208;
9003 					goto yy3;
9004 				}
9005 			}
9006 		} else {
9007 			if (yych <= 'H') {
9008 				if (yych <= 'E') {
9009 					if (yych <= 'D') goto yy59;
9010 					goto yy3;
9011 				} else {
9012 					if (yych == 'G') goto yy3;
9013 					goto yy59;
9014 				}
9015 			} else {
9016 				if (yych <= 'M') {
9017 					if (yych <= 'L') goto yy3;
9018 					goto yy59;
9019 				} else {
9020 					if (yych <= 'R') goto yy3;
9021 					if (yych <= 'U') goto yy59;
9022 					goto yy3;
9023 				}
9024 			}
9025 		}
9026 	} else {
9027 		if (yych <= 'l') {
9028 			if (yych <= 'd') {
9029 				if (yych <= 'X') {
9030 					if (yych <= 'W') goto yy59;
9031 					goto yy3;
9032 				} else {
9033 					if (yych <= 'Y') goto yy59;
9034 					if (yych <= 'c') goto yy3;
9035 					goto yy59;
9036 				}
9037 			} else {
9038 				if (yych <= 'f') {
9039 					if (yych <= 'e') goto yy3;
9040 					goto yy59;
9041 				} else {
9042 					if (yych == 'h') goto yy59;
9043 					goto yy3;
9044 				}
9045 			}
9046 		} else {
9047 			if (yych <= 'w') {
9048 				if (yych <= 'r') {
9049 					if (yych <= 'm') goto yy59;
9050 					goto yy3;
9051 				} else {
9052 					if (yych == 'v') goto yy3;
9053 					goto yy59;
9054 				}
9055 			} else {
9056 				if (yych <= 'y') {
9057 					if (yych <= 'x') goto yy3;
9058 					goto yy59;
9059 				} else {
9060 					if (yych == 0xC2) goto yy59;
9061 					goto yy3;
9062 				}
9063 			}
9064 		}
9065 	}
9066 	YYDEBUG(488, *YYCURSOR);
9067 	yyaccept = 1;
9068 	yych = *(YYMARKER = ++YYCURSOR);
9069 	if (yych <= 'W') {
9070 		if (yych <= 'E') {
9071 			if (yych <= ' ') {
9072 				if (yych == '\t') goto yy59;
9073 				if (yych <= 0x1F) goto yy3;
9074 				goto yy59;
9075 			} else {
9076 				if (yych <= '9') {
9077 					if (yych <= '/') goto yy3;
9078 				} else {
9079 					if (yych == 'D') goto yy59;
9080 					goto yy3;
9081 				}
9082 			}
9083 		} else {
9084 			if (yych <= 'L') {
9085 				if (yych == 'G') goto yy3;
9086 				if (yych <= 'H') goto yy59;
9087 				goto yy3;
9088 			} else {
9089 				if (yych <= 'R') {
9090 					if (yych <= 'M') goto yy59;
9091 					goto yy3;
9092 				} else {
9093 					if (yych == 'V') goto yy3;
9094 					goto yy59;
9095 				}
9096 			}
9097 		}
9098 	} else {
9099 		if (yych <= 'l') {
9100 			if (yych <= 'd') {
9101 				if (yych == 'Y') goto yy59;
9102 				if (yych <= 'c') goto yy3;
9103 				goto yy59;
9104 			} else {
9105 				if (yych <= 'f') {
9106 					if (yych <= 'e') goto yy3;
9107 					goto yy59;
9108 				} else {
9109 					if (yych == 'h') goto yy59;
9110 					goto yy3;
9111 				}
9112 			}
9113 		} else {
9114 			if (yych <= 'w') {
9115 				if (yych <= 'r') {
9116 					if (yych <= 'm') goto yy59;
9117 					goto yy3;
9118 				} else {
9119 					if (yych == 'v') goto yy3;
9120 					goto yy59;
9121 				}
9122 			} else {
9123 				if (yych <= 'y') {
9124 					if (yych <= 'x') goto yy3;
9125 					goto yy59;
9126 				} else {
9127 					if (yych == 0xC2) goto yy59;
9128 					goto yy3;
9129 				}
9130 			}
9131 		}
9132 	}
9133 	YYDEBUG(489, *YYCURSOR);
9134 	yyaccept = 1;
9135 	yych = *(YYMARKER = ++YYCURSOR);
9136 	if (yych <= 'U') {
9137 		if (yych <= '9') {
9138 			if (yych <= ',') {
9139 				if (yych <= '\t') {
9140 					if (yych <= 0x08) goto yy3;
9141 					goto yy59;
9142 				} else {
9143 					if (yych == ' ') goto yy59;
9144 					goto yy3;
9145 				}
9146 			} else {
9147 				if (yych <= '/') {
9148 					if (yych <= '-') goto yy452;
9149 					goto yy3;
9150 				} else {
9151 					if (yych <= '5') goto yy490;
9152 					if (yych <= '6') goto yy491;
9153 					goto yy451;
9154 				}
9155 			}
9156 		} else {
9157 			if (yych <= 'G') {
9158 				if (yych <= 'D') {
9159 					if (yych <= 'C') goto yy3;
9160 					goto yy59;
9161 				} else {
9162 					if (yych == 'F') goto yy59;
9163 					goto yy3;
9164 				}
9165 			} else {
9166 				if (yych <= 'L') {
9167 					if (yych <= 'H') goto yy59;
9168 					goto yy3;
9169 				} else {
9170 					if (yych <= 'M') goto yy59;
9171 					if (yych <= 'R') goto yy3;
9172 					goto yy59;
9173 				}
9174 			}
9175 		}
9176 	} else {
9177 		if (yych <= 'h') {
9178 			if (yych <= 'c') {
9179 				if (yych <= 'W') {
9180 					if (yych <= 'V') goto yy3;
9181 					goto yy59;
9182 				} else {
9183 					if (yych == 'Y') goto yy59;
9184 					goto yy3;
9185 				}
9186 			} else {
9187 				if (yych <= 'e') {
9188 					if (yych <= 'd') goto yy59;
9189 					goto yy3;
9190 				} else {
9191 					if (yych == 'g') goto yy3;
9192 					goto yy59;
9193 				}
9194 			}
9195 		} else {
9196 			if (yych <= 'v') {
9197 				if (yych <= 'm') {
9198 					if (yych <= 'l') goto yy3;
9199 					goto yy59;
9200 				} else {
9201 					if (yych <= 'r') goto yy3;
9202 					if (yych <= 'u') goto yy59;
9203 					goto yy3;
9204 				}
9205 			} else {
9206 				if (yych <= 'y') {
9207 					if (yych == 'x') goto yy3;
9208 					goto yy59;
9209 				} else {
9210 					if (yych == 0xC2) goto yy59;
9211 					goto yy3;
9212 				}
9213 			}
9214 		}
9215 	}
9216 yy490:
9217 	YYDEBUG(490, *YYCURSOR);
9218 	yych = *++YYCURSOR;
9219 	if (yych == '-') goto yy462;
9220 	if (yych <= '/') goto yy59;
9221 	if (yych <= '9') goto yy492;
9222 	goto yy59;
9223 yy491:
9224 	YYDEBUG(491, *YYCURSOR);
9225 	yych = *++YYCURSOR;
9226 	if (yych <= '/') {
9227 		if (yych == '-') goto yy462;
9228 		goto yy59;
9229 	} else {
9230 		if (yych <= '0') goto yy492;
9231 		if (yych <= '9') goto yy463;
9232 		goto yy59;
9233 	}
9234 yy492:
9235 	YYDEBUG(492, *YYCURSOR);
9236 	yyaccept = 1;
9237 	yych = *(YYMARKER = ++YYCURSOR);
9238 	if (yych <= 'V') {
9239 		if (yych <= 'C') {
9240 			if (yych <= ' ') {
9241 				if (yych == '\t') goto yy59;
9242 				if (yych <= 0x1F) goto yy3;
9243 				goto yy59;
9244 			} else {
9245 				if (yych <= '-') {
9246 					if (yych <= ',') goto yy3;
9247 					goto yy462;
9248 				} else {
9249 					if (yych <= '/') goto yy3;
9250 					if (yych <= '9') goto yy464;
9251 					goto yy3;
9252 				}
9253 			}
9254 		} else {
9255 			if (yych <= 'H') {
9256 				if (yych <= 'E') {
9257 					if (yych <= 'D') goto yy59;
9258 					goto yy3;
9259 				} else {
9260 					if (yych == 'G') goto yy3;
9261 					goto yy59;
9262 				}
9263 			} else {
9264 				if (yych <= 'M') {
9265 					if (yych <= 'L') goto yy3;
9266 					goto yy59;
9267 				} else {
9268 					if (yych <= 'R') goto yy3;
9269 					if (yych <= 'U') goto yy59;
9270 					goto yy3;
9271 				}
9272 			}
9273 		}
9274 	} else {
9275 		if (yych <= 'l') {
9276 			if (yych <= 'd') {
9277 				if (yych <= 'X') {
9278 					if (yych <= 'W') goto yy59;
9279 					goto yy3;
9280 				} else {
9281 					if (yych <= 'Y') goto yy59;
9282 					if (yych <= 'c') goto yy3;
9283 					goto yy59;
9284 				}
9285 			} else {
9286 				if (yych <= 'f') {
9287 					if (yych <= 'e') goto yy3;
9288 					goto yy59;
9289 				} else {
9290 					if (yych == 'h') goto yy59;
9291 					goto yy3;
9292 				}
9293 			}
9294 		} else {
9295 			if (yych <= 'w') {
9296 				if (yych <= 'r') {
9297 					if (yych <= 'm') goto yy59;
9298 					goto yy3;
9299 				} else {
9300 					if (yych == 'v') goto yy3;
9301 					goto yy59;
9302 				}
9303 			} else {
9304 				if (yych <= 'y') {
9305 					if (yych <= 'x') goto yy3;
9306 					goto yy59;
9307 				} else {
9308 					if (yych == 0xC2) goto yy59;
9309 					goto yy3;
9310 				}
9311 			}
9312 		}
9313 	}
9314 yy493:
9315 	YYDEBUG(493, *YYCURSOR);
9316 	yych = *++YYCURSOR;
9317 	if (yych <= '/') goto yy495;
9318 	if (yych <= '0') goto yy780;
9319 	if (yych <= '1') goto yy781;
9320 	if (yych <= '9') goto yy782;
9321 	goto yy495;
9322 yy494:
9323 	YYDEBUG(494, *YYCURSOR);
9324 	++YYCURSOR;
9325 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
9326 	yych = *YYCURSOR;
9327 yy495:
9328 	YYDEBUG(495, *YYCURSOR);
9329 	if (yych <= 'W') {
9330 		if (yych <= 'G') {
9331 			if (yych <= '.') {
9332 				if (yych <= 0x1F) {
9333 					if (yych == '\t') goto yy494;
9334 					goto yy55;
9335 				} else {
9336 					if (yych <= ' ') goto yy494;
9337 					if (yych <= ',') goto yy55;
9338 					goto yy610;
9339 				}
9340 			} else {
9341 				if (yych <= 'C') {
9342 					if (yych == 'A') goto yy513;
9343 					goto yy55;
9344 				} else {
9345 					if (yych <= 'D') goto yy499;
9346 					if (yych == 'F') goto yy500;
9347 					goto yy55;
9348 				}
9349 			}
9350 		} else {
9351 			if (yych <= 'O') {
9352 				if (yych <= 'J') {
9353 					if (yych <= 'H') goto yy64;
9354 					if (yych <= 'I') goto yy508;
9355 					goto yy512;
9356 				} else {
9357 					if (yych <= 'L') goto yy55;
9358 					if (yych <= 'M') goto yy496;
9359 					if (yych <= 'N') goto yy515;
9360 					goto yy514;
9361 				}
9362 			} else {
9363 				if (yych <= 'S') {
9364 					if (yych <= 'P') goto yy517;
9365 					if (yych <= 'R') goto yy55;
9366 					goto yy497;
9367 				} else {
9368 					if (yych <= 'T') goto yy69;
9369 					if (yych <= 'U') goto yy62;
9370 					if (yych <= 'V') goto yy510;
9371 					goto yy68;
9372 				}
9373 			}
9374 		}
9375 	} else {
9376 		if (yych <= 'm') {
9377 			if (yych <= 'e') {
9378 				if (yych <= '`') {
9379 					if (yych <= 'X') goto yy511;
9380 					if (yych <= 'Y') goto yy67;
9381 					goto yy55;
9382 				} else {
9383 					if (yych <= 'a') goto yy513;
9384 					if (yych == 'd') goto yy499;
9385 					goto yy55;
9386 				}
9387 			} else {
9388 				if (yych <= 'h') {
9389 					if (yych <= 'f') goto yy500;
9390 					if (yych <= 'g') goto yy55;
9391 					goto yy64;
9392 				} else {
9393 					if (yych == 'j') goto yy512;
9394 					if (yych <= 'l') goto yy55;
9395 				}
9396 			}
9397 		} else {
9398 			if (yych <= 'u') {
9399 				if (yych <= 'p') {
9400 					if (yych <= 'n') goto yy515;
9401 					if (yych <= 'o') goto yy514;
9402 					goto yy517;
9403 				} else {
9404 					if (yych <= 'r') goto yy55;
9405 					if (yych <= 's') goto yy497;
9406 					if (yych <= 't') goto yy69;
9407 					goto yy62;
9408 				}
9409 			} else {
9410 				if (yych <= 'x') {
9411 					if (yych == 'w') goto yy68;
9412 					goto yy55;
9413 				} else {
9414 					if (yych <= 'y') goto yy67;
9415 					if (yych == 0xC2) goto yy61;
9416 					goto yy55;
9417 				}
9418 			}
9419 		}
9420 	}
9421 yy496:
9422 	YYDEBUG(496, *YYCURSOR);
9423 	yych = *++YYCURSOR;
9424 	if (yych <= 'S') {
9425 		if (yych <= 'I') {
9426 			if (yych == 'A') goto yy625;
9427 			if (yych <= 'H') goto yy55;
9428 			goto yy154;
9429 		} else {
9430 			if (yych == 'O') goto yy153;
9431 			if (yych <= 'R') goto yy55;
9432 			goto yy155;
9433 		}
9434 	} else {
9435 		if (yych <= 'i') {
9436 			if (yych == 'a') goto yy625;
9437 			if (yych <= 'h') goto yy55;
9438 			goto yy154;
9439 		} else {
9440 			if (yych <= 'o') {
9441 				if (yych <= 'n') goto yy55;
9442 				goto yy153;
9443 			} else {
9444 				if (yych == 's') goto yy155;
9445 				goto yy55;
9446 			}
9447 		}
9448 	}
9449 yy497:
9450 	YYDEBUG(497, *YYCURSOR);
9451 	yych = *++YYCURSOR;
9452 	if (yych <= 'U') {
9453 		if (yych <= 'D') {
9454 			if (yych == 'A') goto yy133;
9455 			goto yy55;
9456 		} else {
9457 			if (yych <= 'E') goto yy1108;
9458 			if (yych <= 'T') goto yy55;
9459 			goto yy132;
9460 		}
9461 	} else {
9462 		if (yych <= 'd') {
9463 			if (yych == 'a') goto yy133;
9464 			goto yy55;
9465 		} else {
9466 			if (yych <= 'e') goto yy1108;
9467 			if (yych == 'u') goto yy132;
9468 			goto yy55;
9469 		}
9470 	}
9471 yy498:
9472 	YYDEBUG(498, *YYCURSOR);
9473 	yych = *++YYCURSOR;
9474 	if (yych <= '`') {
9475 		if (yych <= 'D') {
9476 			if (yych == 'A') goto yy133;
9477 			goto yy55;
9478 		} else {
9479 			if (yych <= 'E') goto yy1108;
9480 			if (yych == 'U') goto yy132;
9481 			goto yy55;
9482 		}
9483 	} else {
9484 		if (yych <= 'e') {
9485 			if (yych <= 'a') goto yy133;
9486 			if (yych <= 'd') goto yy55;
9487 			goto yy1108;
9488 		} else {
9489 			if (yych <= 's') goto yy55;
9490 			if (yych <= 't') goto yy773;
9491 			if (yych <= 'u') goto yy132;
9492 			goto yy55;
9493 		}
9494 	}
9495 yy499:
9496 	YYDEBUG(499, *YYCURSOR);
9497 	yych = *++YYCURSOR;
9498 	if (yych <= 'E') {
9499 		if (yych == 'A') goto yy129;
9500 		if (yych <= 'D') goto yy55;
9501 		goto yy612;
9502 	} else {
9503 		if (yych <= 'a') {
9504 			if (yych <= '`') goto yy55;
9505 			goto yy129;
9506 		} else {
9507 			if (yych == 'e') goto yy612;
9508 			goto yy55;
9509 		}
9510 	}
9511 yy500:
9512 	YYDEBUG(500, *YYCURSOR);
9513 	yych = *++YYCURSOR;
9514 	if (yych <= 'R') {
9515 		if (yych <= 'N') {
9516 			if (yych == 'E') goto yy628;
9517 			goto yy55;
9518 		} else {
9519 			if (yych <= 'O') goto yy113;
9520 			if (yych <= 'Q') goto yy55;
9521 			goto yy112;
9522 		}
9523 	} else {
9524 		if (yych <= 'n') {
9525 			if (yych == 'e') goto yy628;
9526 			goto yy55;
9527 		} else {
9528 			if (yych <= 'o') goto yy113;
9529 			if (yych == 'r') goto yy112;
9530 			goto yy55;
9531 		}
9532 	}
9533 yy501:
9534 	YYDEBUG(501, *YYCURSOR);
9535 	yych = *++YYCURSOR;
9536 	if (yych <= 'U') {
9537 		if (yych == 'H') goto yy81;
9538 		if (yych <= 'T') goto yy55;
9539 		goto yy82;
9540 	} else {
9541 		if (yych <= 'h') {
9542 			if (yych <= 'g') goto yy55;
9543 			goto yy1107;
9544 		} else {
9545 			if (yych == 'u') goto yy82;
9546 			goto yy55;
9547 		}
9548 	}
9549 yy502:
9550 	YYDEBUG(502, *YYCURSOR);
9551 	yych = *++YYCURSOR;
9552 	if (yych == '-') goto yy786;
9553 	if (yych <= '/') goto yy59;
9554 	if (yych <= '9') goto yy785;
9555 	goto yy59;
9556 yy503:
9557 	YYDEBUG(503, *YYCURSOR);
9558 	yych = *++YYCURSOR;
9559 	if (yych <= 'c') {
9560 		if (yych == 'O') goto yy563;
9561 		goto yy55;
9562 	} else {
9563 		if (yych <= 'd') goto yy773;
9564 		if (yych == 'o') goto yy563;
9565 		goto yy55;
9566 	}
9567 yy504:
9568 	YYDEBUG(504, *YYCURSOR);
9569 	yych = *++YYCURSOR;
9570 	if (yych == 'd') goto yy773;
9571 	goto yy55;
9572 yy505:
9573 	YYDEBUG(505, *YYCURSOR);
9574 	yych = *++YYCURSOR;
9575 	switch (yych) {
9576 	case '0':
9577 	case '1':
9578 	case '2':	goto yy699;
9579 	case '3':	goto yy701;
9580 	case '4':
9581 	case '5':
9582 	case '6':
9583 	case '7':
9584 	case '8':
9585 	case '9':	goto yy702;
9586 	case 'A':
9587 	case 'a':	goto yy706;
9588 	case 'D':
9589 	case 'd':	goto yy710;
9590 	case 'F':
9591 	case 'f':	goto yy704;
9592 	case 'J':
9593 	case 'j':	goto yy703;
9594 	case 'M':
9595 	case 'm':	goto yy705;
9596 	case 'N':
9597 	case 'n':	goto yy709;
9598 	case 'O':
9599 	case 'o':	goto yy708;
9600 	case 'S':
9601 	case 's':	goto yy707;
9602 	default:	goto yy55;
9603 	}
9604 yy506:
9605 	YYDEBUG(506, *YYCURSOR);
9606 	yych = *++YYCURSOR;
9607 	switch (yych) {
9608 	case '0':	goto yy649;
9609 	case '1':	goto yy650;
9610 	case '2':
9611 	case '3':
9612 	case '4':
9613 	case '5':
9614 	case '6':
9615 	case '7':
9616 	case '8':
9617 	case '9':	goto yy651;
9618 	case 'A':
9619 	case 'a':	goto yy655;
9620 	case 'D':
9621 	case 'd':	goto yy659;
9622 	case 'F':
9623 	case 'f':	goto yy653;
9624 	case 'J':
9625 	case 'j':	goto yy652;
9626 	case 'M':
9627 	case 'm':	goto yy654;
9628 	case 'N':
9629 	case 'n':	goto yy658;
9630 	case 'O':
9631 	case 'o':	goto yy657;
9632 	case 'S':
9633 	case 's':	goto yy656;
9634 	default:	goto yy611;
9635 	}
9636 yy507:
9637 	YYDEBUG(507, *YYCURSOR);
9638 	yych = *++YYCURSOR;
9639 	if (yych <= '1') {
9640 		if (yych <= '/') goto yy611;
9641 		if (yych <= '0') goto yy601;
9642 		goto yy602;
9643 	} else {
9644 		if (yych <= '5') goto yy603;
9645 		if (yych <= '9') goto yy604;
9646 		goto yy611;
9647 	}
9648 yy508:
9649 	YYDEBUG(508, *YYCURSOR);
9650 	yyaccept = 9;
9651 	yych = *(YYMARKER = ++YYCURSOR);
9652 	if (yych <= '/') {
9653 		if (yych <= 0x1F) {
9654 			if (yych == '\t') goto yy565;
9655 		} else {
9656 			if (yych <= ' ') goto yy565;
9657 			if (yych <= ',') goto yy509;
9658 			if (yych <= '.') goto yy565;
9659 		}
9660 	} else {
9661 		if (yych <= 'U') {
9662 			if (yych <= '9') goto yy567;
9663 			if (yych == 'I') goto yy600;
9664 		} else {
9665 			if (yych == 'W') goto yy509;
9666 			if (yych <= 'X') goto yy573;
9667 		}
9668 	}
9669 yy509:
9670 	YYDEBUG(509, *YYCURSOR);
9671 #line 1573 "ext/date/lib/parse_date.re"
9672 	{
9673 		DEBUG_OUTPUT("datenoyearrev");
9674 		TIMELIB_INIT;
9675 		TIMELIB_HAVE_DATE();
9676 		s->time->d = timelib_get_nr(&ptr, 2);
9677 		timelib_skip_day_suffix(&ptr);
9678 		s->time->m = timelib_get_month(&ptr);
9679 		TIMELIB_DEINIT;
9680 		return TIMELIB_DATE_TEXT;
9681 	}
9682 #line 9683 "<stdout>"
9683 yy510:
9684 	YYDEBUG(510, *YYCURSOR);
9685 	yyaccept = 9;
9686 	yych = *(YYMARKER = ++YYCURSOR);
9687 	if (yych <= ',') {
9688 		if (yych <= '\t') {
9689 			if (yych <= 0x08) goto yy509;
9690 			goto yy565;
9691 		} else {
9692 			if (yych == ' ') goto yy565;
9693 			goto yy509;
9694 		}
9695 	} else {
9696 		if (yych <= '9') {
9697 			if (yych <= '.') goto yy565;
9698 			if (yych <= '/') goto yy509;
9699 			goto yy567;
9700 		} else {
9701 			if (yych == 'I') goto yy598;
9702 			goto yy509;
9703 		}
9704 	}
9705 yy511:
9706 	YYDEBUG(511, *YYCURSOR);
9707 	yyaccept = 9;
9708 	yych = *(YYMARKER = ++YYCURSOR);
9709 	if (yych <= ',') {
9710 		if (yych <= '\t') {
9711 			if (yych <= 0x08) goto yy509;
9712 			goto yy565;
9713 		} else {
9714 			if (yych == ' ') goto yy565;
9715 			goto yy509;
9716 		}
9717 	} else {
9718 		if (yych <= '9') {
9719 			if (yych <= '.') goto yy565;
9720 			if (yych <= '/') goto yy509;
9721 			goto yy567;
9722 		} else {
9723 			if (yych == 'I') goto yy597;
9724 			goto yy509;
9725 		}
9726 	}
9727 yy512:
9728 	YYDEBUG(512, *YYCURSOR);
9729 	yych = *++YYCURSOR;
9730 	if (yych <= 'U') {
9731 		if (yych == 'A') goto yy590;
9732 		if (yych <= 'T') goto yy55;
9733 		goto yy589;
9734 	} else {
9735 		if (yych <= 'a') {
9736 			if (yych <= '`') goto yy55;
9737 			goto yy590;
9738 		} else {
9739 			if (yych == 'u') goto yy589;
9740 			goto yy55;
9741 		}
9742 	}
9743 yy513:
9744 	YYDEBUG(513, *YYCURSOR);
9745 	yych = *++YYCURSOR;
9746 	if (yych <= 'T') {
9747 		if (yych <= 'L') {
9748 			if (yych == '.') goto yy518;
9749 			goto yy55;
9750 		} else {
9751 			if (yych <= 'M') goto yy519;
9752 			if (yych == 'P') goto yy583;
9753 			goto yy55;
9754 		}
9755 	} else {
9756 		if (yych <= 'o') {
9757 			if (yych <= 'U') goto yy582;
9758 			if (yych == 'm') goto yy519;
9759 			goto yy55;
9760 		} else {
9761 			if (yych <= 'p') goto yy583;
9762 			if (yych == 'u') goto yy582;
9763 			goto yy55;
9764 		}
9765 	}
9766 yy514:
9767 	YYDEBUG(514, *YYCURSOR);
9768 	yych = *++YYCURSOR;
9769 	if (yych == 'C') goto yy577;
9770 	if (yych == 'c') goto yy577;
9771 	goto yy55;
9772 yy515:
9773 	YYDEBUG(515, *YYCURSOR);
9774 	yych = *++YYCURSOR;
9775 	if (yych == 'O') goto yy563;
9776 	if (yych == 'o') goto yy563;
9777 	goto yy55;
9778 yy516:
9779 	YYDEBUG(516, *YYCURSOR);
9780 	yych = *++YYCURSOR;
9781 	if (yych <= '/') goto yy55;
9782 	if (yych <= '5') goto yy523;
9783 	if (yych <= '9') goto yy525;
9784 	goto yy55;
9785 yy517:
9786 	YYDEBUG(517, *YYCURSOR);
9787 	yych = *++YYCURSOR;
9788 	if (yych <= 'L') {
9789 		if (yych != '.') goto yy55;
9790 	} else {
9791 		if (yych <= 'M') goto yy519;
9792 		if (yych == 'm') goto yy519;
9793 		goto yy55;
9794 	}
9795 yy518:
9796 	YYDEBUG(518, *YYCURSOR);
9797 	yych = *++YYCURSOR;
9798 	if (yych == 'M') goto yy519;
9799 	if (yych != 'm') goto yy55;
9800 yy519:
9801 	YYDEBUG(519, *YYCURSOR);
9802 	yych = *++YYCURSOR;
9803 	if (yych <= 0x1F) {
9804 		if (yych <= 0x00) goto yy521;
9805 		if (yych == '\t') goto yy521;
9806 		goto yy55;
9807 	} else {
9808 		if (yych <= ' ') goto yy521;
9809 		if (yych != '.') goto yy55;
9810 	}
9811 	YYDEBUG(520, *YYCURSOR);
9812 	yych = *++YYCURSOR;
9813 	if (yych <= '\t') {
9814 		if (yych <= 0x00) goto yy521;
9815 		if (yych <= 0x08) goto yy55;
9816 	} else {
9817 		if (yych != ' ') goto yy55;
9818 	}
9819 yy521:
9820 	YYDEBUG(521, *YYCURSOR);
9821 	++YYCURSOR;
9822 	YYDEBUG(522, *YYCURSOR);
9823 #line 1277 "ext/date/lib/parse_date.re"
9824 	{
9825 		DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
9826 		TIMELIB_INIT;
9827 		TIMELIB_HAVE_TIME();
9828 		s->time->h = timelib_get_nr(&ptr, 2);
9829 		if (*ptr == ':' || *ptr == '.') {
9830 			s->time->i = timelib_get_nr(&ptr, 2);
9831 			if (*ptr == ':' || *ptr == '.') {
9832 				s->time->s = timelib_get_nr(&ptr, 2);
9833 			}
9834 		}
9835 		s->time->h += timelib_meridian(&ptr, s->time->h);
9836 		TIMELIB_DEINIT;
9837 		return TIMELIB_TIME12;
9838 	}
9839 #line 9840 "<stdout>"
9840 yy523:
9841 	YYDEBUG(523, *YYCURSOR);
9842 	yyaccept = 10;
9843 	yych = *(YYMARKER = ++YYCURSOR);
9844 	if (yych <= '/') {
9845 		if (yych == '.') goto yy526;
9846 	} else {
9847 		if (yych <= '9') goto yy540;
9848 		if (yych <= ':') goto yy526;
9849 	}
9850 yy524:
9851 	YYDEBUG(524, *YYCURSOR);
9852 #line 1314 "ext/date/lib/parse_date.re"
9853 	{
9854 		int tz_not_found;
9855 		DEBUG_OUTPUT("timetiny24 | timeshort24 | timelong24 | iso8601long");
9856 		TIMELIB_INIT;
9857 		TIMELIB_HAVE_TIME();
9858 		s->time->h = timelib_get_nr(&ptr, 2);
9859 		if (*ptr == ':' || *ptr == '.') {
9860 			s->time->i = timelib_get_nr(&ptr, 2);
9861 			if (*ptr == ':' || *ptr == '.') {
9862 				s->time->s = timelib_get_nr(&ptr, 2);
9863 
9864 				if (*ptr == '.') {
9865 					s->time->us = timelib_get_frac_nr(&ptr);
9866 				}
9867 			}
9868 		}
9869 
9870 		if (*ptr != '\0') {
9871 			s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
9872 			if (tz_not_found) {
9873 				add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
9874 			}
9875 		}
9876 		TIMELIB_DEINIT;
9877 		return TIMELIB_TIME24_WITH_ZONE;
9878 	}
9879 #line 9880 "<stdout>"
9880 yy525:
9881 	YYDEBUG(525, *YYCURSOR);
9882 	yyaccept = 10;
9883 	yych = *(YYMARKER = ++YYCURSOR);
9884 	if (yych == '.') goto yy526;
9885 	if (yych != ':') goto yy524;
9886 yy526:
9887 	YYDEBUG(526, *YYCURSOR);
9888 	yych = *++YYCURSOR;
9889 	if (yych <= '/') goto yy55;
9890 	if (yych <= '5') goto yy527;
9891 	if (yych <= '6') goto yy528;
9892 	if (yych <= '9') goto yy529;
9893 	goto yy55;
9894 yy527:
9895 	YYDEBUG(527, *YYCURSOR);
9896 	yyaccept = 10;
9897 	yych = *(YYMARKER = ++YYCURSOR);
9898 	if (yych == '.') goto yy530;
9899 	if (yych <= '/') goto yy524;
9900 	if (yych <= '9') goto yy533;
9901 	goto yy524;
9902 yy528:
9903 	YYDEBUG(528, *YYCURSOR);
9904 	yyaccept = 10;
9905 	yych = *(YYMARKER = ++YYCURSOR);
9906 	if (yych == '.') goto yy530;
9907 	if (yych == '0') goto yy533;
9908 	goto yy524;
9909 yy529:
9910 	YYDEBUG(529, *YYCURSOR);
9911 	yyaccept = 10;
9912 	yych = *(YYMARKER = ++YYCURSOR);
9913 	if (yych != '.') goto yy524;
9914 yy530:
9915 	YYDEBUG(530, *YYCURSOR);
9916 	yych = *++YYCURSOR;
9917 	if (yybm[0+yych] & 128) {
9918 		goto yy531;
9919 	}
9920 	goto yy55;
9921 yy531:
9922 	YYDEBUG(531, *YYCURSOR);
9923 	++YYCURSOR;
9924 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
9925 	yych = *YYCURSOR;
9926 	YYDEBUG(532, *YYCURSOR);
9927 	if (yybm[0+yych] & 128) {
9928 		goto yy531;
9929 	}
9930 	goto yy524;
9931 yy533:
9932 	YYDEBUG(533, *YYCURSOR);
9933 	yyaccept = 10;
9934 	yych = *(YYMARKER = ++YYCURSOR);
9935 	if (yych <= '@') {
9936 		if (yych <= 0x1F) {
9937 			if (yych != '\t') goto yy524;
9938 		} else {
9939 			if (yych <= ' ') goto yy534;
9940 			if (yych == '.') goto yy530;
9941 			goto yy524;
9942 		}
9943 	} else {
9944 		if (yych <= '`') {
9945 			if (yych <= 'A') goto yy536;
9946 			if (yych == 'P') goto yy536;
9947 			goto yy524;
9948 		} else {
9949 			if (yych <= 'a') goto yy536;
9950 			if (yych == 'p') goto yy536;
9951 			goto yy524;
9952 		}
9953 	}
9954 yy534:
9955 	YYDEBUG(534, *YYCURSOR);
9956 	++YYCURSOR;
9957 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
9958 	yych = *YYCURSOR;
9959 	YYDEBUG(535, *YYCURSOR);
9960 	if (yych <= 'A') {
9961 		if (yych <= 0x1F) {
9962 			if (yych == '\t') goto yy534;
9963 			goto yy55;
9964 		} else {
9965 			if (yych <= ' ') goto yy534;
9966 			if (yych <= '@') goto yy55;
9967 		}
9968 	} else {
9969 		if (yych <= '`') {
9970 			if (yych != 'P') goto yy55;
9971 		} else {
9972 			if (yych <= 'a') goto yy536;
9973 			if (yych != 'p') goto yy55;
9974 		}
9975 	}
9976 yy536:
9977 	YYDEBUG(536, *YYCURSOR);
9978 	yych = *++YYCURSOR;
9979 	if (yych <= 'L') {
9980 		if (yych != '.') goto yy55;
9981 	} else {
9982 		if (yych <= 'M') goto yy538;
9983 		if (yych == 'm') goto yy538;
9984 		goto yy55;
9985 	}
9986 	YYDEBUG(537, *YYCURSOR);
9987 	yych = *++YYCURSOR;
9988 	if (yych == 'M') goto yy538;
9989 	if (yych != 'm') goto yy55;
9990 yy538:
9991 	YYDEBUG(538, *YYCURSOR);
9992 	yych = *++YYCURSOR;
9993 	if (yych <= 0x1F) {
9994 		if (yych <= 0x00) goto yy521;
9995 		if (yych == '\t') goto yy521;
9996 		goto yy55;
9997 	} else {
9998 		if (yych <= ' ') goto yy521;
9999 		if (yych != '.') goto yy55;
10000 	}
10001 	YYDEBUG(539, *YYCURSOR);
10002 	yych = *++YYCURSOR;
10003 	if (yych <= '\t') {
10004 		if (yych <= 0x00) goto yy521;
10005 		if (yych <= 0x08) goto yy55;
10006 		goto yy521;
10007 	} else {
10008 		if (yych == ' ') goto yy521;
10009 		goto yy55;
10010 	}
10011 yy540:
10012 	YYDEBUG(540, *YYCURSOR);
10013 	yyaccept = 10;
10014 	yych = *(YYMARKER = ++YYCURSOR);
10015 	if (yych <= ':') {
10016 		if (yych <= ' ') {
10017 			if (yych == '\t') goto yy541;
10018 			if (yych <= 0x1F) goto yy524;
10019 		} else {
10020 			if (yych == '.') goto yy526;
10021 			if (yych <= '9') goto yy524;
10022 			goto yy544;
10023 		}
10024 	} else {
10025 		if (yych <= 'P') {
10026 			if (yych == 'A') goto yy543;
10027 			if (yych <= 'O') goto yy524;
10028 			goto yy543;
10029 		} else {
10030 			if (yych <= 'a') {
10031 				if (yych <= '`') goto yy524;
10032 				goto yy543;
10033 			} else {
10034 				if (yych == 'p') goto yy543;
10035 				goto yy524;
10036 			}
10037 		}
10038 	}
10039 yy541:
10040 	YYDEBUG(541, *YYCURSOR);
10041 	++YYCURSOR;
10042 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
10043 	yych = *YYCURSOR;
10044 	YYDEBUG(542, *YYCURSOR);
10045 	if (yych <= 'A') {
10046 		if (yych <= 0x1F) {
10047 			if (yych == '\t') goto yy541;
10048 			goto yy55;
10049 		} else {
10050 			if (yych <= ' ') goto yy541;
10051 			if (yych <= '@') goto yy55;
10052 		}
10053 	} else {
10054 		if (yych <= '`') {
10055 			if (yych != 'P') goto yy55;
10056 		} else {
10057 			if (yych <= 'a') goto yy543;
10058 			if (yych != 'p') goto yy55;
10059 		}
10060 	}
10061 yy543:
10062 	YYDEBUG(543, *YYCURSOR);
10063 	yych = *++YYCURSOR;
10064 	if (yych <= 'L') {
10065 		if (yych == '.') goto yy560;
10066 		goto yy55;
10067 	} else {
10068 		if (yych <= 'M') goto yy561;
10069 		if (yych == 'm') goto yy561;
10070 		goto yy55;
10071 	}
10072 yy544:
10073 	YYDEBUG(544, *YYCURSOR);
10074 	yych = *++YYCURSOR;
10075 	if (yych <= '/') goto yy55;
10076 	if (yych <= '5') goto yy545;
10077 	if (yych <= '6') goto yy546;
10078 	if (yych <= '9') goto yy529;
10079 	goto yy55;
10080 yy545:
10081 	YYDEBUG(545, *YYCURSOR);
10082 	yyaccept = 10;
10083 	yych = *(YYMARKER = ++YYCURSOR);
10084 	if (yych == '.') goto yy530;
10085 	if (yych <= '/') goto yy524;
10086 	if (yych <= '9') goto yy547;
10087 	goto yy524;
10088 yy546:
10089 	YYDEBUG(546, *YYCURSOR);
10090 	yyaccept = 10;
10091 	yych = *(YYMARKER = ++YYCURSOR);
10092 	if (yych == '.') goto yy530;
10093 	if (yych != '0') goto yy524;
10094 yy547:
10095 	YYDEBUG(547, *YYCURSOR);
10096 	yyaccept = 10;
10097 	yych = *(YYMARKER = ++YYCURSOR);
10098 	if (yych <= ':') {
10099 		if (yych <= ' ') {
10100 			if (yych == '\t') goto yy534;
10101 			if (yych <= 0x1F) goto yy524;
10102 			goto yy534;
10103 		} else {
10104 			if (yych == '.') goto yy548;
10105 			if (yych <= '9') goto yy524;
10106 			goto yy549;
10107 		}
10108 	} else {
10109 		if (yych <= 'P') {
10110 			if (yych == 'A') goto yy536;
10111 			if (yych <= 'O') goto yy524;
10112 			goto yy536;
10113 		} else {
10114 			if (yych <= 'a') {
10115 				if (yych <= '`') goto yy524;
10116 				goto yy536;
10117 			} else {
10118 				if (yych == 'p') goto yy536;
10119 				goto yy524;
10120 			}
10121 		}
10122 	}
10123 yy548:
10124 	YYDEBUG(548, *YYCURSOR);
10125 	yych = *++YYCURSOR;
10126 	if (yych <= '/') goto yy55;
10127 	if (yych <= '9') goto yy558;
10128 	goto yy55;
10129 yy549:
10130 	YYDEBUG(549, *YYCURSOR);
10131 	yych = *++YYCURSOR;
10132 	if (yych <= '/') goto yy55;
10133 	if (yych >= ':') goto yy55;
10134 yy550:
10135 	YYDEBUG(550, *YYCURSOR);
10136 	++YYCURSOR;
10137 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
10138 	yych = *YYCURSOR;
10139 	YYDEBUG(551, *YYCURSOR);
10140 	if (yych <= 'O') {
10141 		if (yych <= '9') {
10142 			if (yych <= '/') goto yy55;
10143 			goto yy550;
10144 		} else {
10145 			if (yych != 'A') goto yy55;
10146 		}
10147 	} else {
10148 		if (yych <= 'a') {
10149 			if (yych <= 'P') goto yy552;
10150 			if (yych <= '`') goto yy55;
10151 		} else {
10152 			if (yych != 'p') goto yy55;
10153 		}
10154 	}
10155 yy552:
10156 	YYDEBUG(552, *YYCURSOR);
10157 	yych = *++YYCURSOR;
10158 	if (yych <= 'L') {
10159 		if (yych != '.') goto yy55;
10160 	} else {
10161 		if (yych <= 'M') goto yy554;
10162 		if (yych == 'm') goto yy554;
10163 		goto yy55;
10164 	}
10165 	YYDEBUG(553, *YYCURSOR);
10166 	yych = *++YYCURSOR;
10167 	if (yych == 'M') goto yy554;
10168 	if (yych != 'm') goto yy55;
10169 yy554:
10170 	YYDEBUG(554, *YYCURSOR);
10171 	yych = *++YYCURSOR;
10172 	if (yych <= 0x1F) {
10173 		if (yych <= 0x00) goto yy556;
10174 		if (yych == '\t') goto yy556;
10175 		goto yy55;
10176 	} else {
10177 		if (yych <= ' ') goto yy556;
10178 		if (yych != '.') goto yy55;
10179 	}
10180 	YYDEBUG(555, *YYCURSOR);
10181 	yych = *++YYCURSOR;
10182 	if (yych <= '\t') {
10183 		if (yych <= 0x00) goto yy556;
10184 		if (yych <= 0x08) goto yy55;
10185 	} else {
10186 		if (yych != ' ') goto yy55;
10187 	}
10188 yy556:
10189 	YYDEBUG(556, *YYCURSOR);
10190 	++YYCURSOR;
10191 	YYDEBUG(557, *YYCURSOR);
10192 #line 1294 "ext/date/lib/parse_date.re"
10193 	{
10194 		DEBUG_OUTPUT("mssqltime");
10195 		TIMELIB_INIT;
10196 		TIMELIB_HAVE_TIME();
10197 		s->time->h = timelib_get_nr(&ptr, 2);
10198 		s->time->i = timelib_get_nr(&ptr, 2);
10199 		if (*ptr == ':' || *ptr == '.') {
10200 			s->time->s = timelib_get_nr(&ptr, 2);
10201 
10202 			if (*ptr == ':' || *ptr == '.') {
10203 				s->time->us = timelib_get_frac_nr(&ptr);
10204 			}
10205 		}
10206 		timelib_eat_spaces(&ptr);
10207 		s->time->h += timelib_meridian(&ptr, s->time->h);
10208 		TIMELIB_DEINIT;
10209 		return TIMELIB_TIME24_WITH_ZONE;
10210 	}
10211 #line 10212 "<stdout>"
10212 yy558:
10213 	YYDEBUG(558, *YYCURSOR);
10214 	yyaccept = 10;
10215 	YYMARKER = ++YYCURSOR;
10216 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
10217 	yych = *YYCURSOR;
10218 	YYDEBUG(559, *YYCURSOR);
10219 	if (yych <= 'O') {
10220 		if (yych <= '9') {
10221 			if (yych <= '/') goto yy524;
10222 			goto yy558;
10223 		} else {
10224 			if (yych == 'A') goto yy552;
10225 			goto yy524;
10226 		}
10227 	} else {
10228 		if (yych <= 'a') {
10229 			if (yych <= 'P') goto yy552;
10230 			if (yych <= '`') goto yy524;
10231 			goto yy552;
10232 		} else {
10233 			if (yych == 'p') goto yy552;
10234 			goto yy524;
10235 		}
10236 	}
10237 yy560:
10238 	YYDEBUG(560, *YYCURSOR);
10239 	yych = *++YYCURSOR;
10240 	if (yych == 'M') goto yy561;
10241 	if (yych != 'm') goto yy55;
10242 yy561:
10243 	YYDEBUG(561, *YYCURSOR);
10244 	yych = *++YYCURSOR;
10245 	if (yych <= 0x1F) {
10246 		if (yych <= 0x00) goto yy521;
10247 		if (yych == '\t') goto yy521;
10248 		goto yy55;
10249 	} else {
10250 		if (yych <= ' ') goto yy521;
10251 		if (yych != '.') goto yy55;
10252 	}
10253 	YYDEBUG(562, *YYCURSOR);
10254 	yych = *++YYCURSOR;
10255 	if (yych <= '\t') {
10256 		if (yych <= 0x00) goto yy521;
10257 		if (yych <= 0x08) goto yy55;
10258 		goto yy521;
10259 	} else {
10260 		if (yych == ' ') goto yy521;
10261 		goto yy55;
10262 	}
10263 yy563:
10264 	YYDEBUG(563, *YYCURSOR);
10265 	yych = *++YYCURSOR;
10266 	if (yych == 'V') goto yy564;
10267 	if (yych != 'v') goto yy55;
10268 yy564:
10269 	YYDEBUG(564, *YYCURSOR);
10270 	yyaccept = 9;
10271 	yych = *(YYMARKER = ++YYCURSOR);
10272 	if (yych <= '.') {
10273 		if (yych <= 0x1F) {
10274 			if (yych != '\t') goto yy509;
10275 		} else {
10276 			if (yych <= ' ') goto yy565;
10277 			if (yych <= ',') goto yy509;
10278 		}
10279 	} else {
10280 		if (yych <= 'D') {
10281 			if (yych <= '/') goto yy509;
10282 			if (yych <= '9') goto yy567;
10283 			goto yy509;
10284 		} else {
10285 			if (yych <= 'E') goto yy569;
10286 			if (yych == 'e') goto yy569;
10287 			goto yy509;
10288 		}
10289 	}
10290 yy565:
10291 	YYDEBUG(565, *YYCURSOR);
10292 	++YYCURSOR;
10293 	if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
10294 	yych = *YYCURSOR;
10295 yy566:
10296 	YYDEBUG(566, *YYCURSOR);
10297 	if (yych <= ' ') {
10298 		if (yych == '\t') goto yy565;
10299 		if (yych <= 0x1F) goto yy55;
10300 		goto yy565;
10301 	} else {
10302 		if (yych <= '.') {
10303 			if (yych <= ',') goto yy55;
10304 			goto yy565;
10305 		} else {
10306 			if (yych <= '/') goto yy55;
10307 			if (yych >= ':') goto yy55;
10308 		}
10309 	}
10310 yy567:
10311 	YYDEBUG(567, *YYCURSOR);
10312 	++YYCURSOR;
10313 	if ((yych = *YYCURSOR) <= '/') goto yy568;
10314 	if (yych <= '9') goto yy574;
10315 yy568:
10316 	YYDEBUG(568, *YYCURSOR);
10317 #line 1490 "ext/date/lib/parse_date.re"
10318 	{
10319 		int length = 0;
10320 		DEBUG_OUTPUT("datefull");
10321 		TIMELIB_INIT;
10322 		TIMELIB_HAVE_DATE();
10323 		s->time->d = timelib_get_nr(&ptr, 2);
10324 		timelib_skip_day_suffix(&ptr);
10325 		s->time->m = timelib_get_month(&ptr);
10326 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
10327 		TIMELIB_PROCESS_YEAR(s->time->y, length);
10328 		TIMELIB_DEINIT;
10329 		return TIMELIB_DATE_FULL;
10330 	}
10331 #line 10332 "<stdout>"
10332 yy569:
10333 	YYDEBUG(569, *YYCURSOR);
10334 	yych = *++YYCURSOR;
10335 	if (yych == 'M') goto yy570;
10336 	if (yych != 'm') goto yy55;
10337 yy570:
10338 	YYDEBUG(570, *YYCURSOR);
10339 	yych = *++YYCURSOR;
10340 	if (yych == 'B') goto yy571;
10341 	if (yych != 'b') goto yy55;
10342 yy571:
10343 	YYDEBUG(571, *YYCURSOR);
10344 	yych = *++YYCURSOR;
10345 	if (yych == 'E') goto yy572;
10346 	if (yych != 'e') goto yy55;
10347 yy572:
10348 	YYDEBUG(572, *YYCURSOR);
10349 	yych = *++YYCURSOR;
10350 	if (yych == 'R') goto yy573;
10351 	if (yych != 'r') goto yy55;
10352 yy573:
10353 	YYDEBUG(573, *YYCURSOR);
10354 	yyaccept = 9;
10355 	yych = *(YYMARKER = ++YYCURSOR);
10356 	if (yych <= ' ') {
10357 		if (yych == '\t') goto yy565;
10358 		if (yych <= 0x1F) goto yy509;
10359 		goto yy565;
10360 	} else {
10361 		if (yych <= '.') {
10362 			if (yych <= ',') goto yy509;
10363 			goto yy565;
10364 		} else {
10365 			if (yych <= '/') goto yy509;
10366 			if (yych <= '9') goto yy567;
10367 			goto yy509;
10368 		}
10369 	}
10370 yy574:
10371 	YYDEBUG(574, *YYCURSOR);
10372 	yych = *++YYCURSOR;
10373 	if (yych <= '/') goto yy568;
10374 	if (yych >= ':') goto yy568;
10375 yy575:
10376 	YYDEBUG(575, *YYCURSOR);
10377 	yych = *++YYCURSOR;
10378 	if (yych <= '/') goto yy568;
10379 	if (yych >= ':') goto yy568;
10380 	YYDEBUG(576, *YYCURSOR);
10381 	yych = *++YYCURSOR;
10382 	goto yy568;
10383 yy577:
10384 	YYDEBUG(577, *YYCURSOR);
10385 	yych = *++YYCURSOR;
10386 	if (yych == 'T') goto yy578;
10387 	if (yych != 't') goto yy55;
10388 yy578:
10389 	YYDEBUG(578, *YYCURSOR);
10390 	yyaccept = 9;
10391 	yych = *(YYMARKER = ++YYCURSOR);
10392 	if (yych <= '.') {
10393 		if (yych <= 0x1F) {
10394 			if (yych == '\t') goto yy565;
10395 			goto yy509;
10396 		} else {
10397 			if (yych <= ' ') goto yy565;
10398 			if (yych <= ',') goto yy509;
10399 			goto yy565;
10400 		}
10401 	} else {
10402 		if (yych <= 'N') {
10403 			if (yych <= '/') goto yy509;
10404 			if (yych <= '9') goto yy567;
10405 			goto yy509;
10406 		} else {
10407 			if (yych <= 'O') goto yy579;
10408 			if (yych != 'o') goto yy509;
10409 		}
10410 	}
10411 yy579:
10412 	YYDEBUG(579, *YYCURSOR);
10413 	yych = *++YYCURSOR;
10414 	if (yych == 'B') goto yy580;
10415 	if (yych != 'b') goto yy55;
10416 yy580:
10417 	YYDEBUG(580, *YYCURSOR);
10418 	yych = *++YYCURSOR;
10419 	if (yych == 'E') goto yy581;
10420 	if (yych != 'e') goto yy55;
10421 yy581:
10422 	YYDEBUG(581, *YYCURSOR);
10423 	yych = *++YYCURSOR;
10424 	if (yych == 'R') goto yy573;
10425 	if (yych == 'r') goto yy573;
10426 	goto yy55;
10427 yy582:
10428 	YYDEBUG(582, *YYCURSOR);
10429 	yych = *++YYCURSOR;
10430 	if (yych == 'G') goto yy586;
10431 	if (yych == 'g') goto yy586;
10432 	goto yy55;
10433 yy583:
10434 	YYDEBUG(583, *YYCURSOR);
10435 	yych = *++YYCURSOR;
10436 	if (yych == 'R') goto yy584;
10437 	if (yych != 'r') goto yy55;
10438 yy584:
10439 	YYDEBUG(584, *YYCURSOR);
10440 	yyaccept = 9;
10441 	yych = *(YYMARKER = ++YYCURSOR);
10442 	if (yych <= '.') {
10443 		if (yych <= 0x1F) {
10444 			if (yych == '\t') goto yy565;
10445 			goto yy509;
10446 		} else {
10447 			if (yych <= ' ') goto yy565;
10448 			if (yych <= ',') goto yy509;
10449 			goto yy565;
10450 		}
10451 	} else {
10452 		if (yych <= 'H') {
10453 			if (yych <= '/') goto yy509;
10454 			if (yych <= '9') goto yy567;
10455 			goto yy509;
10456 		} else {
10457 			if (yych <= 'I') goto yy585;
10458 			if (yych != 'i') goto yy509;
10459 		}
10460 	}
10461 yy585:
10462 	YYDEBUG(585, *YYCURSOR);
10463 	yych = *++YYCURSOR;
10464 	if (yych == 'L') goto yy573;
10465 	if (yych == 'l') goto yy573;
10466 	goto yy55;
10467 yy586:
10468 	YYDEBUG(586, *YYCURSOR);
10469 	yyaccept = 9;
10470 	yych = *(YYMARKER = ++YYCURSOR);
10471 	if (yych <= '.') {
10472 		if (yych <= 0x1F) {
10473 			if (yych == '\t') goto yy565;
10474 			goto yy509;
10475 		} else {
10476 			if (yych <= ' ') goto yy565;
10477 			if (yych <= ',') goto yy509;
10478 			goto yy565;
10479 		}
10480 	} else {
10481 		if (yych <= 'T') {
10482 			if (yych <= '/') goto yy509;
10483 			if (yych <= '9') goto yy567;
10484 			goto yy509;
10485 		} else {
10486 			if (yych <= 'U') goto yy587;
10487 			if (yych != 'u') goto yy509;
10488 		}
10489 	}
10490 yy587:
10491 	YYDEBUG(587, *YYCURSOR);
10492 	yych = *++YYCURSOR;
10493 	if (yych == 'S') goto yy588;
10494 	if (yych != 's') goto yy55;
10495 yy588:
10496 	YYDEBUG(588, *YYCURSOR);
10497 	yych = *++YYCURSOR;
10498 	if (yych == 'T') goto yy573;
10499 	if (yych == 't') goto yy573;
10500 	goto yy55;
10501 yy589:
10502 	YYDEBUG(589, *YYCURSOR);
10503 	yych = *++YYCURSOR;
10504 	if (yych <= 'N') {
10505 		if (yych == 'L') goto yy596;
10506 		if (yych <= 'M') goto yy55;
10507 		goto yy595;
10508 	} else {
10509 		if (yych <= 'l') {
10510 			if (yych <= 'k') goto yy55;
10511 			goto yy596;
10512 		} else {
10513 			if (yych == 'n') goto yy595;
10514 			goto yy55;
10515 		}
10516 	}
10517 yy590:
10518 	YYDEBUG(590, *YYCURSOR);
10519 	yych = *++YYCURSOR;
10520 	if (yych == 'N') goto yy591;
10521 	if (yych != 'n') goto yy55;
10522 yy591:
10523 	YYDEBUG(591, *YYCURSOR);
10524 	yyaccept = 9;
10525 	yych = *(YYMARKER = ++YYCURSOR);
10526 	if (yych <= '.') {
10527 		if (yych <= 0x1F) {
10528 			if (yych == '\t') goto yy565;
10529 			goto yy509;
10530 		} else {
10531 			if (yych <= ' ') goto yy565;
10532 			if (yych <= ',') goto yy509;
10533 			goto yy565;
10534 		}
10535 	} else {
10536 		if (yych <= 'T') {
10537 			if (yych <= '/') goto yy509;
10538 			if (yych <= '9') goto yy567;
10539 			goto yy509;
10540 		} else {
10541 			if (yych <= 'U') goto yy592;
10542 			if (yych != 'u') goto yy509;
10543 		}
10544 	}
10545 yy592:
10546 	YYDEBUG(592, *YYCURSOR);
10547 	yych = *++YYCURSOR;
10548 	if (yych == 'A') goto yy593;
10549 	if (yych != 'a') goto yy55;
10550 yy593:
10551 	YYDEBUG(593, *YYCURSOR);
10552 	yych = *++YYCURSOR;
10553 	if (yych == 'R') goto yy594;
10554 	if (yych != 'r') goto yy55;
10555 yy594:
10556 	YYDEBUG(594, *YYCURSOR);
10557 	yych = *++YYCURSOR;
10558 	if (yych == 'Y') goto yy573;
10559 	if (yych == 'y') goto yy573;
10560 	goto yy55;
10561 yy595:
10562 	YYDEBUG(595, *YYCURSOR);
10563 	yyaccept = 9;
10564 	yych = *(YYMARKER = ++YYCURSOR);
10565 	if (yych <= '.') {
10566 		if (yych <= 0x1F) {
10567 			if (yych == '\t') goto yy565;
10568 			goto yy509;
10569 		} else {
10570 			if (yych <= ' ') goto yy565;
10571 			if (yych <= ',') goto yy509;
10572 			goto yy565;
10573 		}
10574 	} else {
10575 		if (yych <= 'D') {
10576 			if (yych <= '/') goto yy509;
10577 			if (yych <= '9') goto yy567;
10578 			goto yy509;
10579 		} else {
10580 			if (yych <= 'E') goto yy573;
10581 			if (yych == 'e') goto yy573;
10582 			goto yy509;
10583 		}
10584 	}
10585 yy596:
10586 	YYDEBUG(596, *YYCURSOR);
10587 	yyaccept = 9;
10588 	yych = *(YYMARKER = ++YYCURSOR);
10589 	if (yych <= '.') {
10590 		if (yych <= 0x1F) {
10591 			if (yych == '\t') goto yy565;
10592 			goto yy509;
10593 		} else {
10594 			if (yych <= ' ') goto yy565;
10595 			if (yych <= ',') goto yy509;
10596 			goto yy565;
10597 		}
10598 	} else {
10599 		if (yych <= 'X') {
10600 			if (yych <= '/') goto yy509;
10601 			if (yych <= '9') goto yy567;
10602 			goto yy509;
10603 		} else {
10604 			if (yych <= 'Y') goto yy573;
10605 			if (yych == 'y') goto yy573;
10606 			goto yy509;
10607 		}
10608 	}
10609 yy597:
10610 	YYDEBUG(597, *YYCURSOR);
10611 	yyaccept = 9;
10612 	yych = *(YYMARKER = ++YYCURSOR);
10613 	if (yych <= ',') {
10614 		if (yych <= '\t') {
10615 			if (yych <= 0x08) goto yy509;
10616 			goto yy565;
10617 		} else {
10618 			if (yych == ' ') goto yy565;
10619 			goto yy509;
10620 		}
10621 	} else {
10622 		if (yych <= '9') {
10623 			if (yych <= '.') goto yy565;
10624 			if (yych <= '/') goto yy509;
10625 			goto yy567;
10626 		} else {
10627 			if (yych == 'I') goto yy573;
10628 			goto yy509;
10629 		}
10630 	}
10631 yy598:
10632 	YYDEBUG(598, *YYCURSOR);
10633 	yyaccept = 9;
10634 	yych = *(YYMARKER = ++YYCURSOR);
10635 	if (yych <= ',') {
10636 		if (yych <= '\t') {
10637 			if (yych <= 0x08) goto yy509;
10638 			goto yy565;
10639 		} else {
10640 			if (yych == ' ') goto yy565;
10641 			goto yy509;
10642 		}
10643 	} else {
10644 		if (yych <= '9') {
10645 			if (yych <= '.') goto yy565;
10646 			if (yych <= '/') goto yy509;
10647 			goto yy567;
10648 		} else {
10649 			if (yych != 'I') goto yy509;
10650 		}
10651 	}
10652 	YYDEBUG(599, *YYCURSOR);
10653 	yyaccept = 9;
10654 	yych = *(YYMARKER = ++YYCURSOR);
10655 	if (yych <= ',') {
10656 		if (yych <= '\t') {
10657 			if (yych <= 0x08) goto yy509;
10658 			goto yy565;
10659 		} else {
10660 			if (yych == ' ') goto yy565;
10661 			goto yy509;
10662 		}
10663 	} else {
10664 		if (yych <= '9') {
10665 			if (yych <= '.') goto yy565;
10666 			if (yych <= '/') goto yy509;
10667 			goto yy567;
10668 		} else {
10669 			if (yych == 'I') goto yy573;
10670 			goto yy509;
10671 		}
10672 	}
10673 yy600:
10674 	YYDEBUG(600, *YYCURSOR);
10675 	yyaccept = 9;
10676 	yych = *(YYMARKER = ++YYCURSOR);
10677 	if (yych <= ',') {
10678 		if (yych <= '\t') {
10679 			if (yych <= 0x08) goto yy509;
10680 			goto yy565;
10681 		} else {
10682 			if (yych == ' ') goto yy565;
10683 			goto yy509;
10684 		}
10685 	} else {
10686 		if (yych <= '9') {
10687 			if (yych <= '.') goto yy565;
10688 			if (yych <= '/') goto yy509;
10689 			goto yy567;
10690 		} else {
10691 			if (yych == 'I') goto yy573;
10692 			goto yy509;
10693 		}
10694 	}
10695 yy601:
10696 	YYDEBUG(601, *YYCURSOR);
10697 	yyaccept = 10;
10698 	yych = *(YYMARKER = ++YYCURSOR);
10699 	if (yych <= '.') {
10700 		if (yych <= ',') goto yy524;
10701 		if (yych <= '-') goto yy635;
10702 		goto yy634;
10703 	} else {
10704 		if (yych <= '/') goto yy524;
10705 		if (yych <= '9') goto yy648;
10706 		if (yych <= ':') goto yy526;
10707 		goto yy524;
10708 	}
10709 yy602:
10710 	YYDEBUG(602, *YYCURSOR);
10711 	yyaccept = 10;
10712 	yych = *(YYMARKER = ++YYCURSOR);
10713 	if (yych <= '/') {
10714 		if (yych <= ',') goto yy524;
10715 		if (yych <= '-') goto yy635;
10716 		if (yych <= '.') goto yy634;
10717 		goto yy524;
10718 	} else {
10719 		if (yych <= '2') goto yy648;
10720 		if (yych <= '9') goto yy647;
10721 		if (yych <= ':') goto yy526;
10722 		goto yy524;
10723 	}
10724 yy603:
10725 	YYDEBUG(603, *YYCURSOR);
10726 	yyaccept = 10;
10727 	yych = *(YYMARKER = ++YYCURSOR);
10728 	if (yych <= '.') {
10729 		if (yych <= ',') goto yy524;
10730 		if (yych <= '-') goto yy635;
10731 		goto yy634;
10732 	} else {
10733 		if (yych <= '/') goto yy524;
10734 		if (yych <= '9') goto yy647;
10735 		if (yych <= ':') goto yy526;
10736 		goto yy524;
10737 	}
10738 yy604:
10739 	YYDEBUG(604, *YYCURSOR);
10740 	yyaccept = 10;
10741 	yych = *(YYMARKER = ++YYCURSOR);
10742 	if (yych <= '.') {
10743 		if (yych <= ',') goto yy524;
10744 		if (yych <= '-') goto yy635;
10745 		goto yy634;
10746 	} else {
10747 		if (yych == ':') goto yy526;
10748 		goto yy524;
10749 	}
10750 yy605:
10751 	YYDEBUG(605, *YYCURSOR);
10752 	yych = *++YYCURSOR;
10753 	if (yych == 'E') goto yy628;
10754 	if (yych == 'e') goto yy628;
10755 	goto yy55;
10756 yy606:
10757 	YYDEBUG(606, *YYCURSOR);
10758 	yych = *++YYCURSOR;
10759 	if (yych == 'A') goto yy625;
10760 	if (yych == 'a') goto yy625;
10761 	goto yy55;
10762 yy607:
10763 	YYDEBUG(607, *YYCURSOR);
10764 	yych = *++YYCURSOR;
10765 	if (yych <= 'U') {
10766 		if (yych == 'P') goto yy583;
10767 		if (yych <= 'T') goto yy55;
10768 		goto yy582;
10769 	} else {
10770 		if (yych <= 'p') {
10771 			if (yych <= 'o') goto yy55;
10772 			goto yy583;
10773 		} else {
10774 			if (yych == 'u') goto yy582;
10775 			goto yy55;
10776 		}
10777 	}
10778 yy608:
10779 	YYDEBUG(608, *YYCURSOR);
10780 	yych = *++YYCURSOR;
10781 	if (yych == 'E') goto yy618;
10782 	if (yych == 'e') goto yy618;
10783 	goto yy55;
10784 yy609:
10785 	YYDEBUG(609, *YYCURSOR);
10786 	yych = *++YYCURSOR;
10787 	if (yych == 'E') goto yy612;
10788 	if (yych == 'e') goto yy612;
10789 	goto yy55;
10790 yy610:
10791 	YYDEBUG(610, *YYCURSOR);
10792 	++YYCURSOR;
10793 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
10794 	yych = *YYCURSOR;
10795 yy611:
10796 	YYDEBUG(611, *YYCURSOR);
10797 	switch (yych) {
10798 	case '\t':
10799 	case ' ':
10800 	case '-':
10801 	case '.':	goto yy610;
10802 	case 'A':
10803 	case 'a':	goto yy607;
10804 	case 'D':
10805 	case 'd':	goto yy609;
10806 	case 'F':
10807 	case 'f':	goto yy605;
10808 	case 'I':	goto yy508;
10809 	case 'J':
10810 	case 'j':	goto yy512;
10811 	case 'M':
10812 	case 'm':	goto yy606;
10813 	case 'N':
10814 	case 'n':	goto yy515;
10815 	case 'O':
10816 	case 'o':	goto yy514;
10817 	case 'S':
10818 	case 's':	goto yy608;
10819 	case 'V':	goto yy510;
10820 	case 'X':	goto yy511;
10821 	default:	goto yy55;
10822 	}
10823 yy612:
10824 	YYDEBUG(612, *YYCURSOR);
10825 	yych = *++YYCURSOR;
10826 	if (yych == 'C') goto yy613;
10827 	if (yych != 'c') goto yy55;
10828 yy613:
10829 	YYDEBUG(613, *YYCURSOR);
10830 	yyaccept = 9;
10831 	yych = *(YYMARKER = ++YYCURSOR);
10832 	if (yych <= '.') {
10833 		if (yych <= 0x1F) {
10834 			if (yych == '\t') goto yy565;
10835 			goto yy509;
10836 		} else {
10837 			if (yych <= ' ') goto yy565;
10838 			if (yych <= ',') goto yy509;
10839 			goto yy565;
10840 		}
10841 	} else {
10842 		if (yych <= 'D') {
10843 			if (yych <= '/') goto yy509;
10844 			if (yych <= '9') goto yy567;
10845 			goto yy509;
10846 		} else {
10847 			if (yych <= 'E') goto yy614;
10848 			if (yych != 'e') goto yy509;
10849 		}
10850 	}
10851 yy614:
10852 	YYDEBUG(614, *YYCURSOR);
10853 	yych = *++YYCURSOR;
10854 	if (yych == 'M') goto yy615;
10855 	if (yych != 'm') goto yy55;
10856 yy615:
10857 	YYDEBUG(615, *YYCURSOR);
10858 	yych = *++YYCURSOR;
10859 	if (yych == 'B') goto yy616;
10860 	if (yych != 'b') goto yy55;
10861 yy616:
10862 	YYDEBUG(616, *YYCURSOR);
10863 	yych = *++YYCURSOR;
10864 	if (yych == 'E') goto yy617;
10865 	if (yych != 'e') goto yy55;
10866 yy617:
10867 	YYDEBUG(617, *YYCURSOR);
10868 	yych = *++YYCURSOR;
10869 	if (yych == 'R') goto yy573;
10870 	if (yych == 'r') goto yy573;
10871 	goto yy55;
10872 yy618:
10873 	YYDEBUG(618, *YYCURSOR);
10874 	yych = *++YYCURSOR;
10875 	if (yych == 'P') goto yy619;
10876 	if (yych != 'p') goto yy55;
10877 yy619:
10878 	YYDEBUG(619, *YYCURSOR);
10879 	yyaccept = 9;
10880 	yych = *(YYMARKER = ++YYCURSOR);
10881 	if (yych <= '.') {
10882 		if (yych <= 0x1F) {
10883 			if (yych == '\t') goto yy565;
10884 			goto yy509;
10885 		} else {
10886 			if (yych <= ' ') goto yy565;
10887 			if (yych <= ',') goto yy509;
10888 			goto yy565;
10889 		}
10890 	} else {
10891 		if (yych <= 'S') {
10892 			if (yych <= '/') goto yy509;
10893 			if (yych <= '9') goto yy567;
10894 			goto yy509;
10895 		} else {
10896 			if (yych <= 'T') goto yy620;
10897 			if (yych != 't') goto yy509;
10898 		}
10899 	}
10900 yy620:
10901 	YYDEBUG(620, *YYCURSOR);
10902 	yyaccept = 9;
10903 	yych = *(YYMARKER = ++YYCURSOR);
10904 	if (yych <= '.') {
10905 		if (yych <= 0x1F) {
10906 			if (yych == '\t') goto yy565;
10907 			goto yy509;
10908 		} else {
10909 			if (yych <= ' ') goto yy565;
10910 			if (yych <= ',') goto yy509;
10911 			goto yy565;
10912 		}
10913 	} else {
10914 		if (yych <= 'D') {
10915 			if (yych <= '/') goto yy509;
10916 			if (yych <= '9') goto yy567;
10917 			goto yy509;
10918 		} else {
10919 			if (yych <= 'E') goto yy621;
10920 			if (yych != 'e') goto yy509;
10921 		}
10922 	}
10923 yy621:
10924 	YYDEBUG(621, *YYCURSOR);
10925 	yych = *++YYCURSOR;
10926 	if (yych == 'M') goto yy622;
10927 	if (yych != 'm') goto yy55;
10928 yy622:
10929 	YYDEBUG(622, *YYCURSOR);
10930 	yych = *++YYCURSOR;
10931 	if (yych == 'B') goto yy623;
10932 	if (yych != 'b') goto yy55;
10933 yy623:
10934 	YYDEBUG(623, *YYCURSOR);
10935 	yych = *++YYCURSOR;
10936 	if (yych == 'E') goto yy624;
10937 	if (yych != 'e') goto yy55;
10938 yy624:
10939 	YYDEBUG(624, *YYCURSOR);
10940 	yych = *++YYCURSOR;
10941 	if (yych == 'R') goto yy573;
10942 	if (yych == 'r') goto yy573;
10943 	goto yy55;
10944 yy625:
10945 	YYDEBUG(625, *YYCURSOR);
10946 	yych = *++YYCURSOR;
10947 	if (yych <= 'Y') {
10948 		if (yych == 'R') goto yy626;
10949 		if (yych <= 'X') goto yy55;
10950 		goto yy573;
10951 	} else {
10952 		if (yych <= 'r') {
10953 			if (yych <= 'q') goto yy55;
10954 		} else {
10955 			if (yych == 'y') goto yy573;
10956 			goto yy55;
10957 		}
10958 	}
10959 yy626:
10960 	YYDEBUG(626, *YYCURSOR);
10961 	yyaccept = 9;
10962 	yych = *(YYMARKER = ++YYCURSOR);
10963 	if (yych <= '.') {
10964 		if (yych <= 0x1F) {
10965 			if (yych == '\t') goto yy565;
10966 			goto yy509;
10967 		} else {
10968 			if (yych <= ' ') goto yy565;
10969 			if (yych <= ',') goto yy509;
10970 			goto yy565;
10971 		}
10972 	} else {
10973 		if (yych <= 'B') {
10974 			if (yych <= '/') goto yy509;
10975 			if (yych <= '9') goto yy567;
10976 			goto yy509;
10977 		} else {
10978 			if (yych <= 'C') goto yy627;
10979 			if (yych != 'c') goto yy509;
10980 		}
10981 	}
10982 yy627:
10983 	YYDEBUG(627, *YYCURSOR);
10984 	yych = *++YYCURSOR;
10985 	if (yych == 'H') goto yy573;
10986 	if (yych == 'h') goto yy573;
10987 	goto yy55;
10988 yy628:
10989 	YYDEBUG(628, *YYCURSOR);
10990 	yych = *++YYCURSOR;
10991 	if (yych == 'B') goto yy629;
10992 	if (yych != 'b') goto yy55;
10993 yy629:
10994 	YYDEBUG(629, *YYCURSOR);
10995 	yyaccept = 9;
10996 	yych = *(YYMARKER = ++YYCURSOR);
10997 	if (yych <= '.') {
10998 		if (yych <= 0x1F) {
10999 			if (yych == '\t') goto yy565;
11000 			goto yy509;
11001 		} else {
11002 			if (yych <= ' ') goto yy565;
11003 			if (yych <= ',') goto yy509;
11004 			goto yy565;
11005 		}
11006 	} else {
11007 		if (yych <= 'Q') {
11008 			if (yych <= '/') goto yy509;
11009 			if (yych <= '9') goto yy567;
11010 			goto yy509;
11011 		} else {
11012 			if (yych <= 'R') goto yy630;
11013 			if (yych != 'r') goto yy509;
11014 		}
11015 	}
11016 yy630:
11017 	YYDEBUG(630, *YYCURSOR);
11018 	yych = *++YYCURSOR;
11019 	if (yych == 'U') goto yy631;
11020 	if (yych != 'u') goto yy55;
11021 yy631:
11022 	YYDEBUG(631, *YYCURSOR);
11023 	yych = *++YYCURSOR;
11024 	if (yych == 'A') goto yy632;
11025 	if (yych != 'a') goto yy55;
11026 yy632:
11027 	YYDEBUG(632, *YYCURSOR);
11028 	yych = *++YYCURSOR;
11029 	if (yych == 'R') goto yy633;
11030 	if (yych != 'r') goto yy55;
11031 yy633:
11032 	YYDEBUG(633, *YYCURSOR);
11033 	yych = *++YYCURSOR;
11034 	if (yych == 'Y') goto yy573;
11035 	if (yych == 'y') goto yy573;
11036 	goto yy55;
11037 yy634:
11038 	YYDEBUG(634, *YYCURSOR);
11039 	yych = *++YYCURSOR;
11040 	if (yych <= '/') goto yy55;
11041 	if (yych <= '5') goto yy641;
11042 	if (yych <= '6') goto yy642;
11043 	if (yych <= '9') goto yy643;
11044 	goto yy55;
11045 yy635:
11046 	YYDEBUG(635, *YYCURSOR);
11047 	yych = *++YYCURSOR;
11048 	if (yych <= '/') goto yy55;
11049 	if (yych >= ':') goto yy55;
11050 	YYDEBUG(636, *YYCURSOR);
11051 	yych = *++YYCURSOR;
11052 	if (yych <= '/') goto yy55;
11053 	if (yych >= ':') goto yy55;
11054 yy637:
11055 	YYDEBUG(637, *YYCURSOR);
11056 	yych = *++YYCURSOR;
11057 	if (yych <= '/') goto yy55;
11058 	if (yych >= ':') goto yy55;
11059 yy638:
11060 	YYDEBUG(638, *YYCURSOR);
11061 	yych = *++YYCURSOR;
11062 	if (yych <= '/') goto yy55;
11063 	if (yych >= ':') goto yy55;
11064 	YYDEBUG(639, *YYCURSOR);
11065 	++YYCURSOR;
11066 	YYDEBUG(640, *YYCURSOR);
11067 #line 1505 "ext/date/lib/parse_date.re"
11068 	{
11069 		DEBUG_OUTPUT("pointed date YYYY");
11070 		TIMELIB_INIT;
11071 		TIMELIB_HAVE_DATE();
11072 		s->time->d = timelib_get_nr(&ptr, 2);
11073 		s->time->m = timelib_get_nr(&ptr, 2);
11074 		s->time->y = timelib_get_nr(&ptr, 4);
11075 		TIMELIB_DEINIT;
11076 		return TIMELIB_DATE_FULL_POINTED;
11077 	}
11078 #line 11079 "<stdout>"
11079 yy641:
11080 	YYDEBUG(641, *YYCURSOR);
11081 	yyaccept = 10;
11082 	yych = *(YYMARKER = ++YYCURSOR);
11083 	if (yych == '.') goto yy530;
11084 	if (yych <= '/') goto yy524;
11085 	if (yych <= '9') goto yy646;
11086 	goto yy524;
11087 yy642:
11088 	YYDEBUG(642, *YYCURSOR);
11089 	yyaccept = 10;
11090 	yych = *(YYMARKER = ++YYCURSOR);
11091 	if (yych <= '/') {
11092 		if (yych == '.') goto yy530;
11093 		goto yy524;
11094 	} else {
11095 		if (yych <= '0') goto yy646;
11096 		if (yych <= '9') goto yy644;
11097 		goto yy524;
11098 	}
11099 yy643:
11100 	YYDEBUG(643, *YYCURSOR);
11101 	yyaccept = 10;
11102 	yych = *(YYMARKER = ++YYCURSOR);
11103 	if (yych == '.') goto yy530;
11104 	if (yych <= '/') goto yy524;
11105 	if (yych >= ':') goto yy524;
11106 yy644:
11107 	YYDEBUG(644, *YYCURSOR);
11108 	yyaccept = 11;
11109 	yych = *(YYMARKER = ++YYCURSOR);
11110 	if (yych <= '/') goto yy645;
11111 	if (yych <= '9') goto yy638;
11112 yy645:
11113 	YYDEBUG(645, *YYCURSOR);
11114 #line 1517 "ext/date/lib/parse_date.re"
11115 	{
11116 		int length = 0;
11117 		DEBUG_OUTPUT("pointed date YY");
11118 		TIMELIB_INIT;
11119 		TIMELIB_HAVE_DATE();
11120 		s->time->d = timelib_get_nr(&ptr, 2);
11121 		s->time->m = timelib_get_nr(&ptr, 2);
11122 		s->time->y = timelib_get_nr_ex(&ptr, 2, &length);
11123 		TIMELIB_PROCESS_YEAR(s->time->y, length);
11124 		TIMELIB_DEINIT;
11125 		return TIMELIB_DATE_FULL_POINTED;
11126 	}
11127 #line 11128 "<stdout>"
11128 yy646:
11129 	YYDEBUG(646, *YYCURSOR);
11130 	yyaccept = 10;
11131 	yych = *(YYMARKER = ++YYCURSOR);
11132 	if (yych <= '9') {
11133 		if (yych <= ' ') {
11134 			if (yych == '\t') goto yy534;
11135 			if (yych <= 0x1F) goto yy524;
11136 			goto yy534;
11137 		} else {
11138 			if (yych == '.') goto yy530;
11139 			if (yych <= '/') goto yy524;
11140 			goto yy638;
11141 		}
11142 	} else {
11143 		if (yych <= 'P') {
11144 			if (yych == 'A') goto yy536;
11145 			if (yych <= 'O') goto yy524;
11146 			goto yy536;
11147 		} else {
11148 			if (yych <= 'a') {
11149 				if (yych <= '`') goto yy524;
11150 				goto yy536;
11151 			} else {
11152 				if (yych == 'p') goto yy536;
11153 				goto yy524;
11154 			}
11155 		}
11156 	}
11157 yy647:
11158 	YYDEBUG(647, *YYCURSOR);
11159 	yyaccept = 10;
11160 	yych = *(YYMARKER = ++YYCURSOR);
11161 	if (yych <= ':') {
11162 		if (yych <= ' ') {
11163 			if (yych == '\t') goto yy541;
11164 			if (yych <= 0x1F) goto yy524;
11165 			goto yy541;
11166 		} else {
11167 			if (yych == '.') goto yy526;
11168 			if (yych <= '9') goto yy524;
11169 			goto yy526;
11170 		}
11171 	} else {
11172 		if (yych <= 'P') {
11173 			if (yych == 'A') goto yy543;
11174 			if (yych <= 'O') goto yy524;
11175 			goto yy543;
11176 		} else {
11177 			if (yych <= 'a') {
11178 				if (yych <= '`') goto yy524;
11179 				goto yy543;
11180 			} else {
11181 				if (yych == 'p') goto yy543;
11182 				goto yy524;
11183 			}
11184 		}
11185 	}
11186 yy648:
11187 	YYDEBUG(648, *YYCURSOR);
11188 	yyaccept = 10;
11189 	yych = *(YYMARKER = ++YYCURSOR);
11190 	if (yych <= ':') {
11191 		if (yych <= ' ') {
11192 			if (yych == '\t') goto yy541;
11193 			if (yych <= 0x1F) goto yy524;
11194 			goto yy541;
11195 		} else {
11196 			if (yych <= '-') {
11197 				if (yych <= ',') goto yy524;
11198 				goto yy635;
11199 			} else {
11200 				if (yych <= '.') goto yy634;
11201 				if (yych <= '9') goto yy524;
11202 				goto yy526;
11203 			}
11204 		}
11205 	} else {
11206 		if (yych <= 'P') {
11207 			if (yych == 'A') goto yy543;
11208 			if (yych <= 'O') goto yy524;
11209 			goto yy543;
11210 		} else {
11211 			if (yych <= 'a') {
11212 				if (yych <= '`') goto yy524;
11213 				goto yy543;
11214 			} else {
11215 				if (yych == 'p') goto yy543;
11216 				goto yy524;
11217 			}
11218 		}
11219 	}
11220 yy649:
11221 	YYDEBUG(649, *YYCURSOR);
11222 	yych = *++YYCURSOR;
11223 	if (yych <= '.') {
11224 		if (yych <= ',') goto yy55;
11225 		if (yych <= '-') goto yy688;
11226 		goto yy635;
11227 	} else {
11228 		if (yych <= '/') goto yy55;
11229 		if (yych <= '9') goto yy651;
11230 		goto yy55;
11231 	}
11232 yy650:
11233 	YYDEBUG(650, *YYCURSOR);
11234 	yych = *++YYCURSOR;
11235 	if (yych <= '.') {
11236 		if (yych <= ',') goto yy55;
11237 		if (yych <= '-') goto yy688;
11238 		goto yy635;
11239 	} else {
11240 		if (yych <= '/') goto yy55;
11241 		if (yych >= '3') goto yy55;
11242 	}
11243 yy651:
11244 	YYDEBUG(651, *YYCURSOR);
11245 	yych = *++YYCURSOR;
11246 	if (yych <= ',') goto yy55;
11247 	if (yych <= '-') goto yy688;
11248 	if (yych <= '.') goto yy635;
11249 	goto yy55;
11250 yy652:
11251 	YYDEBUG(652, *YYCURSOR);
11252 	yych = *++YYCURSOR;
11253 	if (yych <= 'U') {
11254 		if (yych == 'A') goto yy684;
11255 		if (yych <= 'T') goto yy55;
11256 		goto yy683;
11257 	} else {
11258 		if (yych <= 'a') {
11259 			if (yych <= '`') goto yy55;
11260 			goto yy684;
11261 		} else {
11262 			if (yych == 'u') goto yy683;
11263 			goto yy55;
11264 		}
11265 	}
11266 yy653:
11267 	YYDEBUG(653, *YYCURSOR);
11268 	yych = *++YYCURSOR;
11269 	if (yych == 'E') goto yy681;
11270 	if (yych == 'e') goto yy681;
11271 	goto yy55;
11272 yy654:
11273 	YYDEBUG(654, *YYCURSOR);
11274 	yych = *++YYCURSOR;
11275 	if (yych == 'A') goto yy678;
11276 	if (yych == 'a') goto yy678;
11277 	goto yy55;
11278 yy655:
11279 	YYDEBUG(655, *YYCURSOR);
11280 	yych = *++YYCURSOR;
11281 	if (yych <= 'U') {
11282 		if (yych == 'P') goto yy675;
11283 		if (yych <= 'T') goto yy55;
11284 		goto yy674;
11285 	} else {
11286 		if (yych <= 'p') {
11287 			if (yych <= 'o') goto yy55;
11288 			goto yy675;
11289 		} else {
11290 			if (yych == 'u') goto yy674;
11291 			goto yy55;
11292 		}
11293 	}
11294 yy656:
11295 	YYDEBUG(656, *YYCURSOR);
11296 	yych = *++YYCURSOR;
11297 	if (yych == 'E') goto yy671;
11298 	if (yych == 'e') goto yy671;
11299 	goto yy55;
11300 yy657:
11301 	YYDEBUG(657, *YYCURSOR);
11302 	yych = *++YYCURSOR;
11303 	if (yych == 'C') goto yy669;
11304 	if (yych == 'c') goto yy669;
11305 	goto yy55;
11306 yy658:
11307 	YYDEBUG(658, *YYCURSOR);
11308 	yych = *++YYCURSOR;
11309 	if (yych == 'O') goto yy667;
11310 	if (yych == 'o') goto yy667;
11311 	goto yy55;
11312 yy659:
11313 	YYDEBUG(659, *YYCURSOR);
11314 	yych = *++YYCURSOR;
11315 	if (yych == 'E') goto yy660;
11316 	if (yych != 'e') goto yy55;
11317 yy660:
11318 	YYDEBUG(660, *YYCURSOR);
11319 	yych = *++YYCURSOR;
11320 	if (yych == 'C') goto yy661;
11321 	if (yych != 'c') goto yy55;
11322 yy661:
11323 	YYDEBUG(661, *YYCURSOR);
11324 	yyaccept = 9;
11325 	yych = *(YYMARKER = ++YYCURSOR);
11326 	if (yych <= '.') {
11327 		if (yych <= 0x1F) {
11328 			if (yych == '\t') goto yy565;
11329 			goto yy509;
11330 		} else {
11331 			if (yych <= ' ') goto yy565;
11332 			if (yych <= ',') goto yy509;
11333 			if (yych >= '.') goto yy565;
11334 		}
11335 	} else {
11336 		if (yych <= 'D') {
11337 			if (yych <= '/') goto yy509;
11338 			if (yych <= '9') goto yy567;
11339 			goto yy509;
11340 		} else {
11341 			if (yych <= 'E') goto yy614;
11342 			if (yych == 'e') goto yy614;
11343 			goto yy509;
11344 		}
11345 	}
11346 yy662:
11347 	YYDEBUG(662, *YYCURSOR);
11348 	yych = *++YYCURSOR;
11349 	if (yych <= '/') goto yy566;
11350 	if (yych <= '0') goto yy663;
11351 	if (yych <= '2') goto yy664;
11352 	if (yych <= '3') goto yy665;
11353 	goto yy566;
11354 yy663:
11355 	YYDEBUG(663, *YYCURSOR);
11356 	yych = *++YYCURSOR;
11357 	if (yych <= '/') goto yy568;
11358 	if (yych <= '9') goto yy666;
11359 	goto yy568;
11360 yy664:
11361 	YYDEBUG(664, *YYCURSOR);
11362 	yych = *++YYCURSOR;
11363 	if (yych <= '/') goto yy568;
11364 	if (yych <= '9') goto yy666;
11365 	goto yy568;
11366 yy665:
11367 	YYDEBUG(665, *YYCURSOR);
11368 	yych = *++YYCURSOR;
11369 	if (yych <= '/') goto yy568;
11370 	if (yych <= '1') goto yy666;
11371 	if (yych <= '9') goto yy574;
11372 	goto yy568;
11373 yy666:
11374 	YYDEBUG(666, *YYCURSOR);
11375 	yych = *++YYCURSOR;
11376 	if (yych <= '/') goto yy568;
11377 	if (yych <= '9') goto yy575;
11378 	goto yy568;
11379 yy667:
11380 	YYDEBUG(667, *YYCURSOR);
11381 	yych = *++YYCURSOR;
11382 	if (yych == 'V') goto yy668;
11383 	if (yych != 'v') goto yy55;
11384 yy668:
11385 	YYDEBUG(668, *YYCURSOR);
11386 	yyaccept = 9;
11387 	yych = *(YYMARKER = ++YYCURSOR);
11388 	if (yych <= '.') {
11389 		if (yych <= 0x1F) {
11390 			if (yych == '\t') goto yy565;
11391 			goto yy509;
11392 		} else {
11393 			if (yych <= ' ') goto yy565;
11394 			if (yych <= ',') goto yy509;
11395 			if (yych <= '-') goto yy662;
11396 			goto yy565;
11397 		}
11398 	} else {
11399 		if (yych <= 'D') {
11400 			if (yych <= '/') goto yy509;
11401 			if (yych <= '9') goto yy567;
11402 			goto yy509;
11403 		} else {
11404 			if (yych <= 'E') goto yy569;
11405 			if (yych == 'e') goto yy569;
11406 			goto yy509;
11407 		}
11408 	}
11409 yy669:
11410 	YYDEBUG(669, *YYCURSOR);
11411 	yych = *++YYCURSOR;
11412 	if (yych == 'T') goto yy670;
11413 	if (yych != 't') goto yy55;
11414 yy670:
11415 	YYDEBUG(670, *YYCURSOR);
11416 	yyaccept = 9;
11417 	yych = *(YYMARKER = ++YYCURSOR);
11418 	if (yych <= '.') {
11419 		if (yych <= 0x1F) {
11420 			if (yych == '\t') goto yy565;
11421 			goto yy509;
11422 		} else {
11423 			if (yych <= ' ') goto yy565;
11424 			if (yych <= ',') goto yy509;
11425 			if (yych <= '-') goto yy662;
11426 			goto yy565;
11427 		}
11428 	} else {
11429 		if (yych <= 'N') {
11430 			if (yych <= '/') goto yy509;
11431 			if (yych <= '9') goto yy567;
11432 			goto yy509;
11433 		} else {
11434 			if (yych <= 'O') goto yy579;
11435 			if (yych == 'o') goto yy579;
11436 			goto yy509;
11437 		}
11438 	}
11439 yy671:
11440 	YYDEBUG(671, *YYCURSOR);
11441 	yych = *++YYCURSOR;
11442 	if (yych == 'P') goto yy672;
11443 	if (yych != 'p') goto yy55;
11444 yy672:
11445 	YYDEBUG(672, *YYCURSOR);
11446 	yyaccept = 9;
11447 	yych = *(YYMARKER = ++YYCURSOR);
11448 	if (yych <= '.') {
11449 		if (yych <= 0x1F) {
11450 			if (yych == '\t') goto yy565;
11451 			goto yy509;
11452 		} else {
11453 			if (yych <= ' ') goto yy565;
11454 			if (yych <= ',') goto yy509;
11455 			if (yych <= '-') goto yy662;
11456 			goto yy565;
11457 		}
11458 	} else {
11459 		if (yych <= 'S') {
11460 			if (yych <= '/') goto yy509;
11461 			if (yych <= '9') goto yy567;
11462 			goto yy509;
11463 		} else {
11464 			if (yych <= 'T') goto yy673;
11465 			if (yych != 't') goto yy509;
11466 		}
11467 	}
11468 yy673:
11469 	YYDEBUG(673, *YYCURSOR);
11470 	yyaccept = 9;
11471 	yych = *(YYMARKER = ++YYCURSOR);
11472 	if (yych <= '.') {
11473 		if (yych <= 0x1F) {
11474 			if (yych == '\t') goto yy565;
11475 			goto yy509;
11476 		} else {
11477 			if (yych <= ' ') goto yy565;
11478 			if (yych <= ',') goto yy509;
11479 			if (yych <= '-') goto yy662;
11480 			goto yy565;
11481 		}
11482 	} else {
11483 		if (yych <= 'D') {
11484 			if (yych <= '/') goto yy509;
11485 			if (yych <= '9') goto yy567;
11486 			goto yy509;
11487 		} else {
11488 			if (yych <= 'E') goto yy621;
11489 			if (yych == 'e') goto yy621;
11490 			goto yy509;
11491 		}
11492 	}
11493 yy674:
11494 	YYDEBUG(674, *YYCURSOR);
11495 	yych = *++YYCURSOR;
11496 	if (yych == 'G') goto yy677;
11497 	if (yych == 'g') goto yy677;
11498 	goto yy55;
11499 yy675:
11500 	YYDEBUG(675, *YYCURSOR);
11501 	yych = *++YYCURSOR;
11502 	if (yych == 'R') goto yy676;
11503 	if (yych != 'r') goto yy55;
11504 yy676:
11505 	YYDEBUG(676, *YYCURSOR);
11506 	yyaccept = 9;
11507 	yych = *(YYMARKER = ++YYCURSOR);
11508 	if (yych <= '.') {
11509 		if (yych <= 0x1F) {
11510 			if (yych == '\t') goto yy565;
11511 			goto yy509;
11512 		} else {
11513 			if (yych <= ' ') goto yy565;
11514 			if (yych <= ',') goto yy509;
11515 			if (yych <= '-') goto yy662;
11516 			goto yy565;
11517 		}
11518 	} else {
11519 		if (yych <= 'H') {
11520 			if (yych <= '/') goto yy509;
11521 			if (yych <= '9') goto yy567;
11522 			goto yy509;
11523 		} else {
11524 			if (yych <= 'I') goto yy585;
11525 			if (yych == 'i') goto yy585;
11526 			goto yy509;
11527 		}
11528 	}
11529 yy677:
11530 	YYDEBUG(677, *YYCURSOR);
11531 	yyaccept = 9;
11532 	yych = *(YYMARKER = ++YYCURSOR);
11533 	if (yych <= '.') {
11534 		if (yych <= 0x1F) {
11535 			if (yych == '\t') goto yy565;
11536 			goto yy509;
11537 		} else {
11538 			if (yych <= ' ') goto yy565;
11539 			if (yych <= ',') goto yy509;
11540 			if (yych <= '-') goto yy662;
11541 			goto yy565;
11542 		}
11543 	} else {
11544 		if (yych <= 'T') {
11545 			if (yych <= '/') goto yy509;
11546 			if (yych <= '9') goto yy567;
11547 			goto yy509;
11548 		} else {
11549 			if (yych <= 'U') goto yy587;
11550 			if (yych == 'u') goto yy587;
11551 			goto yy509;
11552 		}
11553 	}
11554 yy678:
11555 	YYDEBUG(678, *YYCURSOR);
11556 	yych = *++YYCURSOR;
11557 	if (yych <= 'Y') {
11558 		if (yych == 'R') goto yy679;
11559 		if (yych <= 'X') goto yy55;
11560 		goto yy680;
11561 	} else {
11562 		if (yych <= 'r') {
11563 			if (yych <= 'q') goto yy55;
11564 		} else {
11565 			if (yych == 'y') goto yy680;
11566 			goto yy55;
11567 		}
11568 	}
11569 yy679:
11570 	YYDEBUG(679, *YYCURSOR);
11571 	yyaccept = 9;
11572 	yych = *(YYMARKER = ++YYCURSOR);
11573 	if (yych <= '.') {
11574 		if (yych <= 0x1F) {
11575 			if (yych == '\t') goto yy565;
11576 			goto yy509;
11577 		} else {
11578 			if (yych <= ' ') goto yy565;
11579 			if (yych <= ',') goto yy509;
11580 			if (yych <= '-') goto yy662;
11581 			goto yy565;
11582 		}
11583 	} else {
11584 		if (yych <= 'B') {
11585 			if (yych <= '/') goto yy509;
11586 			if (yych <= '9') goto yy567;
11587 			goto yy509;
11588 		} else {
11589 			if (yych <= 'C') goto yy627;
11590 			if (yych == 'c') goto yy627;
11591 			goto yy509;
11592 		}
11593 	}
11594 yy680:
11595 	YYDEBUG(680, *YYCURSOR);
11596 	yyaccept = 9;
11597 	yych = *(YYMARKER = ++YYCURSOR);
11598 	if (yych <= ',') {
11599 		if (yych <= '\t') {
11600 			if (yych <= 0x08) goto yy509;
11601 			goto yy565;
11602 		} else {
11603 			if (yych == ' ') goto yy565;
11604 			goto yy509;
11605 		}
11606 	} else {
11607 		if (yych <= '.') {
11608 			if (yych <= '-') goto yy662;
11609 			goto yy565;
11610 		} else {
11611 			if (yych <= '/') goto yy509;
11612 			if (yych <= '9') goto yy567;
11613 			goto yy509;
11614 		}
11615 	}
11616 yy681:
11617 	YYDEBUG(681, *YYCURSOR);
11618 	yych = *++YYCURSOR;
11619 	if (yych == 'B') goto yy682;
11620 	if (yych != 'b') goto yy55;
11621 yy682:
11622 	YYDEBUG(682, *YYCURSOR);
11623 	yyaccept = 9;
11624 	yych = *(YYMARKER = ++YYCURSOR);
11625 	if (yych <= '.') {
11626 		if (yych <= 0x1F) {
11627 			if (yych == '\t') goto yy565;
11628 			goto yy509;
11629 		} else {
11630 			if (yych <= ' ') goto yy565;
11631 			if (yych <= ',') goto yy509;
11632 			if (yych <= '-') goto yy662;
11633 			goto yy565;
11634 		}
11635 	} else {
11636 		if (yych <= 'Q') {
11637 			if (yych <= '/') goto yy509;
11638 			if (yych <= '9') goto yy567;
11639 			goto yy509;
11640 		} else {
11641 			if (yych <= 'R') goto yy630;
11642 			if (yych == 'r') goto yy630;
11643 			goto yy509;
11644 		}
11645 	}
11646 yy683:
11647 	YYDEBUG(683, *YYCURSOR);
11648 	yych = *++YYCURSOR;
11649 	if (yych <= 'N') {
11650 		if (yych == 'L') goto yy687;
11651 		if (yych <= 'M') goto yy55;
11652 		goto yy686;
11653 	} else {
11654 		if (yych <= 'l') {
11655 			if (yych <= 'k') goto yy55;
11656 			goto yy687;
11657 		} else {
11658 			if (yych == 'n') goto yy686;
11659 			goto yy55;
11660 		}
11661 	}
11662 yy684:
11663 	YYDEBUG(684, *YYCURSOR);
11664 	yych = *++YYCURSOR;
11665 	if (yych == 'N') goto yy685;
11666 	if (yych != 'n') goto yy55;
11667 yy685:
11668 	YYDEBUG(685, *YYCURSOR);
11669 	yyaccept = 9;
11670 	yych = *(YYMARKER = ++YYCURSOR);
11671 	if (yych <= '.') {
11672 		if (yych <= 0x1F) {
11673 			if (yych == '\t') goto yy565;
11674 			goto yy509;
11675 		} else {
11676 			if (yych <= ' ') goto yy565;
11677 			if (yych <= ',') goto yy509;
11678 			if (yych <= '-') goto yy662;
11679 			goto yy565;
11680 		}
11681 	} else {
11682 		if (yych <= 'T') {
11683 			if (yych <= '/') goto yy509;
11684 			if (yych <= '9') goto yy567;
11685 			goto yy509;
11686 		} else {
11687 			if (yych <= 'U') goto yy592;
11688 			if (yych == 'u') goto yy592;
11689 			goto yy509;
11690 		}
11691 	}
11692 yy686:
11693 	YYDEBUG(686, *YYCURSOR);
11694 	yyaccept = 9;
11695 	yych = *(YYMARKER = ++YYCURSOR);
11696 	if (yych <= '.') {
11697 		if (yych <= 0x1F) {
11698 			if (yych == '\t') goto yy565;
11699 			goto yy509;
11700 		} else {
11701 			if (yych <= ' ') goto yy565;
11702 			if (yych <= ',') goto yy509;
11703 			if (yych <= '-') goto yy662;
11704 			goto yy565;
11705 		}
11706 	} else {
11707 		if (yych <= 'D') {
11708 			if (yych <= '/') goto yy509;
11709 			if (yych <= '9') goto yy567;
11710 			goto yy509;
11711 		} else {
11712 			if (yych <= 'E') goto yy573;
11713 			if (yych == 'e') goto yy573;
11714 			goto yy509;
11715 		}
11716 	}
11717 yy687:
11718 	YYDEBUG(687, *YYCURSOR);
11719 	yyaccept = 9;
11720 	yych = *(YYMARKER = ++YYCURSOR);
11721 	if (yych <= '.') {
11722 		if (yych <= 0x1F) {
11723 			if (yych == '\t') goto yy565;
11724 			goto yy509;
11725 		} else {
11726 			if (yych <= ' ') goto yy565;
11727 			if (yych <= ',') goto yy509;
11728 			if (yych <= '-') goto yy662;
11729 			goto yy565;
11730 		}
11731 	} else {
11732 		if (yych <= 'X') {
11733 			if (yych <= '/') goto yy509;
11734 			if (yych <= '9') goto yy567;
11735 			goto yy509;
11736 		} else {
11737 			if (yych <= 'Y') goto yy573;
11738 			if (yych == 'y') goto yy573;
11739 			goto yy509;
11740 		}
11741 	}
11742 yy688:
11743 	YYDEBUG(688, *YYCURSOR);
11744 	yych = *++YYCURSOR;
11745 	if (yych <= '/') goto yy55;
11746 	if (yych <= '2') goto yy689;
11747 	if (yych <= '3') goto yy691;
11748 	if (yych <= '9') goto yy692;
11749 	goto yy55;
11750 yy689:
11751 	YYDEBUG(689, *YYCURSOR);
11752 	yyaccept = 12;
11753 	yych = *(YYMARKER = ++YYCURSOR);
11754 	if (yych <= 'n') {
11755 		if (yych <= '/') goto yy690;
11756 		if (yych <= '9') goto yy698;
11757 		if (yych >= 'n') goto yy694;
11758 	} else {
11759 		if (yych <= 'r') {
11760 			if (yych >= 'r') goto yy695;
11761 		} else {
11762 			if (yych <= 's') goto yy693;
11763 			if (yych <= 't') goto yy696;
11764 		}
11765 	}
11766 yy690:
11767 	YYDEBUG(690, *YYCURSOR);
11768 #line 1476 "ext/date/lib/parse_date.re"
11769 	{
11770 		int length = 0;
11771 		DEBUG_OUTPUT("gnudateshort");
11772 		TIMELIB_INIT;
11773 		TIMELIB_HAVE_DATE();
11774 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
11775 		s->time->m = timelib_get_nr(&ptr, 2);
11776 		s->time->d = timelib_get_nr(&ptr, 2);
11777 		TIMELIB_PROCESS_YEAR(s->time->y, length);
11778 		TIMELIB_DEINIT;
11779 		return TIMELIB_ISO_DATE;
11780 	}
11781 #line 11782 "<stdout>"
11782 yy691:
11783 	YYDEBUG(691, *YYCURSOR);
11784 	yyaccept = 12;
11785 	yych = *(YYMARKER = ++YYCURSOR);
11786 	if (yych <= 'n') {
11787 		if (yych <= '1') {
11788 			if (yych <= '/') goto yy690;
11789 			goto yy698;
11790 		} else {
11791 			if (yych <= '9') goto yy637;
11792 			if (yych <= 'm') goto yy690;
11793 			goto yy694;
11794 		}
11795 	} else {
11796 		if (yych <= 'r') {
11797 			if (yych <= 'q') goto yy690;
11798 			goto yy695;
11799 		} else {
11800 			if (yych <= 's') goto yy693;
11801 			if (yych <= 't') goto yy696;
11802 			goto yy690;
11803 		}
11804 	}
11805 yy692:
11806 	YYDEBUG(692, *YYCURSOR);
11807 	yyaccept = 12;
11808 	yych = *(YYMARKER = ++YYCURSOR);
11809 	if (yych <= 'n') {
11810 		if (yych <= '/') goto yy690;
11811 		if (yych <= '9') goto yy637;
11812 		if (yych <= 'm') goto yy690;
11813 		goto yy694;
11814 	} else {
11815 		if (yych <= 'r') {
11816 			if (yych <= 'q') goto yy690;
11817 			goto yy695;
11818 		} else {
11819 			if (yych <= 's') goto yy693;
11820 			if (yych <= 't') goto yy696;
11821 			goto yy690;
11822 		}
11823 	}
11824 yy693:
11825 	YYDEBUG(693, *YYCURSOR);
11826 	yych = *++YYCURSOR;
11827 	if (yych == 't') goto yy697;
11828 	goto yy55;
11829 yy694:
11830 	YYDEBUG(694, *YYCURSOR);
11831 	yych = *++YYCURSOR;
11832 	if (yych == 'd') goto yy697;
11833 	goto yy55;
11834 yy695:
11835 	YYDEBUG(695, *YYCURSOR);
11836 	yych = *++YYCURSOR;
11837 	if (yych == 'd') goto yy697;
11838 	goto yy55;
11839 yy696:
11840 	YYDEBUG(696, *YYCURSOR);
11841 	yych = *++YYCURSOR;
11842 	if (yych != 'h') goto yy55;
11843 yy697:
11844 	YYDEBUG(697, *YYCURSOR);
11845 	yych = *++YYCURSOR;
11846 	goto yy690;
11847 yy698:
11848 	YYDEBUG(698, *YYCURSOR);
11849 	yyaccept = 12;
11850 	yych = *(YYMARKER = ++YYCURSOR);
11851 	if (yych <= 'n') {
11852 		if (yych <= '/') goto yy690;
11853 		if (yych <= '9') goto yy638;
11854 		if (yych <= 'm') goto yy690;
11855 		goto yy694;
11856 	} else {
11857 		if (yych <= 'r') {
11858 			if (yych <= 'q') goto yy690;
11859 			goto yy695;
11860 		} else {
11861 			if (yych <= 's') goto yy693;
11862 			if (yych <= 't') goto yy696;
11863 			goto yy690;
11864 		}
11865 	}
11866 yy699:
11867 	YYDEBUG(699, *YYCURSOR);
11868 	yyaccept = 13;
11869 	yych = *(YYMARKER = ++YYCURSOR);
11870 	if (yych <= 'n') {
11871 		if (yych <= '/') {
11872 			if (yych >= '/') goto yy767;
11873 		} else {
11874 			if (yych <= '9') goto yy702;
11875 			if (yych >= 'n') goto yy764;
11876 		}
11877 	} else {
11878 		if (yych <= 'r') {
11879 			if (yych >= 'r') goto yy765;
11880 		} else {
11881 			if (yych <= 's') goto yy763;
11882 			if (yych <= 't') goto yy766;
11883 		}
11884 	}
11885 yy700:
11886 	YYDEBUG(700, *YYCURSOR);
11887 #line 1408 "ext/date/lib/parse_date.re"
11888 	{
11889 		int length = 0;
11890 		DEBUG_OUTPUT("americanshort | american");
11891 		TIMELIB_INIT;
11892 		TIMELIB_HAVE_DATE();
11893 		s->time->m = timelib_get_nr(&ptr, 2);
11894 		s->time->d = timelib_get_nr(&ptr, 2);
11895 		if (*ptr == '/') {
11896 			s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
11897 			TIMELIB_PROCESS_YEAR(s->time->y, length);
11898 		}
11899 		TIMELIB_DEINIT;
11900 		return TIMELIB_AMERICAN;
11901 	}
11902 #line 11903 "<stdout>"
11903 yy701:
11904 	YYDEBUG(701, *YYCURSOR);
11905 	yyaccept = 13;
11906 	yych = *(YYMARKER = ++YYCURSOR);
11907 	if (yych <= 'n') {
11908 		if (yych <= '/') {
11909 			if (yych <= '.') goto yy700;
11910 			goto yy767;
11911 		} else {
11912 			if (yych <= '1') goto yy702;
11913 			if (yych <= 'm') goto yy700;
11914 			goto yy764;
11915 		}
11916 	} else {
11917 		if (yych <= 'r') {
11918 			if (yych <= 'q') goto yy700;
11919 			goto yy765;
11920 		} else {
11921 			if (yych <= 's') goto yy763;
11922 			if (yych <= 't') goto yy766;
11923 			goto yy700;
11924 		}
11925 	}
11926 yy702:
11927 	YYDEBUG(702, *YYCURSOR);
11928 	yyaccept = 13;
11929 	yych = *(YYMARKER = ++YYCURSOR);
11930 	if (yych <= 'n') {
11931 		if (yych == '/') goto yy767;
11932 		if (yych <= 'm') goto yy700;
11933 		goto yy764;
11934 	} else {
11935 		if (yych <= 'r') {
11936 			if (yych <= 'q') goto yy700;
11937 			goto yy765;
11938 		} else {
11939 			if (yych <= 's') goto yy763;
11940 			if (yych <= 't') goto yy766;
11941 			goto yy700;
11942 		}
11943 	}
11944 yy703:
11945 	YYDEBUG(703, *YYCURSOR);
11946 	yych = *++YYCURSOR;
11947 	if (yych <= 'U') {
11948 		if (yych == 'A') goto yy762;
11949 		if (yych <= 'T') goto yy55;
11950 		goto yy761;
11951 	} else {
11952 		if (yych <= 'a') {
11953 			if (yych <= '`') goto yy55;
11954 			goto yy762;
11955 		} else {
11956 			if (yych == 'u') goto yy761;
11957 			goto yy55;
11958 		}
11959 	}
11960 yy704:
11961 	YYDEBUG(704, *YYCURSOR);
11962 	yych = *++YYCURSOR;
11963 	if (yych == 'E') goto yy760;
11964 	if (yych == 'e') goto yy760;
11965 	goto yy55;
11966 yy705:
11967 	YYDEBUG(705, *YYCURSOR);
11968 	yych = *++YYCURSOR;
11969 	if (yych == 'A') goto yy759;
11970 	if (yych == 'a') goto yy759;
11971 	goto yy55;
11972 yy706:
11973 	YYDEBUG(706, *YYCURSOR);
11974 	yych = *++YYCURSOR;
11975 	if (yych <= 'U') {
11976 		if (yych == 'P') goto yy758;
11977 		if (yych <= 'T') goto yy55;
11978 		goto yy757;
11979 	} else {
11980 		if (yych <= 'p') {
11981 			if (yych <= 'o') goto yy55;
11982 			goto yy758;
11983 		} else {
11984 			if (yych == 'u') goto yy757;
11985 			goto yy55;
11986 		}
11987 	}
11988 yy707:
11989 	YYDEBUG(707, *YYCURSOR);
11990 	yych = *++YYCURSOR;
11991 	if (yych == 'E') goto yy755;
11992 	if (yych == 'e') goto yy755;
11993 	goto yy55;
11994 yy708:
11995 	YYDEBUG(708, *YYCURSOR);
11996 	yych = *++YYCURSOR;
11997 	if (yych == 'C') goto yy754;
11998 	if (yych == 'c') goto yy754;
11999 	goto yy55;
12000 yy709:
12001 	YYDEBUG(709, *YYCURSOR);
12002 	yych = *++YYCURSOR;
12003 	if (yych == 'O') goto yy753;
12004 	if (yych == 'o') goto yy753;
12005 	goto yy55;
12006 yy710:
12007 	YYDEBUG(710, *YYCURSOR);
12008 	yych = *++YYCURSOR;
12009 	if (yych == 'E') goto yy711;
12010 	if (yych != 'e') goto yy55;
12011 yy711:
12012 	YYDEBUG(711, *YYCURSOR);
12013 	yych = *++YYCURSOR;
12014 	if (yych == 'C') goto yy712;
12015 	if (yych != 'c') goto yy55;
12016 yy712:
12017 	YYDEBUG(712, *YYCURSOR);
12018 	yych = *++YYCURSOR;
12019 	if (yych != '/') goto yy55;
12020 yy713:
12021 	YYDEBUG(713, *YYCURSOR);
12022 	yych = *++YYCURSOR;
12023 	if (yych <= '/') goto yy55;
12024 	if (yych >= ':') goto yy55;
12025 	YYDEBUG(714, *YYCURSOR);
12026 	yych = *++YYCURSOR;
12027 	if (yych <= '/') goto yy55;
12028 	if (yych >= ':') goto yy55;
12029 	YYDEBUG(715, *YYCURSOR);
12030 	yych = *++YYCURSOR;
12031 	if (yych <= '/') goto yy55;
12032 	if (yych >= ':') goto yy55;
12033 	YYDEBUG(716, *YYCURSOR);
12034 	yych = *++YYCURSOR;
12035 	if (yych <= '/') goto yy55;
12036 	if (yych >= ':') goto yy55;
12037 	YYDEBUG(717, *YYCURSOR);
12038 	yych = *++YYCURSOR;
12039 	if (yych != ':') goto yy55;
12040 	YYDEBUG(718, *YYCURSOR);
12041 	yych = *++YYCURSOR;
12042 	if (yych <= '/') goto yy55;
12043 	if (yych <= '1') goto yy719;
12044 	if (yych <= '2') goto yy720;
12045 	goto yy55;
12046 yy719:
12047 	YYDEBUG(719, *YYCURSOR);
12048 	yych = *++YYCURSOR;
12049 	if (yych <= '/') goto yy55;
12050 	if (yych <= '9') goto yy721;
12051 	goto yy55;
12052 yy720:
12053 	YYDEBUG(720, *YYCURSOR);
12054 	yych = *++YYCURSOR;
12055 	if (yych <= '/') goto yy55;
12056 	if (yych >= '5') goto yy55;
12057 yy721:
12058 	YYDEBUG(721, *YYCURSOR);
12059 	yych = *++YYCURSOR;
12060 	if (yych != ':') goto yy55;
12061 	YYDEBUG(722, *YYCURSOR);
12062 	yych = *++YYCURSOR;
12063 	if (yych <= '/') goto yy55;
12064 	if (yych >= '6') goto yy55;
12065 	YYDEBUG(723, *YYCURSOR);
12066 	yych = *++YYCURSOR;
12067 	if (yych <= '/') goto yy55;
12068 	if (yych >= ':') goto yy55;
12069 	YYDEBUG(724, *YYCURSOR);
12070 	yych = *++YYCURSOR;
12071 	if (yych != ':') goto yy55;
12072 	YYDEBUG(725, *YYCURSOR);
12073 	yych = *++YYCURSOR;
12074 	if (yych <= '/') goto yy55;
12075 	if (yych <= '5') goto yy726;
12076 	if (yych <= '6') goto yy727;
12077 	goto yy55;
12078 yy726:
12079 	YYDEBUG(726, *YYCURSOR);
12080 	yych = *++YYCURSOR;
12081 	if (yych <= '/') goto yy55;
12082 	if (yych <= '9') goto yy728;
12083 	goto yy55;
12084 yy727:
12085 	YYDEBUG(727, *YYCURSOR);
12086 	yych = *++YYCURSOR;
12087 	if (yych != '0') goto yy55;
12088 yy728:
12089 	YYDEBUG(728, *YYCURSOR);
12090 	yych = *++YYCURSOR;
12091 	if (yych == '\t') goto yy729;
12092 	if (yych != ' ') goto yy55;
12093 yy729:
12094 	YYDEBUG(729, *YYCURSOR);
12095 	++YYCURSOR;
12096 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
12097 	yych = *YYCURSOR;
12098 	YYDEBUG(730, *YYCURSOR);
12099 	if (yych <= '*') {
12100 		if (yych <= '\t') {
12101 			if (yych <= 0x08) goto yy55;
12102 			goto yy729;
12103 		} else {
12104 			if (yych == ' ') goto yy729;
12105 			goto yy55;
12106 		}
12107 	} else {
12108 		if (yych <= '-') {
12109 			if (yych == ',') goto yy55;
12110 			goto yy732;
12111 		} else {
12112 			if (yych != 'G') goto yy55;
12113 		}
12114 	}
12115 	YYDEBUG(731, *YYCURSOR);
12116 	yych = *++YYCURSOR;
12117 	if (yych == 'M') goto yy751;
12118 	goto yy55;
12119 yy732:
12120 	YYDEBUG(732, *YYCURSOR);
12121 	yych = *++YYCURSOR;
12122 	if (yych <= '/') goto yy55;
12123 	if (yych <= '1') goto yy733;
12124 	if (yych <= '2') goto yy735;
12125 	if (yych <= '9') goto yy736;
12126 	goto yy55;
12127 yy733:
12128 	YYDEBUG(733, *YYCURSOR);
12129 	yyaccept = 14;
12130 	yych = *(YYMARKER = ++YYCURSOR);
12131 	if (yych <= '/') goto yy734;
12132 	if (yych <= '9') goto yy740;
12133 	if (yych <= ':') goto yy737;
12134 yy734:
12135 	YYDEBUG(734, *YYCURSOR);
12136 #line 1703 "ext/date/lib/parse_date.re"
12137 	{
12138 		int tz_not_found;
12139 		DEBUG_OUTPUT("clf");
12140 		TIMELIB_INIT;
12141 		TIMELIB_HAVE_TIME();
12142 		TIMELIB_HAVE_DATE();
12143 		s->time->d = timelib_get_nr(&ptr, 2);
12144 		s->time->m = timelib_get_month(&ptr);
12145 		s->time->y = timelib_get_nr(&ptr, 4);
12146 		s->time->h = timelib_get_nr(&ptr, 2);
12147 		s->time->i = timelib_get_nr(&ptr, 2);
12148 		s->time->s = timelib_get_nr(&ptr, 2);
12149 		s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
12150 		if (tz_not_found) {
12151 			add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
12152 		}
12153 		TIMELIB_DEINIT;
12154 		return TIMELIB_CLF;
12155 	}
12156 #line 12157 "<stdout>"
12157 yy735:
12158 	YYDEBUG(735, *YYCURSOR);
12159 	yyaccept = 14;
12160 	yych = *(YYMARKER = ++YYCURSOR);
12161 	if (yych <= '5') {
12162 		if (yych <= '/') goto yy734;
12163 		if (yych <= '4') goto yy740;
12164 		goto yy738;
12165 	} else {
12166 		if (yych <= '9') goto yy739;
12167 		if (yych <= ':') goto yy737;
12168 		goto yy734;
12169 	}
12170 yy736:
12171 	YYDEBUG(736, *YYCURSOR);
12172 	yyaccept = 14;
12173 	yych = *(YYMARKER = ++YYCURSOR);
12174 	if (yych <= '/') goto yy734;
12175 	if (yych <= '5') goto yy738;
12176 	if (yych <= '9') goto yy739;
12177 	if (yych >= ';') goto yy734;
12178 yy737:
12179 	YYDEBUG(737, *YYCURSOR);
12180 	yych = *++YYCURSOR;
12181 	if (yych <= '/') goto yy55;
12182 	if (yych <= '5') goto yy738;
12183 	if (yych <= '9') goto yy739;
12184 	goto yy55;
12185 yy738:
12186 	YYDEBUG(738, *YYCURSOR);
12187 	yych = *++YYCURSOR;
12188 	if (yych <= '/') goto yy734;
12189 	if (yych >= ':') goto yy734;
12190 yy739:
12191 	YYDEBUG(739, *YYCURSOR);
12192 	yych = *++YYCURSOR;
12193 	goto yy734;
12194 yy740:
12195 	YYDEBUG(740, *YYCURSOR);
12196 	yyaccept = 14;
12197 	yych = *(YYMARKER = ++YYCURSOR);
12198 	if (yych <= '/') goto yy734;
12199 	if (yych <= '5') goto yy741;
12200 	if (yych <= '9') goto yy739;
12201 	if (yych <= ':') goto yy742;
12202 	goto yy734;
12203 yy741:
12204 	YYDEBUG(741, *YYCURSOR);
12205 	yych = *++YYCURSOR;
12206 	if (yych <= '/') goto yy734;
12207 	if (yych <= '9') goto yy748;
12208 	goto yy734;
12209 yy742:
12210 	YYDEBUG(742, *YYCURSOR);
12211 	yych = *++YYCURSOR;
12212 	if (yych <= '/') goto yy55;
12213 	if (yych <= '5') goto yy743;
12214 	if (yych <= '9') goto yy739;
12215 	goto yy55;
12216 yy743:
12217 	YYDEBUG(743, *YYCURSOR);
12218 	yych = *++YYCURSOR;
12219 	if (yych <= '/') goto yy734;
12220 	if (yych >= ':') goto yy734;
12221 	YYDEBUG(744, *YYCURSOR);
12222 	yyaccept = 14;
12223 	yych = *(YYMARKER = ++YYCURSOR);
12224 	if (yych != ':') goto yy734;
12225 	YYDEBUG(745, *YYCURSOR);
12226 	yych = *++YYCURSOR;
12227 	if (yych <= '/') goto yy55;
12228 	if (yych <= '5') goto yy746;
12229 	if (yych <= '6') goto yy747;
12230 	goto yy55;
12231 yy746:
12232 	YYDEBUG(746, *YYCURSOR);
12233 	yych = *++YYCURSOR;
12234 	if (yych <= '/') goto yy55;
12235 	if (yych <= '9') goto yy739;
12236 	goto yy55;
12237 yy747:
12238 	YYDEBUG(747, *YYCURSOR);
12239 	yych = *++YYCURSOR;
12240 	if (yych == '0') goto yy739;
12241 	goto yy55;
12242 yy748:
12243 	YYDEBUG(748, *YYCURSOR);
12244 	yyaccept = 14;
12245 	yych = *(YYMARKER = ++YYCURSOR);
12246 	if (yych <= '/') goto yy734;
12247 	if (yych <= '5') goto yy749;
12248 	if (yych <= '6') goto yy750;
12249 	goto yy734;
12250 yy749:
12251 	YYDEBUG(749, *YYCURSOR);
12252 	yych = *++YYCURSOR;
12253 	if (yych <= '/') goto yy55;
12254 	if (yych <= '9') goto yy739;
12255 	goto yy55;
12256 yy750:
12257 	YYDEBUG(750, *YYCURSOR);
12258 	yych = *++YYCURSOR;
12259 	if (yych == '0') goto yy739;
12260 	goto yy55;
12261 yy751:
12262 	YYDEBUG(751, *YYCURSOR);
12263 	yych = *++YYCURSOR;
12264 	if (yych != 'T') goto yy55;
12265 	YYDEBUG(752, *YYCURSOR);
12266 	yych = *++YYCURSOR;
12267 	if (yych == '+') goto yy732;
12268 	if (yych == '-') goto yy732;
12269 	goto yy55;
12270 yy753:
12271 	YYDEBUG(753, *YYCURSOR);
12272 	yych = *++YYCURSOR;
12273 	if (yych == 'V') goto yy712;
12274 	if (yych == 'v') goto yy712;
12275 	goto yy55;
12276 yy754:
12277 	YYDEBUG(754, *YYCURSOR);
12278 	yych = *++YYCURSOR;
12279 	if (yych == 'T') goto yy712;
12280 	if (yych == 't') goto yy712;
12281 	goto yy55;
12282 yy755:
12283 	YYDEBUG(755, *YYCURSOR);
12284 	yych = *++YYCURSOR;
12285 	if (yych == 'P') goto yy756;
12286 	if (yych != 'p') goto yy55;
12287 yy756:
12288 	YYDEBUG(756, *YYCURSOR);
12289 	yych = *++YYCURSOR;
12290 	if (yych <= 'S') {
12291 		if (yych == '/') goto yy713;
12292 		goto yy55;
12293 	} else {
12294 		if (yych <= 'T') goto yy712;
12295 		if (yych == 't') goto yy712;
12296 		goto yy55;
12297 	}
12298 yy757:
12299 	YYDEBUG(757, *YYCURSOR);
12300 	yych = *++YYCURSOR;
12301 	if (yych == 'G') goto yy712;
12302 	if (yych == 'g') goto yy712;
12303 	goto yy55;
12304 yy758:
12305 	YYDEBUG(758, *YYCURSOR);
12306 	yych = *++YYCURSOR;
12307 	if (yych == 'R') goto yy712;
12308 	if (yych == 'r') goto yy712;
12309 	goto yy55;
12310 yy759:
12311 	YYDEBUG(759, *YYCURSOR);
12312 	yych = *++YYCURSOR;
12313 	if (yych <= 'Y') {
12314 		if (yych == 'R') goto yy712;
12315 		if (yych <= 'X') goto yy55;
12316 		goto yy712;
12317 	} else {
12318 		if (yych <= 'r') {
12319 			if (yych <= 'q') goto yy55;
12320 			goto yy712;
12321 		} else {
12322 			if (yych == 'y') goto yy712;
12323 			goto yy55;
12324 		}
12325 	}
12326 yy760:
12327 	YYDEBUG(760, *YYCURSOR);
12328 	yych = *++YYCURSOR;
12329 	if (yych == 'B') goto yy712;
12330 	if (yych == 'b') goto yy712;
12331 	goto yy55;
12332 yy761:
12333 	YYDEBUG(761, *YYCURSOR);
12334 	yych = *++YYCURSOR;
12335 	if (yych <= 'N') {
12336 		if (yych == 'L') goto yy712;
12337 		if (yych <= 'M') goto yy55;
12338 		goto yy712;
12339 	} else {
12340 		if (yych <= 'l') {
12341 			if (yych <= 'k') goto yy55;
12342 			goto yy712;
12343 		} else {
12344 			if (yych == 'n') goto yy712;
12345 			goto yy55;
12346 		}
12347 	}
12348 yy762:
12349 	YYDEBUG(762, *YYCURSOR);
12350 	yych = *++YYCURSOR;
12351 	if (yych == 'N') goto yy712;
12352 	if (yych == 'n') goto yy712;
12353 	goto yy55;
12354 yy763:
12355 	YYDEBUG(763, *YYCURSOR);
12356 	yych = *++YYCURSOR;
12357 	if (yych == 't') goto yy772;
12358 	goto yy55;
12359 yy764:
12360 	YYDEBUG(764, *YYCURSOR);
12361 	yych = *++YYCURSOR;
12362 	if (yych == 'd') goto yy772;
12363 	goto yy55;
12364 yy765:
12365 	YYDEBUG(765, *YYCURSOR);
12366 	yych = *++YYCURSOR;
12367 	if (yych == 'd') goto yy772;
12368 	goto yy55;
12369 yy766:
12370 	YYDEBUG(766, *YYCURSOR);
12371 	yych = *++YYCURSOR;
12372 	if (yych == 'h') goto yy772;
12373 	goto yy55;
12374 yy767:
12375 	YYDEBUG(767, *YYCURSOR);
12376 	yych = *++YYCURSOR;
12377 	if (yych <= '/') goto yy55;
12378 	if (yych >= ':') goto yy55;
12379 	YYDEBUG(768, *YYCURSOR);
12380 	yych = *++YYCURSOR;
12381 	if (yych <= '/') goto yy700;
12382 	if (yych >= ':') goto yy700;
12383 	YYDEBUG(769, *YYCURSOR);
12384 	yych = *++YYCURSOR;
12385 	if (yych <= '/') goto yy700;
12386 	if (yych >= ':') goto yy700;
12387 	YYDEBUG(770, *YYCURSOR);
12388 	yych = *++YYCURSOR;
12389 	if (yych <= '/') goto yy700;
12390 	if (yych >= ':') goto yy700;
12391 	YYDEBUG(771, *YYCURSOR);
12392 	yych = *++YYCURSOR;
12393 	goto yy700;
12394 yy772:
12395 	YYDEBUG(772, *YYCURSOR);
12396 	yyaccept = 13;
12397 	yych = *(YYMARKER = ++YYCURSOR);
12398 	if (yych == '/') goto yy767;
12399 	goto yy700;
12400 yy773:
12401 	YYDEBUG(773, *YYCURSOR);
12402 	yych = *++YYCURSOR;
12403 	if (yych <= ',') {
12404 		if (yych == '\t') goto yy775;
12405 		goto yy611;
12406 	} else {
12407 		if (yych <= '-') goto yy776;
12408 		if (yych <= '.') goto yy775;
12409 		if (yych >= '0') goto yy611;
12410 	}
12411 yy774:
12412 	YYDEBUG(774, *YYCURSOR);
12413 	yych = *++YYCURSOR;
12414 	switch (yych) {
12415 	case 'A':
12416 	case 'a':	goto yy706;
12417 	case 'D':
12418 	case 'd':	goto yy710;
12419 	case 'F':
12420 	case 'f':	goto yy704;
12421 	case 'J':
12422 	case 'j':	goto yy703;
12423 	case 'M':
12424 	case 'm':	goto yy705;
12425 	case 'N':
12426 	case 'n':	goto yy709;
12427 	case 'O':
12428 	case 'o':	goto yy708;
12429 	case 'S':
12430 	case 's':	goto yy707;
12431 	default:	goto yy55;
12432 	}
12433 yy775:
12434 	YYDEBUG(775, *YYCURSOR);
12435 	yych = *++YYCURSOR;
12436 	if (yych <= '/') goto yy611;
12437 	if (yych <= '0') goto yy780;
12438 	if (yych <= '1') goto yy781;
12439 	if (yych <= '9') goto yy782;
12440 	goto yy611;
12441 yy776:
12442 	YYDEBUG(776, *YYCURSOR);
12443 	yych = *++YYCURSOR;
12444 	if (yych <= '/') goto yy611;
12445 	if (yych <= '0') goto yy777;
12446 	if (yych <= '1') goto yy778;
12447 	if (yych <= '9') goto yy779;
12448 	goto yy611;
12449 yy777:
12450 	YYDEBUG(777, *YYCURSOR);
12451 	yych = *++YYCURSOR;
12452 	if (yych <= ',') goto yy55;
12453 	if (yych <= '.') goto yy635;
12454 	if (yych <= '/') goto yy55;
12455 	if (yych <= '9') goto yy779;
12456 	goto yy55;
12457 yy778:
12458 	YYDEBUG(778, *YYCURSOR);
12459 	yych = *++YYCURSOR;
12460 	if (yych <= ',') goto yy55;
12461 	if (yych <= '.') goto yy635;
12462 	if (yych <= '/') goto yy55;
12463 	if (yych >= '3') goto yy55;
12464 yy779:
12465 	YYDEBUG(779, *YYCURSOR);
12466 	yych = *++YYCURSOR;
12467 	if (yych <= ',') goto yy55;
12468 	if (yych <= '.') goto yy635;
12469 	goto yy55;
12470 yy780:
12471 	YYDEBUG(780, *YYCURSOR);
12472 	yych = *++YYCURSOR;
12473 	if (yych <= '.') {
12474 		if (yych <= ',') goto yy55;
12475 		if (yych <= '-') goto yy635;
12476 		goto yy783;
12477 	} else {
12478 		if (yych <= '/') goto yy55;
12479 		if (yych <= '9') goto yy782;
12480 		goto yy55;
12481 	}
12482 yy781:
12483 	YYDEBUG(781, *YYCURSOR);
12484 	yych = *++YYCURSOR;
12485 	if (yych <= '.') {
12486 		if (yych <= ',') goto yy55;
12487 		if (yych <= '-') goto yy635;
12488 		goto yy783;
12489 	} else {
12490 		if (yych <= '/') goto yy55;
12491 		if (yych >= '3') goto yy55;
12492 	}
12493 yy782:
12494 	YYDEBUG(782, *YYCURSOR);
12495 	yych = *++YYCURSOR;
12496 	if (yych <= ',') goto yy55;
12497 	if (yych <= '-') goto yy635;
12498 	if (yych >= '/') goto yy55;
12499 yy783:
12500 	YYDEBUG(783, *YYCURSOR);
12501 	yych = *++YYCURSOR;
12502 	if (yych <= '/') goto yy55;
12503 	if (yych >= ':') goto yy55;
12504 	YYDEBUG(784, *YYCURSOR);
12505 	yych = *++YYCURSOR;
12506 	if (yych <= '/') goto yy55;
12507 	if (yych <= '9') goto yy644;
12508 	goto yy55;
12509 yy785:
12510 	YYDEBUG(785, *YYCURSOR);
12511 	yych = *++YYCURSOR;
12512 	if (yych == '-') goto yy829;
12513 	if (yych <= '/') goto yy59;
12514 	if (yych <= '9') goto yy827;
12515 	goto yy59;
12516 yy786:
12517 	YYDEBUG(786, *YYCURSOR);
12518 	yych = *++YYCURSOR;
12519 	switch (yych) {
12520 	case '0':	goto yy795;
12521 	case '1':	goto yy796;
12522 	case '2':
12523 	case '3':
12524 	case '4':
12525 	case '5':
12526 	case '6':
12527 	case '7':
12528 	case '8':
12529 	case '9':	goto yy797;
12530 	case 'A':
12531 	case 'a':	goto yy790;
12532 	case 'D':
12533 	case 'd':	goto yy794;
12534 	case 'F':
12535 	case 'f':	goto yy788;
12536 	case 'J':
12537 	case 'j':	goto yy787;
12538 	case 'M':
12539 	case 'm':	goto yy789;
12540 	case 'N':
12541 	case 'n':	goto yy793;
12542 	case 'O':
12543 	case 'o':	goto yy792;
12544 	case 'S':
12545 	case 's':	goto yy791;
12546 	default:	goto yy55;
12547 	}
12548 yy787:
12549 	YYDEBUG(787, *YYCURSOR);
12550 	yych = *++YYCURSOR;
12551 	if (yych <= 'U') {
12552 		if (yych == 'A') goto yy826;
12553 		if (yych <= 'T') goto yy55;
12554 		goto yy825;
12555 	} else {
12556 		if (yych <= 'a') {
12557 			if (yych <= '`') goto yy55;
12558 			goto yy826;
12559 		} else {
12560 			if (yych == 'u') goto yy825;
12561 			goto yy55;
12562 		}
12563 	}
12564 yy788:
12565 	YYDEBUG(788, *YYCURSOR);
12566 	yych = *++YYCURSOR;
12567 	if (yych == 'E') goto yy824;
12568 	if (yych == 'e') goto yy824;
12569 	goto yy55;
12570 yy789:
12571 	YYDEBUG(789, *YYCURSOR);
12572 	yych = *++YYCURSOR;
12573 	if (yych == 'A') goto yy823;
12574 	if (yych == 'a') goto yy823;
12575 	goto yy55;
12576 yy790:
12577 	YYDEBUG(790, *YYCURSOR);
12578 	yych = *++YYCURSOR;
12579 	if (yych <= 'U') {
12580 		if (yych == 'P') goto yy822;
12581 		if (yych <= 'T') goto yy55;
12582 		goto yy821;
12583 	} else {
12584 		if (yych <= 'p') {
12585 			if (yych <= 'o') goto yy55;
12586 			goto yy822;
12587 		} else {
12588 			if (yych == 'u') goto yy821;
12589 			goto yy55;
12590 		}
12591 	}
12592 yy791:
12593 	YYDEBUG(791, *YYCURSOR);
12594 	yych = *++YYCURSOR;
12595 	if (yych == 'E') goto yy819;
12596 	if (yych == 'e') goto yy819;
12597 	goto yy55;
12598 yy792:
12599 	YYDEBUG(792, *YYCURSOR);
12600 	yych = *++YYCURSOR;
12601 	if (yych == 'C') goto yy818;
12602 	if (yych == 'c') goto yy818;
12603 	goto yy55;
12604 yy793:
12605 	YYDEBUG(793, *YYCURSOR);
12606 	yych = *++YYCURSOR;
12607 	if (yych == 'O') goto yy817;
12608 	if (yych == 'o') goto yy817;
12609 	goto yy55;
12610 yy794:
12611 	YYDEBUG(794, *YYCURSOR);
12612 	yych = *++YYCURSOR;
12613 	if (yych == 'E') goto yy809;
12614 	if (yych == 'e') goto yy809;
12615 	goto yy55;
12616 yy795:
12617 	YYDEBUG(795, *YYCURSOR);
12618 	yych = *++YYCURSOR;
12619 	if (yych == '-') goto yy798;
12620 	if (yych <= '/') goto yy55;
12621 	if (yych <= '9') goto yy802;
12622 	goto yy55;
12623 yy796:
12624 	YYDEBUG(796, *YYCURSOR);
12625 	yych = *++YYCURSOR;
12626 	if (yych == '-') goto yy798;
12627 	if (yych <= '/') goto yy55;
12628 	if (yych <= '2') goto yy802;
12629 	goto yy55;
12630 yy797:
12631 	YYDEBUG(797, *YYCURSOR);
12632 	yych = *++YYCURSOR;
12633 	if (yych != '-') goto yy55;
12634 yy798:
12635 	YYDEBUG(798, *YYCURSOR);
12636 	yych = *++YYCURSOR;
12637 	if (yych <= '/') goto yy55;
12638 	if (yych <= '2') goto yy799;
12639 	if (yych <= '3') goto yy800;
12640 	if (yych <= '9') goto yy801;
12641 	goto yy55;
12642 yy799:
12643 	YYDEBUG(799, *YYCURSOR);
12644 	yyaccept = 12;
12645 	yych = *(YYMARKER = ++YYCURSOR);
12646 	if (yych <= 'n') {
12647 		if (yych <= '/') goto yy690;
12648 		if (yych <= '9') goto yy801;
12649 		if (yych <= 'm') goto yy690;
12650 		goto yy694;
12651 	} else {
12652 		if (yych <= 'r') {
12653 			if (yych <= 'q') goto yy690;
12654 			goto yy695;
12655 		} else {
12656 			if (yych <= 's') goto yy693;
12657 			if (yych <= 't') goto yy696;
12658 			goto yy690;
12659 		}
12660 	}
12661 yy800:
12662 	YYDEBUG(800, *YYCURSOR);
12663 	yyaccept = 12;
12664 	yych = *(YYMARKER = ++YYCURSOR);
12665 	if (yych <= 'n') {
12666 		if (yych <= '/') goto yy690;
12667 		if (yych <= '1') goto yy801;
12668 		if (yych <= 'm') goto yy690;
12669 		goto yy694;
12670 	} else {
12671 		if (yych <= 'r') {
12672 			if (yych <= 'q') goto yy690;
12673 			goto yy695;
12674 		} else {
12675 			if (yych <= 's') goto yy693;
12676 			if (yych <= 't') goto yy696;
12677 			goto yy690;
12678 		}
12679 	}
12680 yy801:
12681 	YYDEBUG(801, *YYCURSOR);
12682 	yyaccept = 12;
12683 	yych = *(YYMARKER = ++YYCURSOR);
12684 	if (yych <= 'q') {
12685 		if (yych == 'n') goto yy694;
12686 		goto yy690;
12687 	} else {
12688 		if (yych <= 'r') goto yy695;
12689 		if (yych <= 's') goto yy693;
12690 		if (yych <= 't') goto yy696;
12691 		goto yy690;
12692 	}
12693 yy802:
12694 	YYDEBUG(802, *YYCURSOR);
12695 	yych = *++YYCURSOR;
12696 	if (yych != '-') goto yy55;
12697 	YYDEBUG(803, *YYCURSOR);
12698 	yych = *++YYCURSOR;
12699 	if (yych <= '2') {
12700 		if (yych <= '/') goto yy55;
12701 		if (yych >= '1') goto yy805;
12702 	} else {
12703 		if (yych <= '3') goto yy806;
12704 		if (yych <= '9') goto yy801;
12705 		goto yy55;
12706 	}
12707 	YYDEBUG(804, *YYCURSOR);
12708 	yyaccept = 12;
12709 	yych = *(YYMARKER = ++YYCURSOR);
12710 	if (yych <= 'n') {
12711 		if (yych <= '/') goto yy690;
12712 		if (yych <= '9') goto yy807;
12713 		if (yych <= 'm') goto yy690;
12714 		goto yy694;
12715 	} else {
12716 		if (yych <= 'r') {
12717 			if (yych <= 'q') goto yy690;
12718 			goto yy695;
12719 		} else {
12720 			if (yych <= 's') goto yy693;
12721 			if (yych <= 't') goto yy696;
12722 			goto yy690;
12723 		}
12724 	}
12725 yy805:
12726 	YYDEBUG(805, *YYCURSOR);
12727 	yyaccept = 12;
12728 	yych = *(YYMARKER = ++YYCURSOR);
12729 	if (yych <= 'n') {
12730 		if (yych <= '/') goto yy690;
12731 		if (yych <= '9') goto yy807;
12732 		if (yych <= 'm') goto yy690;
12733 		goto yy694;
12734 	} else {
12735 		if (yych <= 'r') {
12736 			if (yych <= 'q') goto yy690;
12737 			goto yy695;
12738 		} else {
12739 			if (yych <= 's') goto yy693;
12740 			if (yych <= 't') goto yy696;
12741 			goto yy690;
12742 		}
12743 	}
12744 yy806:
12745 	YYDEBUG(806, *YYCURSOR);
12746 	yyaccept = 12;
12747 	yych = *(YYMARKER = ++YYCURSOR);
12748 	if (yych <= 'n') {
12749 		if (yych <= '/') goto yy690;
12750 		if (yych <= '1') goto yy807;
12751 		if (yych <= 'm') goto yy690;
12752 		goto yy694;
12753 	} else {
12754 		if (yych <= 'r') {
12755 			if (yych <= 'q') goto yy690;
12756 			goto yy695;
12757 		} else {
12758 			if (yych <= 's') goto yy693;
12759 			if (yych <= 't') goto yy696;
12760 			goto yy690;
12761 		}
12762 	}
12763 yy807:
12764 	YYDEBUG(807, *YYCURSOR);
12765 	yyaccept = 15;
12766 	yych = *(YYMARKER = ++YYCURSOR);
12767 	if (yych <= 'q') {
12768 		if (yych == 'n') goto yy694;
12769 	} else {
12770 		if (yych <= 'r') goto yy695;
12771 		if (yych <= 's') goto yy693;
12772 		if (yych <= 't') goto yy696;
12773 	}
12774 yy808:
12775 	YYDEBUG(808, *YYCURSOR);
12776 #line 1436 "ext/date/lib/parse_date.re"
12777 	{
12778 		int length = 0;
12779 		DEBUG_OUTPUT("iso8601date2");
12780 		TIMELIB_INIT;
12781 		TIMELIB_HAVE_DATE();
12782 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
12783 		s->time->m = timelib_get_nr(&ptr, 2);
12784 		s->time->d = timelib_get_nr(&ptr, 2);
12785 		TIMELIB_PROCESS_YEAR(s->time->y, length);
12786 		TIMELIB_DEINIT;
12787 		return TIMELIB_ISO_DATE;
12788 	}
12789 #line 12790 "<stdout>"
12790 yy809:
12791 	YYDEBUG(809, *YYCURSOR);
12792 	yych = *++YYCURSOR;
12793 	if (yych == 'C') goto yy810;
12794 	if (yych != 'c') goto yy55;
12795 yy810:
12796 	YYDEBUG(810, *YYCURSOR);
12797 	yych = *++YYCURSOR;
12798 	if (yych != '-') goto yy55;
12799 yy811:
12800 	YYDEBUG(811, *YYCURSOR);
12801 	yych = *++YYCURSOR;
12802 	if (yych <= '/') goto yy55;
12803 	if (yych <= '0') goto yy812;
12804 	if (yych <= '2') goto yy813;
12805 	if (yych <= '3') goto yy814;
12806 	goto yy55;
12807 yy812:
12808 	YYDEBUG(812, *YYCURSOR);
12809 	yych = *++YYCURSOR;
12810 	if (yych <= '/') goto yy55;
12811 	if (yych <= '9') goto yy815;
12812 	goto yy55;
12813 yy813:
12814 	YYDEBUG(813, *YYCURSOR);
12815 	yych = *++YYCURSOR;
12816 	if (yych <= '/') goto yy55;
12817 	if (yych <= '9') goto yy815;
12818 	goto yy55;
12819 yy814:
12820 	YYDEBUG(814, *YYCURSOR);
12821 	yych = *++YYCURSOR;
12822 	if (yych <= '/') goto yy55;
12823 	if (yych >= '2') goto yy55;
12824 yy815:
12825 	YYDEBUG(815, *YYCURSOR);
12826 	++YYCURSOR;
12827 	YYDEBUG(816, *YYCURSOR);
12828 #line 1689 "ext/date/lib/parse_date.re"
12829 	{
12830 		int length = 0;
12831 		DEBUG_OUTPUT("pgtextreverse");
12832 		TIMELIB_INIT;
12833 		TIMELIB_HAVE_DATE();
12834 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
12835 		s->time->m = timelib_get_month(&ptr);
12836 		s->time->d = timelib_get_nr(&ptr, 2);
12837 		TIMELIB_PROCESS_YEAR(s->time->y, length);
12838 		TIMELIB_DEINIT;
12839 		return TIMELIB_PG_TEXT;
12840 	}
12841 #line 12842 "<stdout>"
12842 yy817:
12843 	YYDEBUG(817, *YYCURSOR);
12844 	yych = *++YYCURSOR;
12845 	if (yych == 'V') goto yy810;
12846 	if (yych == 'v') goto yy810;
12847 	goto yy55;
12848 yy818:
12849 	YYDEBUG(818, *YYCURSOR);
12850 	yych = *++YYCURSOR;
12851 	if (yych == 'T') goto yy810;
12852 	if (yych == 't') goto yy810;
12853 	goto yy55;
12854 yy819:
12855 	YYDEBUG(819, *YYCURSOR);
12856 	yych = *++YYCURSOR;
12857 	if (yych == 'P') goto yy820;
12858 	if (yych != 'p') goto yy55;
12859 yy820:
12860 	YYDEBUG(820, *YYCURSOR);
12861 	yych = *++YYCURSOR;
12862 	if (yych <= 'S') {
12863 		if (yych == '-') goto yy811;
12864 		goto yy55;
12865 	} else {
12866 		if (yych <= 'T') goto yy810;
12867 		if (yych == 't') goto yy810;
12868 		goto yy55;
12869 	}
12870 yy821:
12871 	YYDEBUG(821, *YYCURSOR);
12872 	yych = *++YYCURSOR;
12873 	if (yych == 'G') goto yy810;
12874 	if (yych == 'g') goto yy810;
12875 	goto yy55;
12876 yy822:
12877 	YYDEBUG(822, *YYCURSOR);
12878 	yych = *++YYCURSOR;
12879 	if (yych == 'R') goto yy810;
12880 	if (yych == 'r') goto yy810;
12881 	goto yy55;
12882 yy823:
12883 	YYDEBUG(823, *YYCURSOR);
12884 	yych = *++YYCURSOR;
12885 	if (yych <= 'Y') {
12886 		if (yych == 'R') goto yy810;
12887 		if (yych <= 'X') goto yy55;
12888 		goto yy810;
12889 	} else {
12890 		if (yych <= 'r') {
12891 			if (yych <= 'q') goto yy55;
12892 			goto yy810;
12893 		} else {
12894 			if (yych == 'y') goto yy810;
12895 			goto yy55;
12896 		}
12897 	}
12898 yy824:
12899 	YYDEBUG(824, *YYCURSOR);
12900 	yych = *++YYCURSOR;
12901 	if (yych == 'B') goto yy810;
12902 	if (yych == 'b') goto yy810;
12903 	goto yy55;
12904 yy825:
12905 	YYDEBUG(825, *YYCURSOR);
12906 	yych = *++YYCURSOR;
12907 	if (yych <= 'N') {
12908 		if (yych == 'L') goto yy810;
12909 		if (yych <= 'M') goto yy55;
12910 		goto yy810;
12911 	} else {
12912 		if (yych <= 'l') {
12913 			if (yych <= 'k') goto yy55;
12914 			goto yy810;
12915 		} else {
12916 			if (yych == 'n') goto yy810;
12917 			goto yy55;
12918 		}
12919 	}
12920 yy826:
12921 	YYDEBUG(826, *YYCURSOR);
12922 	yych = *++YYCURSOR;
12923 	if (yych == 'N') goto yy810;
12924 	if (yych == 'n') goto yy810;
12925 	goto yy55;
12926 yy827:
12927 	YYDEBUG(827, *YYCURSOR);
12928 	yyaccept = 16;
12929 	yych = *(YYMARKER = ++YYCURSOR);
12930 	if (yych <= 'O') {
12931 		if (yych <= '3') {
12932 			if (yych <= '-') {
12933 				if (yych <= 0x1F) {
12934 					if (yych == '\t') goto yy835;
12935 				} else {
12936 					if (yych <= ' ') goto yy835;
12937 					if (yych >= '-') goto yy832;
12938 				}
12939 			} else {
12940 				if (yych <= '0') {
12941 					if (yych <= '.') goto yy836;
12942 					if (yych <= '/') goto yy833;
12943 					goto yy849;
12944 				} else {
12945 					if (yych <= '1') goto yy850;
12946 					if (yych <= '2') goto yy852;
12947 					goto yy853;
12948 				}
12949 			}
12950 		} else {
12951 			if (yych <= 'D') {
12952 				if (yych <= '@') {
12953 					if (yych <= '9') goto yy73;
12954 					if (yych <= ':') goto yy851;
12955 				} else {
12956 					if (yych <= 'A') goto yy835;
12957 					if (yych >= 'D') goto yy835;
12958 				}
12959 			} else {
12960 				if (yych <= 'G') {
12961 					if (yych == 'F') goto yy835;
12962 				} else {
12963 					if (yych <= 'J') goto yy835;
12964 					if (yych >= 'M') goto yy835;
12965 				}
12966 			}
12967 		}
12968 	} else {
12969 		if (yych <= 'h') {
12970 			if (yych <= 'a') {
12971 				if (yych <= 'W') {
12972 					if (yych <= 'R') goto yy828;
12973 					if (yych <= 'V') goto yy835;
12974 					goto yy854;
12975 				} else {
12976 					if (yych <= 'Y') goto yy835;
12977 					if (yych >= 'a') goto yy835;
12978 				}
12979 			} else {
12980 				if (yych <= 'e') {
12981 					if (yych == 'd') goto yy835;
12982 				} else {
12983 					if (yych != 'g') goto yy835;
12984 				}
12985 			}
12986 		} else {
12987 			if (yych <= 'u') {
12988 				if (yych <= 'l') {
12989 					if (yych == 'j') goto yy835;
12990 				} else {
12991 					if (yych <= 'o') goto yy835;
12992 					if (yych >= 's') goto yy835;
12993 				}
12994 			} else {
12995 				if (yych <= 'x') {
12996 					if (yych == 'w') goto yy835;
12997 				} else {
12998 					if (yych <= 'y') goto yy835;
12999 					if (yych == 0xC2) goto yy835;
13000 				}
13001 			}
13002 		}
13003 	}
13004 yy828:
13005 	YYDEBUG(828, *YYCURSOR);
13006 #line 1724 "ext/date/lib/parse_date.re"
13007 	{
13008 		DEBUG_OUTPUT("year4");
13009 		TIMELIB_INIT;
13010 		s->time->y = timelib_get_nr(&ptr, 4);
13011 		TIMELIB_DEINIT;
13012 		return TIMELIB_CLF;
13013 	}
13014 #line 13015 "<stdout>"
13015 yy829:
13016 	YYDEBUG(829, *YYCURSOR);
13017 	yych = *++YYCURSOR;
13018 	switch (yych) {
13019 	case '0':	goto yy830;
13020 	case '1':	goto yy831;
13021 	case '2':
13022 	case '3':
13023 	case '4':
13024 	case '5':
13025 	case '6':
13026 	case '7':
13027 	case '8':
13028 	case '9':	goto yy797;
13029 	case 'A':
13030 	case 'a':	goto yy790;
13031 	case 'D':
13032 	case 'd':	goto yy794;
13033 	case 'F':
13034 	case 'f':	goto yy788;
13035 	case 'J':
13036 	case 'j':	goto yy787;
13037 	case 'M':
13038 	case 'm':	goto yy789;
13039 	case 'N':
13040 	case 'n':	goto yy793;
13041 	case 'O':
13042 	case 'o':	goto yy792;
13043 	case 'S':
13044 	case 's':	goto yy791;
13045 	default:	goto yy55;
13046 	}
13047 yy830:
13048 	YYDEBUG(830, *YYCURSOR);
13049 	yych = *++YYCURSOR;
13050 	if (yych == '-') goto yy798;
13051 	if (yych <= '/') goto yy55;
13052 	if (yych <= '9') goto yy797;
13053 	goto yy55;
13054 yy831:
13055 	YYDEBUG(831, *YYCURSOR);
13056 	yych = *++YYCURSOR;
13057 	if (yych == '-') goto yy798;
13058 	if (yych <= '/') goto yy55;
13059 	if (yych <= '2') goto yy797;
13060 	goto yy55;
13061 yy832:
13062 	YYDEBUG(832, *YYCURSOR);
13063 	yych = *++YYCURSOR;
13064 	switch (yych) {
13065 	case '0':	goto yy1017;
13066 	case '1':	goto yy1019;
13067 	case '2':	goto yy1020;
13068 	case '3':	goto yy1021;
13069 	case '4':
13070 	case '5':
13071 	case '6':
13072 	case '7':
13073 	case '8':
13074 	case '9':	goto yy1022;
13075 	case 'A':
13076 	case 'a':	goto yy1011;
13077 	case 'D':
13078 	case 'd':	goto yy1015;
13079 	case 'F':
13080 	case 'f':	goto yy1009;
13081 	case 'J':
13082 	case 'j':	goto yy1008;
13083 	case 'M':
13084 	case 'm':	goto yy1010;
13085 	case 'N':
13086 	case 'n':	goto yy1014;
13087 	case 'O':
13088 	case 'o':	goto yy1013;
13089 	case 'S':
13090 	case 's':	goto yy1012;
13091 	case 'W':	goto yy1016;
13092 	default:	goto yy983;
13093 	}
13094 yy833:
13095 	YYDEBUG(833, *YYCURSOR);
13096 	yych = *++YYCURSOR;
13097 	if (yych <= '/') goto yy55;
13098 	if (yych <= '0') goto yy991;
13099 	if (yych <= '1') goto yy992;
13100 	if (yych <= '9') goto yy993;
13101 	goto yy55;
13102 yy834:
13103 	YYDEBUG(834, *YYCURSOR);
13104 	++YYCURSOR;
13105 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
13106 	yych = *YYCURSOR;
13107 yy835:
13108 	YYDEBUG(835, *YYCURSOR);
13109 	if (yych <= 'W') {
13110 		if (yych <= 'G') {
13111 			if (yych <= '.') {
13112 				if (yych <= 0x1F) {
13113 					if (yych == '\t') goto yy834;
13114 					goto yy55;
13115 				} else {
13116 					if (yych <= ' ') goto yy834;
13117 					if (yych <= ',') goto yy55;
13118 					goto yy982;
13119 				}
13120 			} else {
13121 				if (yych <= 'C') {
13122 					if (yych == 'A') goto yy844;
13123 					goto yy55;
13124 				} else {
13125 					if (yych <= 'D') goto yy848;
13126 					if (yych == 'F') goto yy842;
13127 					goto yy55;
13128 				}
13129 			}
13130 		} else {
13131 			if (yych <= 'N') {
13132 				if (yych <= 'J') {
13133 					if (yych <= 'H') goto yy64;
13134 					if (yych <= 'I') goto yy837;
13135 					goto yy841;
13136 				} else {
13137 					if (yych <= 'L') goto yy55;
13138 					if (yych <= 'M') goto yy843;
13139 					goto yy847;
13140 				}
13141 			} else {
13142 				if (yych <= 'S') {
13143 					if (yych <= 'O') goto yy846;
13144 					if (yych <= 'R') goto yy55;
13145 					goto yy845;
13146 				} else {
13147 					if (yych <= 'T') goto yy69;
13148 					if (yych <= 'U') goto yy62;
13149 					if (yych <= 'V') goto yy839;
13150 					goto yy68;
13151 				}
13152 			}
13153 		}
13154 	} else {
13155 		if (yych <= 'l') {
13156 			if (yych <= 'd') {
13157 				if (yych <= '`') {
13158 					if (yych <= 'X') goto yy840;
13159 					if (yych <= 'Y') goto yy67;
13160 					goto yy55;
13161 				} else {
13162 					if (yych <= 'a') goto yy844;
13163 					if (yych <= 'c') goto yy55;
13164 					goto yy848;
13165 				}
13166 			} else {
13167 				if (yych <= 'g') {
13168 					if (yych == 'f') goto yy842;
13169 					goto yy55;
13170 				} else {
13171 					if (yych <= 'h') goto yy64;
13172 					if (yych == 'j') goto yy841;
13173 					goto yy55;
13174 				}
13175 			}
13176 		} else {
13177 			if (yych <= 'u') {
13178 				if (yych <= 'o') {
13179 					if (yych <= 'm') goto yy843;
13180 					if (yych <= 'n') goto yy847;
13181 					goto yy846;
13182 				} else {
13183 					if (yych <= 'r') goto yy55;
13184 					if (yych <= 's') goto yy845;
13185 					if (yych <= 't') goto yy69;
13186 					goto yy62;
13187 				}
13188 			} else {
13189 				if (yych <= 'x') {
13190 					if (yych == 'w') goto yy68;
13191 					goto yy55;
13192 				} else {
13193 					if (yych <= 'y') goto yy67;
13194 					if (yych == 0xC2) goto yy61;
13195 					goto yy55;
13196 				}
13197 			}
13198 		}
13199 	}
13200 yy836:
13201 	YYDEBUG(836, *YYCURSOR);
13202 	yych = *++YYCURSOR;
13203 	if (yych <= '/') goto yy983;
13204 	if (yych <= '0') goto yy975;
13205 	if (yych <= '2') goto yy976;
13206 	if (yych <= '3') goto yy977;
13207 	goto yy983;
13208 yy837:
13209 	YYDEBUG(837, *YYCURSOR);
13210 	++YYCURSOR;
13211 	if ((yych = *YYCURSOR) <= 'U') {
13212 		if (yych == 'I') goto yy974;
13213 	} else {
13214 		if (yych == 'W') goto yy838;
13215 		if (yych <= 'X') goto yy928;
13216 	}
13217 yy838:
13218 	YYDEBUG(838, *YYCURSOR);
13219 #line 1545 "ext/date/lib/parse_date.re"
13220 	{
13221 		int length = 0;
13222 		DEBUG_OUTPUT("datenodayrev");
13223 		TIMELIB_INIT;
13224 		TIMELIB_HAVE_DATE();
13225 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
13226 		s->time->m = timelib_get_month(&ptr);
13227 		s->time->d = 1;
13228 		TIMELIB_PROCESS_YEAR(s->time->y, length);
13229 		TIMELIB_DEINIT;
13230 		return TIMELIB_DATE_NO_DAY;
13231 	}
13232 #line 13233 "<stdout>"
13233 yy839:
13234 	YYDEBUG(839, *YYCURSOR);
13235 	yych = *++YYCURSOR;
13236 	if (yych == 'I') goto yy972;
13237 	goto yy838;
13238 yy840:
13239 	YYDEBUG(840, *YYCURSOR);
13240 	yych = *++YYCURSOR;
13241 	if (yych == 'I') goto yy971;
13242 	goto yy838;
13243 yy841:
13244 	YYDEBUG(841, *YYCURSOR);
13245 	yych = *++YYCURSOR;
13246 	if (yych <= 'U') {
13247 		if (yych == 'A') goto yy964;
13248 		if (yych <= 'T') goto yy55;
13249 		goto yy963;
13250 	} else {
13251 		if (yych <= 'a') {
13252 			if (yych <= '`') goto yy55;
13253 			goto yy964;
13254 		} else {
13255 			if (yych == 'u') goto yy963;
13256 			goto yy55;
13257 		}
13258 	}
13259 yy842:
13260 	YYDEBUG(842, *YYCURSOR);
13261 	yych = *++YYCURSOR;
13262 	if (yych <= 'R') {
13263 		if (yych <= 'N') {
13264 			if (yych == 'E') goto yy957;
13265 			goto yy55;
13266 		} else {
13267 			if (yych <= 'O') goto yy113;
13268 			if (yych <= 'Q') goto yy55;
13269 			goto yy112;
13270 		}
13271 	} else {
13272 		if (yych <= 'n') {
13273 			if (yych == 'e') goto yy957;
13274 			goto yy55;
13275 		} else {
13276 			if (yych <= 'o') goto yy113;
13277 			if (yych == 'r') goto yy112;
13278 			goto yy55;
13279 		}
13280 	}
13281 yy843:
13282 	YYDEBUG(843, *YYCURSOR);
13283 	yych = *++YYCURSOR;
13284 	if (yych <= 'S') {
13285 		if (yych <= 'I') {
13286 			if (yych == 'A') goto yy954;
13287 			if (yych <= 'H') goto yy55;
13288 			goto yy154;
13289 		} else {
13290 			if (yych == 'O') goto yy153;
13291 			if (yych <= 'R') goto yy55;
13292 			goto yy155;
13293 		}
13294 	} else {
13295 		if (yych <= 'i') {
13296 			if (yych == 'a') goto yy954;
13297 			if (yych <= 'h') goto yy55;
13298 			goto yy154;
13299 		} else {
13300 			if (yych <= 'o') {
13301 				if (yych <= 'n') goto yy55;
13302 				goto yy153;
13303 			} else {
13304 				if (yych == 's') goto yy155;
13305 				goto yy55;
13306 			}
13307 		}
13308 	}
13309 yy844:
13310 	YYDEBUG(844, *YYCURSOR);
13311 	yych = *++YYCURSOR;
13312 	if (yych <= 'U') {
13313 		if (yych == 'P') goto yy948;
13314 		if (yych <= 'T') goto yy55;
13315 		goto yy947;
13316 	} else {
13317 		if (yych <= 'p') {
13318 			if (yych <= 'o') goto yy55;
13319 			goto yy948;
13320 		} else {
13321 			if (yych == 'u') goto yy947;
13322 			goto yy55;
13323 		}
13324 	}
13325 yy845:
13326 	YYDEBUG(845, *YYCURSOR);
13327 	yych = *++YYCURSOR;
13328 	if (yych <= 'U') {
13329 		if (yych <= 'D') {
13330 			if (yych == 'A') goto yy133;
13331 			goto yy55;
13332 		} else {
13333 			if (yych <= 'E') goto yy940;
13334 			if (yych <= 'T') goto yy55;
13335 			goto yy132;
13336 		}
13337 	} else {
13338 		if (yych <= 'd') {
13339 			if (yych == 'a') goto yy133;
13340 			goto yy55;
13341 		} else {
13342 			if (yych <= 'e') goto yy940;
13343 			if (yych == 'u') goto yy132;
13344 			goto yy55;
13345 		}
13346 	}
13347 yy846:
13348 	YYDEBUG(846, *YYCURSOR);
13349 	yych = *++YYCURSOR;
13350 	if (yych == 'C') goto yy935;
13351 	if (yych == 'c') goto yy935;
13352 	goto yy55;
13353 yy847:
13354 	YYDEBUG(847, *YYCURSOR);
13355 	yych = *++YYCURSOR;
13356 	if (yych == 'O') goto yy929;
13357 	if (yych == 'o') goto yy929;
13358 	goto yy55;
13359 yy848:
13360 	YYDEBUG(848, *YYCURSOR);
13361 	yych = *++YYCURSOR;
13362 	if (yych <= 'E') {
13363 		if (yych == 'A') goto yy129;
13364 		if (yych <= 'D') goto yy55;
13365 		goto yy922;
13366 	} else {
13367 		if (yych <= 'a') {
13368 			if (yych <= '`') goto yy55;
13369 			goto yy129;
13370 		} else {
13371 			if (yych == 'e') goto yy922;
13372 			goto yy55;
13373 		}
13374 	}
13375 yy849:
13376 	YYDEBUG(849, *YYCURSOR);
13377 	yych = *++YYCURSOR;
13378 	if (yych <= '/') goto yy59;
13379 	if (yych <= '0') goto yy919;
13380 	if (yych <= '9') goto yy920;
13381 	goto yy59;
13382 yy850:
13383 	YYDEBUG(850, *YYCURSOR);
13384 	yych = *++YYCURSOR;
13385 	if (yych <= '/') goto yy59;
13386 	if (yych <= '2') goto yy888;
13387 	if (yych <= '9') goto yy867;
13388 	goto yy59;
13389 yy851:
13390 	YYDEBUG(851, *YYCURSOR);
13391 	yych = *++YYCURSOR;
13392 	if (yych <= '/') goto yy55;
13393 	if (yych <= '0') goto yy868;
13394 	if (yych <= '1') goto yy869;
13395 	goto yy55;
13396 yy852:
13397 	YYDEBUG(852, *YYCURSOR);
13398 	yych = *++YYCURSOR;
13399 	if (yych <= '/') goto yy59;
13400 	if (yych <= '9') goto yy867;
13401 	goto yy59;
13402 yy853:
13403 	YYDEBUG(853, *YYCURSOR);
13404 	yych = *++YYCURSOR;
13405 	if (yych <= '/') goto yy59;
13406 	if (yych <= '5') goto yy863;
13407 	if (yych <= '6') goto yy864;
13408 	if (yych <= '9') goto yy74;
13409 	goto yy59;
13410 yy854:
13411 	YYDEBUG(854, *YYCURSOR);
13412 	yych = *++YYCURSOR;
13413 	if (yych <= '5') {
13414 		if (yych <= '/') goto yy55;
13415 		if (yych <= '0') goto yy855;
13416 		if (yych <= '4') goto yy856;
13417 		goto yy857;
13418 	} else {
13419 		if (yych <= 'E') {
13420 			if (yych <= 'D') goto yy55;
13421 			goto yy96;
13422 		} else {
13423 			if (yych == 'e') goto yy96;
13424 			goto yy55;
13425 		}
13426 	}
13427 yy855:
13428 	YYDEBUG(855, *YYCURSOR);
13429 	yych = *++YYCURSOR;
13430 	if (yych <= '0') goto yy55;
13431 	if (yych <= '9') goto yy858;
13432 	goto yy55;
13433 yy856:
13434 	YYDEBUG(856, *YYCURSOR);
13435 	yych = *++YYCURSOR;
13436 	if (yych <= '/') goto yy55;
13437 	if (yych <= '9') goto yy858;
13438 	goto yy55;
13439 yy857:
13440 	YYDEBUG(857, *YYCURSOR);
13441 	yych = *++YYCURSOR;
13442 	if (yych <= '/') goto yy55;
13443 	if (yych >= '4') goto yy55;
13444 yy858:
13445 	YYDEBUG(858, *YYCURSOR);
13446 	yyaccept = 17;
13447 	yych = *(YYMARKER = ++YYCURSOR);
13448 	if (yych == '-') goto yy860;
13449 	if (yych <= '/') goto yy859;
13450 	if (yych <= '7') goto yy861;
13451 yy859:
13452 	YYDEBUG(859, *YYCURSOR);
13453 #line 1656 "ext/date/lib/parse_date.re"
13454 	{
13455 		timelib_sll w, d;
13456 		DEBUG_OUTPUT("isoweek");
13457 		TIMELIB_INIT;
13458 		TIMELIB_HAVE_DATE();
13459 		TIMELIB_HAVE_RELATIVE();
13460 
13461 		s->time->y = timelib_get_nr(&ptr, 4);
13462 		w = timelib_get_nr(&ptr, 2);
13463 		d = 1;
13464 		s->time->m = 1;
13465 		s->time->d = 1;
13466 		s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
13467 
13468 		TIMELIB_DEINIT;
13469 		return TIMELIB_ISO_WEEK;
13470 	}
13471 #line 13472 "<stdout>"
13472 yy860:
13473 	YYDEBUG(860, *YYCURSOR);
13474 	yych = *++YYCURSOR;
13475 	if (yych <= '/') goto yy55;
13476 	if (yych >= '8') goto yy55;
13477 yy861:
13478 	YYDEBUG(861, *YYCURSOR);
13479 	++YYCURSOR;
13480 	YYDEBUG(862, *YYCURSOR);
13481 #line 1637 "ext/date/lib/parse_date.re"
13482 	{
13483 		timelib_sll w, d;
13484 		DEBUG_OUTPUT("isoweekday");
13485 		TIMELIB_INIT;
13486 		TIMELIB_HAVE_DATE();
13487 		TIMELIB_HAVE_RELATIVE();
13488 
13489 		s->time->y = timelib_get_nr(&ptr, 4);
13490 		w = timelib_get_nr(&ptr, 2);
13491 		d = timelib_get_nr(&ptr, 1);
13492 		s->time->m = 1;
13493 		s->time->d = 1;
13494 		s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
13495 
13496 		TIMELIB_DEINIT;
13497 		return TIMELIB_ISO_WEEK;
13498 	}
13499 #line 13500 "<stdout>"
13500 yy863:
13501 	YYDEBUG(863, *YYCURSOR);
13502 	yych = *++YYCURSOR;
13503 	if (yych <= '/') goto yy59;
13504 	if (yych <= '9') goto yy865;
13505 	goto yy59;
13506 yy864:
13507 	YYDEBUG(864, *YYCURSOR);
13508 	yych = *++YYCURSOR;
13509 	if (yych <= '/') goto yy59;
13510 	if (yych <= '6') goto yy865;
13511 	if (yych <= '9') goto yy75;
13512 	goto yy59;
13513 yy865:
13514 	YYDEBUG(865, *YYCURSOR);
13515 	yyaccept = 18;
13516 	yych = *(YYMARKER = ++YYCURSOR);
13517 	if (yych <= 'W') {
13518 		if (yych <= 'E') {
13519 			if (yych <= ' ') {
13520 				if (yych == '\t') goto yy59;
13521 				if (yych >= ' ') goto yy59;
13522 			} else {
13523 				if (yych <= '9') {
13524 					if (yych >= '0') goto yy76;
13525 				} else {
13526 					if (yych == 'D') goto yy59;
13527 				}
13528 			}
13529 		} else {
13530 			if (yych <= 'L') {
13531 				if (yych == 'G') goto yy866;
13532 				if (yych <= 'H') goto yy59;
13533 			} else {
13534 				if (yych <= 'R') {
13535 					if (yych <= 'M') goto yy59;
13536 				} else {
13537 					if (yych != 'V') goto yy59;
13538 				}
13539 			}
13540 		}
13541 	} else {
13542 		if (yych <= 'l') {
13543 			if (yych <= 'd') {
13544 				if (yych == 'Y') goto yy59;
13545 				if (yych >= 'd') goto yy59;
13546 			} else {
13547 				if (yych <= 'f') {
13548 					if (yych >= 'f') goto yy59;
13549 				} else {
13550 					if (yych == 'h') goto yy59;
13551 				}
13552 			}
13553 		} else {
13554 			if (yych <= 'w') {
13555 				if (yych <= 'r') {
13556 					if (yych <= 'm') goto yy59;
13557 				} else {
13558 					if (yych != 'v') goto yy59;
13559 				}
13560 			} else {
13561 				if (yych <= 'y') {
13562 					if (yych >= 'y') goto yy59;
13563 				} else {
13564 					if (yych == 0xC2) goto yy59;
13565 				}
13566 			}
13567 		}
13568 	}
13569 yy866:
13570 	YYDEBUG(866, *YYCURSOR);
13571 #line 1623 "ext/date/lib/parse_date.re"
13572 	{
13573 		int length = 0;
13574 		DEBUG_OUTPUT("pgydotd");
13575 		TIMELIB_INIT;
13576 		TIMELIB_HAVE_DATE();
13577 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
13578 		s->time->d = timelib_get_nr(&ptr, 3);
13579 		s->time->m = 1;
13580 		TIMELIB_PROCESS_YEAR(s->time->y, length);
13581 		TIMELIB_DEINIT;
13582 		return TIMELIB_PG_YEARDAY;
13583 	}
13584 #line 13585 "<stdout>"
13585 yy867:
13586 	YYDEBUG(867, *YYCURSOR);
13587 	yych = *++YYCURSOR;
13588 	if (yych <= '/') goto yy59;
13589 	if (yych <= '9') goto yy865;
13590 	goto yy59;
13591 yy868:
13592 	YYDEBUG(868, *YYCURSOR);
13593 	yych = *++YYCURSOR;
13594 	if (yych <= '/') goto yy55;
13595 	if (yych <= '9') goto yy870;
13596 	goto yy55;
13597 yy869:
13598 	YYDEBUG(869, *YYCURSOR);
13599 	yych = *++YYCURSOR;
13600 	if (yych <= '/') goto yy55;
13601 	if (yych >= '3') goto yy55;
13602 yy870:
13603 	YYDEBUG(870, *YYCURSOR);
13604 	yych = *++YYCURSOR;
13605 	if (yych != ':') goto yy55;
13606 	YYDEBUG(871, *YYCURSOR);
13607 	yych = *++YYCURSOR;
13608 	if (yych <= '/') goto yy55;
13609 	if (yych <= '0') goto yy872;
13610 	if (yych <= '2') goto yy873;
13611 	if (yych <= '3') goto yy874;
13612 	goto yy55;
13613 yy872:
13614 	YYDEBUG(872, *YYCURSOR);
13615 	yych = *++YYCURSOR;
13616 	if (yych <= '/') goto yy55;
13617 	if (yych <= '9') goto yy875;
13618 	goto yy55;
13619 yy873:
13620 	YYDEBUG(873, *YYCURSOR);
13621 	yych = *++YYCURSOR;
13622 	if (yych <= '/') goto yy55;
13623 	if (yych <= '9') goto yy875;
13624 	goto yy55;
13625 yy874:
13626 	YYDEBUG(874, *YYCURSOR);
13627 	yych = *++YYCURSOR;
13628 	if (yych <= '/') goto yy55;
13629 	if (yych >= '2') goto yy55;
13630 yy875:
13631 	YYDEBUG(875, *YYCURSOR);
13632 	yych = *++YYCURSOR;
13633 	if (yych != ' ') goto yy55;
13634 	YYDEBUG(876, *YYCURSOR);
13635 	yych = *++YYCURSOR;
13636 	if (yych <= '/') goto yy55;
13637 	if (yych <= '1') goto yy877;
13638 	if (yych <= '2') goto yy878;
13639 	goto yy55;
13640 yy877:
13641 	YYDEBUG(877, *YYCURSOR);
13642 	yych = *++YYCURSOR;
13643 	if (yych <= '/') goto yy55;
13644 	if (yych <= '9') goto yy879;
13645 	goto yy55;
13646 yy878:
13647 	YYDEBUG(878, *YYCURSOR);
13648 	yych = *++YYCURSOR;
13649 	if (yych <= '/') goto yy55;
13650 	if (yych >= '5') goto yy55;
13651 yy879:
13652 	YYDEBUG(879, *YYCURSOR);
13653 	yych = *++YYCURSOR;
13654 	if (yych != ':') goto yy55;
13655 	YYDEBUG(880, *YYCURSOR);
13656 	yych = *++YYCURSOR;
13657 	if (yych <= '/') goto yy55;
13658 	if (yych >= '6') goto yy55;
13659 	YYDEBUG(881, *YYCURSOR);
13660 	yych = *++YYCURSOR;
13661 	if (yych <= '/') goto yy55;
13662 	if (yych >= ':') goto yy55;
13663 	YYDEBUG(882, *YYCURSOR);
13664 	yych = *++YYCURSOR;
13665 	if (yych != ':') goto yy55;
13666 	YYDEBUG(883, *YYCURSOR);
13667 	yych = *++YYCURSOR;
13668 	if (yych <= '/') goto yy55;
13669 	if (yych <= '5') goto yy884;
13670 	if (yych <= '6') goto yy885;
13671 	goto yy55;
13672 yy884:
13673 	YYDEBUG(884, *YYCURSOR);
13674 	yych = *++YYCURSOR;
13675 	if (yych <= '/') goto yy55;
13676 	if (yych <= '9') goto yy886;
13677 	goto yy55;
13678 yy885:
13679 	YYDEBUG(885, *YYCURSOR);
13680 	yych = *++YYCURSOR;
13681 	if (yych != '0') goto yy55;
13682 yy886:
13683 	YYDEBUG(886, *YYCURSOR);
13684 	++YYCURSOR;
13685 yy887:
13686 	YYDEBUG(887, *YYCURSOR);
13687 #line 1597 "ext/date/lib/parse_date.re"
13688 	{
13689 		int tz_not_found;
13690 		DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
13691 		TIMELIB_INIT;
13692 		TIMELIB_HAVE_TIME();
13693 		TIMELIB_HAVE_DATE();
13694 		s->time->y = timelib_get_nr(&ptr, 4);
13695 		s->time->m = timelib_get_nr(&ptr, 2);
13696 		s->time->d = timelib_get_nr(&ptr, 2);
13697 		s->time->h = timelib_get_nr(&ptr, 2);
13698 		s->time->i = timelib_get_nr(&ptr, 2);
13699 		s->time->s = timelib_get_nr(&ptr, 2);
13700 		if (*ptr == '.') {
13701 			s->time->us = timelib_get_frac_nr(&ptr);
13702 			if (*ptr) { /* timezone is optional */
13703 				s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
13704 				if (tz_not_found) {
13705 					add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
13706 				}
13707 			}
13708 		}
13709 		TIMELIB_DEINIT;
13710 		return TIMELIB_XMLRPC_SOAP;
13711 	}
13712 #line 13713 "<stdout>"
13713 yy888:
13714 	YYDEBUG(888, *YYCURSOR);
13715 	yych = *++YYCURSOR;
13716 	if (yych <= '2') {
13717 		if (yych <= '/') goto yy59;
13718 		if (yych >= '1') goto yy890;
13719 	} else {
13720 		if (yych <= '3') goto yy891;
13721 		if (yych <= '9') goto yy865;
13722 		goto yy59;
13723 	}
13724 yy889:
13725 	YYDEBUG(889, *YYCURSOR);
13726 	yyaccept = 18;
13727 	yych = *(YYMARKER = ++YYCURSOR);
13728 	if (yych <= 'W') {
13729 		if (yych <= 'E') {
13730 			if (yych <= ' ') {
13731 				if (yych == '\t') goto yy59;
13732 				if (yych <= 0x1F) goto yy866;
13733 				goto yy59;
13734 			} else {
13735 				if (yych <= '9') {
13736 					if (yych <= '/') goto yy866;
13737 					goto yy892;
13738 				} else {
13739 					if (yych == 'D') goto yy59;
13740 					goto yy866;
13741 				}
13742 			}
13743 		} else {
13744 			if (yych <= 'L') {
13745 				if (yych == 'G') goto yy866;
13746 				if (yych <= 'H') goto yy59;
13747 				goto yy866;
13748 			} else {
13749 				if (yych <= 'R') {
13750 					if (yych <= 'M') goto yy59;
13751 					goto yy866;
13752 				} else {
13753 					if (yych == 'V') goto yy866;
13754 					goto yy59;
13755 				}
13756 			}
13757 		}
13758 	} else {
13759 		if (yych <= 'l') {
13760 			if (yych <= 'd') {
13761 				if (yych == 'Y') goto yy59;
13762 				if (yych <= 'c') goto yy866;
13763 				goto yy59;
13764 			} else {
13765 				if (yych <= 'f') {
13766 					if (yych <= 'e') goto yy866;
13767 					goto yy59;
13768 				} else {
13769 					if (yych == 'h') goto yy59;
13770 					goto yy866;
13771 				}
13772 			}
13773 		} else {
13774 			if (yych <= 'w') {
13775 				if (yych <= 'r') {
13776 					if (yych <= 'm') goto yy59;
13777 					goto yy866;
13778 				} else {
13779 					if (yych == 'v') goto yy866;
13780 					goto yy59;
13781 				}
13782 			} else {
13783 				if (yych <= 'y') {
13784 					if (yych <= 'x') goto yy866;
13785 					goto yy59;
13786 				} else {
13787 					if (yych == 0xC2) goto yy59;
13788 					goto yy866;
13789 				}
13790 			}
13791 		}
13792 	}
13793 yy890:
13794 	YYDEBUG(890, *YYCURSOR);
13795 	yyaccept = 18;
13796 	yych = *(YYMARKER = ++YYCURSOR);
13797 	if (yych <= 'W') {
13798 		if (yych <= 'E') {
13799 			if (yych <= ' ') {
13800 				if (yych == '\t') goto yy59;
13801 				if (yych <= 0x1F) goto yy866;
13802 				goto yy59;
13803 			} else {
13804 				if (yych <= '9') {
13805 					if (yych <= '/') goto yy866;
13806 					goto yy892;
13807 				} else {
13808 					if (yych == 'D') goto yy59;
13809 					goto yy866;
13810 				}
13811 			}
13812 		} else {
13813 			if (yych <= 'L') {
13814 				if (yych == 'G') goto yy866;
13815 				if (yych <= 'H') goto yy59;
13816 				goto yy866;
13817 			} else {
13818 				if (yych <= 'R') {
13819 					if (yych <= 'M') goto yy59;
13820 					goto yy866;
13821 				} else {
13822 					if (yych == 'V') goto yy866;
13823 					goto yy59;
13824 				}
13825 			}
13826 		}
13827 	} else {
13828 		if (yych <= 'l') {
13829 			if (yych <= 'd') {
13830 				if (yych == 'Y') goto yy59;
13831 				if (yych <= 'c') goto yy866;
13832 				goto yy59;
13833 			} else {
13834 				if (yych <= 'f') {
13835 					if (yych <= 'e') goto yy866;
13836 					goto yy59;
13837 				} else {
13838 					if (yych == 'h') goto yy59;
13839 					goto yy866;
13840 				}
13841 			}
13842 		} else {
13843 			if (yych <= 'w') {
13844 				if (yych <= 'r') {
13845 					if (yych <= 'm') goto yy59;
13846 					goto yy866;
13847 				} else {
13848 					if (yych == 'v') goto yy866;
13849 					goto yy59;
13850 				}
13851 			} else {
13852 				if (yych <= 'y') {
13853 					if (yych <= 'x') goto yy866;
13854 					goto yy59;
13855 				} else {
13856 					if (yych == 0xC2) goto yy59;
13857 					goto yy866;
13858 				}
13859 			}
13860 		}
13861 	}
13862 yy891:
13863 	YYDEBUG(891, *YYCURSOR);
13864 	yyaccept = 18;
13865 	yych = *(YYMARKER = ++YYCURSOR);
13866 	if (yych <= 'W') {
13867 		if (yych <= 'D') {
13868 			if (yych <= ' ') {
13869 				if (yych == '\t') goto yy59;
13870 				if (yych <= 0x1F) goto yy866;
13871 				goto yy59;
13872 			} else {
13873 				if (yych <= '1') {
13874 					if (yych <= '/') goto yy866;
13875 				} else {
13876 					if (yych <= '9') goto yy76;
13877 					if (yych <= 'C') goto yy866;
13878 					goto yy59;
13879 				}
13880 			}
13881 		} else {
13882 			if (yych <= 'L') {
13883 				if (yych <= 'F') {
13884 					if (yych <= 'E') goto yy866;
13885 					goto yy59;
13886 				} else {
13887 					if (yych == 'H') goto yy59;
13888 					goto yy866;
13889 				}
13890 			} else {
13891 				if (yych <= 'R') {
13892 					if (yych <= 'M') goto yy59;
13893 					goto yy866;
13894 				} else {
13895 					if (yych == 'V') goto yy866;
13896 					goto yy59;
13897 				}
13898 			}
13899 		}
13900 	} else {
13901 		if (yych <= 'l') {
13902 			if (yych <= 'd') {
13903 				if (yych == 'Y') goto yy59;
13904 				if (yych <= 'c') goto yy866;
13905 				goto yy59;
13906 			} else {
13907 				if (yych <= 'f') {
13908 					if (yych <= 'e') goto yy866;
13909 					goto yy59;
13910 				} else {
13911 					if (yych == 'h') goto yy59;
13912 					goto yy866;
13913 				}
13914 			}
13915 		} else {
13916 			if (yych <= 'w') {
13917 				if (yych <= 'r') {
13918 					if (yych <= 'm') goto yy59;
13919 					goto yy866;
13920 				} else {
13921 					if (yych == 'v') goto yy866;
13922 					goto yy59;
13923 				}
13924 			} else {
13925 				if (yych <= 'y') {
13926 					if (yych <= 'x') goto yy866;
13927 					goto yy59;
13928 				} else {
13929 					if (yych == 0xC2) goto yy59;
13930 					goto yy866;
13931 				}
13932 			}
13933 		}
13934 	}
13935 yy892:
13936 	YYDEBUG(892, *YYCURSOR);
13937 	yyaccept = 19;
13938 	yych = *(YYMARKER = ++YYCURSOR);
13939 	if (yych <= 'W') {
13940 		if (yych <= 'F') {
13941 			if (yych <= '/') {
13942 				if (yych <= '\t') {
13943 					if (yych >= '\t') goto yy58;
13944 				} else {
13945 					if (yych == ' ') goto yy58;
13946 				}
13947 			} else {
13948 				if (yych <= 'C') {
13949 					if (yych <= '9') goto yy77;
13950 				} else {
13951 					if (yych <= 'D') goto yy65;
13952 					if (yych >= 'F') goto yy66;
13953 				}
13954 			}
13955 		} else {
13956 			if (yych <= 'R') {
13957 				if (yych <= 'H') {
13958 					if (yych >= 'H') goto yy64;
13959 				} else {
13960 					if (yych == 'M') goto yy60;
13961 				}
13962 			} else {
13963 				if (yych <= 'T') {
13964 					if (yych <= 'S') goto yy63;
13965 					goto yy894;
13966 				} else {
13967 					if (yych <= 'U') goto yy62;
13968 					if (yych >= 'W') goto yy68;
13969 				}
13970 			}
13971 		}
13972 	} else {
13973 		if (yych <= 'm') {
13974 			if (yych <= 'e') {
13975 				if (yych <= 'Y') {
13976 					if (yych >= 'Y') goto yy67;
13977 				} else {
13978 					if (yych == 'd') goto yy65;
13979 				}
13980 			} else {
13981 				if (yych <= 'g') {
13982 					if (yych <= 'f') goto yy66;
13983 				} else {
13984 					if (yych <= 'h') goto yy64;
13985 					if (yych >= 'm') goto yy60;
13986 				}
13987 			}
13988 		} else {
13989 			if (yych <= 'v') {
13990 				if (yych <= 's') {
13991 					if (yych >= 's') goto yy63;
13992 				} else {
13993 					if (yych <= 't') goto yy895;
13994 					if (yych <= 'u') goto yy62;
13995 				}
13996 			} else {
13997 				if (yych <= 'y') {
13998 					if (yych <= 'w') goto yy68;
13999 					if (yych >= 'y') goto yy67;
14000 				} else {
14001 					if (yych == 0xC2) goto yy61;
14002 				}
14003 			}
14004 		}
14005 	}
14006 yy893:
14007 	YYDEBUG(893, *YYCURSOR);
14008 #line 1585 "ext/date/lib/parse_date.re"
14009 	{
14010 		DEBUG_OUTPUT("datenocolon");
14011 		TIMELIB_INIT;
14012 		TIMELIB_HAVE_DATE();
14013 		s->time->y = timelib_get_nr(&ptr, 4);
14014 		s->time->m = timelib_get_nr(&ptr, 2);
14015 		s->time->d = timelib_get_nr(&ptr, 2);
14016 		TIMELIB_DEINIT;
14017 		return TIMELIB_DATE_NOCOLON;
14018 	}
14019 #line 14020 "<stdout>"
14020 yy894:
14021 	YYDEBUG(894, *YYCURSOR);
14022 	yych = *++YYCURSOR;
14023 	if (yych <= 'H') {
14024 		if (yych <= '2') {
14025 			if (yych <= '/') goto yy55;
14026 			if (yych <= '1') goto yy909;
14027 			goto yy910;
14028 		} else {
14029 			if (yych <= '9') goto yy911;
14030 			if (yych <= 'G') goto yy55;
14031 			goto yy81;
14032 		}
14033 	} else {
14034 		if (yych <= 'g') {
14035 			if (yych == 'U') goto yy82;
14036 			goto yy55;
14037 		} else {
14038 			if (yych <= 'h') goto yy81;
14039 			if (yych == 'u') goto yy82;
14040 			goto yy55;
14041 		}
14042 	}
14043 yy895:
14044 	YYDEBUG(895, *YYCURSOR);
14045 	yych = *++YYCURSOR;
14046 	if (yych <= 'H') {
14047 		if (yych <= '2') {
14048 			if (yych <= '/') goto yy55;
14049 			if (yych >= '2') goto yy897;
14050 		} else {
14051 			if (yych <= '9') goto yy898;
14052 			if (yych <= 'G') goto yy55;
14053 			goto yy81;
14054 		}
14055 	} else {
14056 		if (yych <= 'g') {
14057 			if (yych == 'U') goto yy82;
14058 			goto yy55;
14059 		} else {
14060 			if (yych <= 'h') goto yy81;
14061 			if (yych == 'u') goto yy82;
14062 			goto yy55;
14063 		}
14064 	}
14065 	YYDEBUG(896, *YYCURSOR);
14066 	yych = *++YYCURSOR;
14067 	if (yych <= '/') goto yy55;
14068 	if (yych <= '5') goto yy903;
14069 	if (yych <= '9') goto yy898;
14070 	goto yy55;
14071 yy897:
14072 	YYDEBUG(897, *YYCURSOR);
14073 	yych = *++YYCURSOR;
14074 	if (yych <= '/') goto yy55;
14075 	if (yych <= '4') goto yy903;
14076 	if (yych <= '5') goto yy899;
14077 	goto yy55;
14078 yy898:
14079 	YYDEBUG(898, *YYCURSOR);
14080 	yych = *++YYCURSOR;
14081 	if (yych <= '/') goto yy55;
14082 	if (yych >= '6') goto yy55;
14083 yy899:
14084 	YYDEBUG(899, *YYCURSOR);
14085 	yych = *++YYCURSOR;
14086 	if (yych <= '/') goto yy55;
14087 	if (yych >= ':') goto yy55;
14088 yy900:
14089 	YYDEBUG(900, *YYCURSOR);
14090 	yych = *++YYCURSOR;
14091 	if (yych <= '/') goto yy55;
14092 	if (yych <= '5') goto yy901;
14093 	if (yych <= '6') goto yy902;
14094 	goto yy55;
14095 yy901:
14096 	YYDEBUG(901, *YYCURSOR);
14097 	yych = *++YYCURSOR;
14098 	if (yych <= '/') goto yy55;
14099 	if (yych <= '9') goto yy886;
14100 	goto yy55;
14101 yy902:
14102 	YYDEBUG(902, *YYCURSOR);
14103 	yych = *++YYCURSOR;
14104 	if (yych == '0') goto yy886;
14105 	goto yy55;
14106 yy903:
14107 	YYDEBUG(903, *YYCURSOR);
14108 	yych = *++YYCURSOR;
14109 	if (yych <= '/') goto yy55;
14110 	if (yych <= '5') goto yy904;
14111 	if (yych <= '9') goto yy900;
14112 	goto yy55;
14113 yy904:
14114 	YYDEBUG(904, *YYCURSOR);
14115 	yych = *++YYCURSOR;
14116 	if (yych <= '/') goto yy55;
14117 	if (yych <= '5') goto yy905;
14118 	if (yych <= '6') goto yy906;
14119 	if (yych <= '9') goto yy900;
14120 	goto yy55;
14121 yy905:
14122 	YYDEBUG(905, *YYCURSOR);
14123 	yych = *++YYCURSOR;
14124 	if (yych <= '/') goto yy55;
14125 	if (yych <= '5') goto yy907;
14126 	if (yych <= '6') goto yy908;
14127 	if (yych <= '9') goto yy886;
14128 	goto yy55;
14129 yy906:
14130 	YYDEBUG(906, *YYCURSOR);
14131 	yych = *++YYCURSOR;
14132 	if (yych <= '/') goto yy55;
14133 	if (yych <= '0') goto yy907;
14134 	if (yych <= '5') goto yy901;
14135 	if (yych <= '6') goto yy902;
14136 	goto yy55;
14137 yy907:
14138 	YYDEBUG(907, *YYCURSOR);
14139 	yych = *++YYCURSOR;
14140 	if (yych <= '/') goto yy887;
14141 	if (yych <= '9') goto yy886;
14142 	goto yy887;
14143 yy908:
14144 	YYDEBUG(908, *YYCURSOR);
14145 	yych = *++YYCURSOR;
14146 	if (yych == '0') goto yy886;
14147 	goto yy887;
14148 yy909:
14149 	YYDEBUG(909, *YYCURSOR);
14150 	yych = *++YYCURSOR;
14151 	if (yych <= '/') goto yy55;
14152 	if (yych <= '5') goto yy918;
14153 	if (yych <= '9') goto yy911;
14154 	if (yych <= ':') goto yy912;
14155 	goto yy55;
14156 yy910:
14157 	YYDEBUG(910, *YYCURSOR);
14158 	yych = *++YYCURSOR;
14159 	if (yych <= '5') {
14160 		if (yych <= '/') goto yy55;
14161 		if (yych <= '4') goto yy918;
14162 		goto yy899;
14163 	} else {
14164 		if (yych == ':') goto yy912;
14165 		goto yy55;
14166 	}
14167 yy911:
14168 	YYDEBUG(911, *YYCURSOR);
14169 	yych = *++YYCURSOR;
14170 	if (yych <= '/') goto yy55;
14171 	if (yych <= '5') goto yy899;
14172 	if (yych != ':') goto yy55;
14173 yy912:
14174 	YYDEBUG(912, *YYCURSOR);
14175 	yych = *++YYCURSOR;
14176 	if (yych <= '/') goto yy55;
14177 	if (yych >= '6') goto yy55;
14178 	YYDEBUG(913, *YYCURSOR);
14179 	yych = *++YYCURSOR;
14180 	if (yych <= '/') goto yy55;
14181 	if (yych >= ':') goto yy55;
14182 	YYDEBUG(914, *YYCURSOR);
14183 	yych = *++YYCURSOR;
14184 	if (yych != ':') goto yy55;
14185 	YYDEBUG(915, *YYCURSOR);
14186 	yych = *++YYCURSOR;
14187 	if (yych <= '/') goto yy55;
14188 	if (yych <= '5') goto yy916;
14189 	if (yych <= '6') goto yy917;
14190 	goto yy55;
14191 yy916:
14192 	YYDEBUG(916, *YYCURSOR);
14193 	yych = *++YYCURSOR;
14194 	if (yych <= '/') goto yy55;
14195 	if (yych <= '9') goto yy886;
14196 	goto yy55;
14197 yy917:
14198 	YYDEBUG(917, *YYCURSOR);
14199 	yych = *++YYCURSOR;
14200 	if (yych == '0') goto yy886;
14201 	goto yy55;
14202 yy918:
14203 	YYDEBUG(918, *YYCURSOR);
14204 	yych = *++YYCURSOR;
14205 	if (yych <= '/') goto yy55;
14206 	if (yych <= '5') goto yy904;
14207 	if (yych <= '9') goto yy900;
14208 	if (yych <= ':') goto yy912;
14209 	goto yy55;
14210 yy919:
14211 	YYDEBUG(919, *YYCURSOR);
14212 	yych = *++YYCURSOR;
14213 	if (yych <= '2') {
14214 		if (yych <= '/') goto yy59;
14215 		if (yych <= '0') goto yy921;
14216 		goto yy890;
14217 	} else {
14218 		if (yych <= '3') goto yy891;
14219 		if (yych <= '9') goto yy865;
14220 		goto yy59;
14221 	}
14222 yy920:
14223 	YYDEBUG(920, *YYCURSOR);
14224 	yych = *++YYCURSOR;
14225 	if (yych <= '2') {
14226 		if (yych <= '/') goto yy59;
14227 		if (yych <= '0') goto yy889;
14228 		goto yy890;
14229 	} else {
14230 		if (yych <= '3') goto yy891;
14231 		if (yych <= '9') goto yy865;
14232 		goto yy59;
14233 	}
14234 yy921:
14235 	YYDEBUG(921, *YYCURSOR);
14236 	yych = *++YYCURSOR;
14237 	if (yych <= '/') goto yy59;
14238 	if (yych <= '9') goto yy892;
14239 	goto yy59;
14240 yy922:
14241 	YYDEBUG(922, *YYCURSOR);
14242 	yych = *++YYCURSOR;
14243 	if (yych == 'C') goto yy923;
14244 	if (yych != 'c') goto yy55;
14245 yy923:
14246 	YYDEBUG(923, *YYCURSOR);
14247 	yyaccept = 20;
14248 	yych = *(YYMARKER = ++YYCURSOR);
14249 	if (yych == 'E') goto yy924;
14250 	if (yych != 'e') goto yy838;
14251 yy924:
14252 	YYDEBUG(924, *YYCURSOR);
14253 	yych = *++YYCURSOR;
14254 	if (yych == 'M') goto yy925;
14255 	if (yych != 'm') goto yy55;
14256 yy925:
14257 	YYDEBUG(925, *YYCURSOR);
14258 	yych = *++YYCURSOR;
14259 	if (yych == 'B') goto yy926;
14260 	if (yych != 'b') goto yy55;
14261 yy926:
14262 	YYDEBUG(926, *YYCURSOR);
14263 	yych = *++YYCURSOR;
14264 	if (yych == 'E') goto yy927;
14265 	if (yych != 'e') goto yy55;
14266 yy927:
14267 	YYDEBUG(927, *YYCURSOR);
14268 	yych = *++YYCURSOR;
14269 	if (yych == 'R') goto yy928;
14270 	if (yych != 'r') goto yy55;
14271 yy928:
14272 	YYDEBUG(928, *YYCURSOR);
14273 	yych = *++YYCURSOR;
14274 	goto yy838;
14275 yy929:
14276 	YYDEBUG(929, *YYCURSOR);
14277 	yych = *++YYCURSOR;
14278 	if (yych == 'V') goto yy930;
14279 	if (yych != 'v') goto yy55;
14280 yy930:
14281 	YYDEBUG(930, *YYCURSOR);
14282 	yyaccept = 20;
14283 	yych = *(YYMARKER = ++YYCURSOR);
14284 	if (yych == 'E') goto yy931;
14285 	if (yych != 'e') goto yy838;
14286 yy931:
14287 	YYDEBUG(931, *YYCURSOR);
14288 	yych = *++YYCURSOR;
14289 	if (yych == 'M') goto yy932;
14290 	if (yych != 'm') goto yy55;
14291 yy932:
14292 	YYDEBUG(932, *YYCURSOR);
14293 	yych = *++YYCURSOR;
14294 	if (yych == 'B') goto yy933;
14295 	if (yych != 'b') goto yy55;
14296 yy933:
14297 	YYDEBUG(933, *YYCURSOR);
14298 	yych = *++YYCURSOR;
14299 	if (yych == 'E') goto yy934;
14300 	if (yych != 'e') goto yy55;
14301 yy934:
14302 	YYDEBUG(934, *YYCURSOR);
14303 	yych = *++YYCURSOR;
14304 	if (yych == 'R') goto yy928;
14305 	if (yych == 'r') goto yy928;
14306 	goto yy55;
14307 yy935:
14308 	YYDEBUG(935, *YYCURSOR);
14309 	yych = *++YYCURSOR;
14310 	if (yych == 'T') goto yy936;
14311 	if (yych != 't') goto yy55;
14312 yy936:
14313 	YYDEBUG(936, *YYCURSOR);
14314 	yyaccept = 20;
14315 	yych = *(YYMARKER = ++YYCURSOR);
14316 	if (yych == 'O') goto yy937;
14317 	if (yych != 'o') goto yy838;
14318 yy937:
14319 	YYDEBUG(937, *YYCURSOR);
14320 	yych = *++YYCURSOR;
14321 	if (yych == 'B') goto yy938;
14322 	if (yych != 'b') goto yy55;
14323 yy938:
14324 	YYDEBUG(938, *YYCURSOR);
14325 	yych = *++YYCURSOR;
14326 	if (yych == 'E') goto yy939;
14327 	if (yych != 'e') goto yy55;
14328 yy939:
14329 	YYDEBUG(939, *YYCURSOR);
14330 	yych = *++YYCURSOR;
14331 	if (yych == 'R') goto yy928;
14332 	if (yych == 'r') goto yy928;
14333 	goto yy55;
14334 yy940:
14335 	YYDEBUG(940, *YYCURSOR);
14336 	yych = *++YYCURSOR;
14337 	if (yych <= 'P') {
14338 		if (yych == 'C') goto yy135;
14339 		if (yych <= 'O') goto yy55;
14340 	} else {
14341 		if (yych <= 'c') {
14342 			if (yych <= 'b') goto yy55;
14343 			goto yy135;
14344 		} else {
14345 			if (yych != 'p') goto yy55;
14346 		}
14347 	}
14348 yy941:
14349 	YYDEBUG(941, *YYCURSOR);
14350 	yych = *++YYCURSOR;
14351 	if (yych == 'T') goto yy942;
14352 	if (yych != 't') goto yy838;
14353 yy942:
14354 	YYDEBUG(942, *YYCURSOR);
14355 	yyaccept = 20;
14356 	yych = *(YYMARKER = ++YYCURSOR);
14357 	if (yych == 'E') goto yy943;
14358 	if (yych != 'e') goto yy838;
14359 yy943:
14360 	YYDEBUG(943, *YYCURSOR);
14361 	yych = *++YYCURSOR;
14362 	if (yych == 'M') goto yy944;
14363 	if (yych != 'm') goto yy55;
14364 yy944:
14365 	YYDEBUG(944, *YYCURSOR);
14366 	yych = *++YYCURSOR;
14367 	if (yych == 'B') goto yy945;
14368 	if (yych != 'b') goto yy55;
14369 yy945:
14370 	YYDEBUG(945, *YYCURSOR);
14371 	yych = *++YYCURSOR;
14372 	if (yych == 'E') goto yy946;
14373 	if (yych != 'e') goto yy55;
14374 yy946:
14375 	YYDEBUG(946, *YYCURSOR);
14376 	yych = *++YYCURSOR;
14377 	if (yych == 'R') goto yy928;
14378 	if (yych == 'r') goto yy928;
14379 	goto yy55;
14380 yy947:
14381 	YYDEBUG(947, *YYCURSOR);
14382 	yych = *++YYCURSOR;
14383 	if (yych == 'G') goto yy951;
14384 	if (yych == 'g') goto yy951;
14385 	goto yy55;
14386 yy948:
14387 	YYDEBUG(948, *YYCURSOR);
14388 	yych = *++YYCURSOR;
14389 	if (yych == 'R') goto yy949;
14390 	if (yych != 'r') goto yy55;
14391 yy949:
14392 	YYDEBUG(949, *YYCURSOR);
14393 	yyaccept = 20;
14394 	yych = *(YYMARKER = ++YYCURSOR);
14395 	if (yych == 'I') goto yy950;
14396 	if (yych != 'i') goto yy838;
14397 yy950:
14398 	YYDEBUG(950, *YYCURSOR);
14399 	yych = *++YYCURSOR;
14400 	if (yych == 'L') goto yy928;
14401 	if (yych == 'l') goto yy928;
14402 	goto yy55;
14403 yy951:
14404 	YYDEBUG(951, *YYCURSOR);
14405 	yyaccept = 20;
14406 	yych = *(YYMARKER = ++YYCURSOR);
14407 	if (yych == 'U') goto yy952;
14408 	if (yych != 'u') goto yy838;
14409 yy952:
14410 	YYDEBUG(952, *YYCURSOR);
14411 	yych = *++YYCURSOR;
14412 	if (yych == 'S') goto yy953;
14413 	if (yych != 's') goto yy55;
14414 yy953:
14415 	YYDEBUG(953, *YYCURSOR);
14416 	yych = *++YYCURSOR;
14417 	if (yych == 'T') goto yy928;
14418 	if (yych == 't') goto yy928;
14419 	goto yy55;
14420 yy954:
14421 	YYDEBUG(954, *YYCURSOR);
14422 	yych = *++YYCURSOR;
14423 	if (yych <= 'Y') {
14424 		if (yych == 'R') goto yy955;
14425 		if (yych <= 'X') goto yy55;
14426 		goto yy928;
14427 	} else {
14428 		if (yych <= 'r') {
14429 			if (yych <= 'q') goto yy55;
14430 		} else {
14431 			if (yych == 'y') goto yy928;
14432 			goto yy55;
14433 		}
14434 	}
14435 yy955:
14436 	YYDEBUG(955, *YYCURSOR);
14437 	yyaccept = 20;
14438 	yych = *(YYMARKER = ++YYCURSOR);
14439 	if (yych == 'C') goto yy956;
14440 	if (yych != 'c') goto yy838;
14441 yy956:
14442 	YYDEBUG(956, *YYCURSOR);
14443 	yych = *++YYCURSOR;
14444 	if (yych == 'H') goto yy928;
14445 	if (yych == 'h') goto yy928;
14446 	goto yy55;
14447 yy957:
14448 	YYDEBUG(957, *YYCURSOR);
14449 	yych = *++YYCURSOR;
14450 	if (yych == 'B') goto yy958;
14451 	if (yych != 'b') goto yy55;
14452 yy958:
14453 	YYDEBUG(958, *YYCURSOR);
14454 	yyaccept = 20;
14455 	yych = *(YYMARKER = ++YYCURSOR);
14456 	if (yych == 'R') goto yy959;
14457 	if (yych != 'r') goto yy838;
14458 yy959:
14459 	YYDEBUG(959, *YYCURSOR);
14460 	yych = *++YYCURSOR;
14461 	if (yych == 'U') goto yy960;
14462 	if (yych != 'u') goto yy55;
14463 yy960:
14464 	YYDEBUG(960, *YYCURSOR);
14465 	yych = *++YYCURSOR;
14466 	if (yych == 'A') goto yy961;
14467 	if (yych != 'a') goto yy55;
14468 yy961:
14469 	YYDEBUG(961, *YYCURSOR);
14470 	yych = *++YYCURSOR;
14471 	if (yych == 'R') goto yy962;
14472 	if (yych != 'r') goto yy55;
14473 yy962:
14474 	YYDEBUG(962, *YYCURSOR);
14475 	yych = *++YYCURSOR;
14476 	if (yych == 'Y') goto yy928;
14477 	if (yych == 'y') goto yy928;
14478 	goto yy55;
14479 yy963:
14480 	YYDEBUG(963, *YYCURSOR);
14481 	yych = *++YYCURSOR;
14482 	if (yych <= 'N') {
14483 		if (yych == 'L') goto yy970;
14484 		if (yych <= 'M') goto yy55;
14485 		goto yy969;
14486 	} else {
14487 		if (yych <= 'l') {
14488 			if (yych <= 'k') goto yy55;
14489 			goto yy970;
14490 		} else {
14491 			if (yych == 'n') goto yy969;
14492 			goto yy55;
14493 		}
14494 	}
14495 yy964:
14496 	YYDEBUG(964, *YYCURSOR);
14497 	yych = *++YYCURSOR;
14498 	if (yych == 'N') goto yy965;
14499 	if (yych != 'n') goto yy55;
14500 yy965:
14501 	YYDEBUG(965, *YYCURSOR);
14502 	yyaccept = 20;
14503 	yych = *(YYMARKER = ++YYCURSOR);
14504 	if (yych == 'U') goto yy966;
14505 	if (yych != 'u') goto yy838;
14506 yy966:
14507 	YYDEBUG(966, *YYCURSOR);
14508 	yych = *++YYCURSOR;
14509 	if (yych == 'A') goto yy967;
14510 	if (yych != 'a') goto yy55;
14511 yy967:
14512 	YYDEBUG(967, *YYCURSOR);
14513 	yych = *++YYCURSOR;
14514 	if (yych == 'R') goto yy968;
14515 	if (yych != 'r') goto yy55;
14516 yy968:
14517 	YYDEBUG(968, *YYCURSOR);
14518 	yych = *++YYCURSOR;
14519 	if (yych == 'Y') goto yy928;
14520 	if (yych == 'y') goto yy928;
14521 	goto yy55;
14522 yy969:
14523 	YYDEBUG(969, *YYCURSOR);
14524 	yych = *++YYCURSOR;
14525 	if (yych == 'E') goto yy928;
14526 	if (yych == 'e') goto yy928;
14527 	goto yy838;
14528 yy970:
14529 	YYDEBUG(970, *YYCURSOR);
14530 	yych = *++YYCURSOR;
14531 	if (yych == 'Y') goto yy928;
14532 	if (yych == 'y') goto yy928;
14533 	goto yy838;
14534 yy971:
14535 	YYDEBUG(971, *YYCURSOR);
14536 	yych = *++YYCURSOR;
14537 	if (yych == 'I') goto yy928;
14538 	goto yy838;
14539 yy972:
14540 	YYDEBUG(972, *YYCURSOR);
14541 	yych = *++YYCURSOR;
14542 	if (yych != 'I') goto yy838;
14543 	YYDEBUG(973, *YYCURSOR);
14544 	yych = *++YYCURSOR;
14545 	if (yych == 'I') goto yy928;
14546 	goto yy838;
14547 yy974:
14548 	YYDEBUG(974, *YYCURSOR);
14549 	yych = *++YYCURSOR;
14550 	if (yych == 'I') goto yy928;
14551 	goto yy838;
14552 yy975:
14553 	YYDEBUG(975, *YYCURSOR);
14554 	yych = *++YYCURSOR;
14555 	if (yych <= '/') goto yy55;
14556 	if (yych <= '0') goto yy990;
14557 	if (yych <= '9') goto yy989;
14558 	goto yy55;
14559 yy976:
14560 	YYDEBUG(976, *YYCURSOR);
14561 	yych = *++YYCURSOR;
14562 	if (yych <= '/') goto yy55;
14563 	if (yych <= '9') goto yy988;
14564 	goto yy55;
14565 yy977:
14566 	YYDEBUG(977, *YYCURSOR);
14567 	yych = *++YYCURSOR;
14568 	if (yych <= '/') goto yy55;
14569 	if (yych <= '5') goto yy986;
14570 	if (yych <= '6') goto yy985;
14571 	goto yy55;
14572 yy978:
14573 	YYDEBUG(978, *YYCURSOR);
14574 	yych = *++YYCURSOR;
14575 	if (yych == 'E') goto yy957;
14576 	if (yych == 'e') goto yy957;
14577 	goto yy55;
14578 yy979:
14579 	YYDEBUG(979, *YYCURSOR);
14580 	yych = *++YYCURSOR;
14581 	if (yych == 'A') goto yy954;
14582 	if (yych == 'a') goto yy954;
14583 	goto yy55;
14584 yy980:
14585 	YYDEBUG(980, *YYCURSOR);
14586 	yych = *++YYCURSOR;
14587 	if (yych == 'E') goto yy984;
14588 	if (yych == 'e') goto yy984;
14589 	goto yy55;
14590 yy981:
14591 	YYDEBUG(981, *YYCURSOR);
14592 	yych = *++YYCURSOR;
14593 	if (yych == 'E') goto yy922;
14594 	if (yych == 'e') goto yy922;
14595 	goto yy55;
14596 yy982:
14597 	YYDEBUG(982, *YYCURSOR);
14598 	++YYCURSOR;
14599 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
14600 	yych = *YYCURSOR;
14601 yy983:
14602 	YYDEBUG(983, *YYCURSOR);
14603 	switch (yych) {
14604 	case '\t':
14605 	case ' ':
14606 	case '-':
14607 	case '.':	goto yy982;
14608 	case 'A':
14609 	case 'a':	goto yy844;
14610 	case 'D':
14611 	case 'd':	goto yy981;
14612 	case 'F':
14613 	case 'f':	goto yy978;
14614 	case 'I':	goto yy837;
14615 	case 'J':
14616 	case 'j':	goto yy841;
14617 	case 'M':
14618 	case 'm':	goto yy979;
14619 	case 'N':
14620 	case 'n':	goto yy847;
14621 	case 'O':
14622 	case 'o':	goto yy846;
14623 	case 'S':
14624 	case 's':	goto yy980;
14625 	case 'V':	goto yy839;
14626 	case 'X':	goto yy840;
14627 	default:	goto yy55;
14628 	}
14629 yy984:
14630 	YYDEBUG(984, *YYCURSOR);
14631 	yych = *++YYCURSOR;
14632 	if (yych == 'P') goto yy941;
14633 	if (yych == 'p') goto yy941;
14634 	goto yy55;
14635 yy985:
14636 	YYDEBUG(985, *YYCURSOR);
14637 	yych = *++YYCURSOR;
14638 	if (yych <= '/') goto yy55;
14639 	if (yych <= '6') goto yy987;
14640 	goto yy55;
14641 yy986:
14642 	YYDEBUG(986, *YYCURSOR);
14643 	yych = *++YYCURSOR;
14644 	if (yych <= '/') goto yy55;
14645 	if (yych >= ':') goto yy55;
14646 yy987:
14647 	YYDEBUG(987, *YYCURSOR);
14648 	yych = *++YYCURSOR;
14649 	goto yy866;
14650 yy988:
14651 	YYDEBUG(988, *YYCURSOR);
14652 	yych = *++YYCURSOR;
14653 	if (yych <= '/') goto yy55;
14654 	if (yych <= '9') goto yy987;
14655 	goto yy55;
14656 yy989:
14657 	YYDEBUG(989, *YYCURSOR);
14658 	yych = *++YYCURSOR;
14659 	if (yych <= '/') goto yy55;
14660 	if (yych <= '9') goto yy987;
14661 	goto yy55;
14662 yy990:
14663 	YYDEBUG(990, *YYCURSOR);
14664 	yych = *++YYCURSOR;
14665 	if (yych <= '0') goto yy55;
14666 	if (yych <= '9') goto yy987;
14667 	goto yy55;
14668 yy991:
14669 	YYDEBUG(991, *YYCURSOR);
14670 	yych = *++YYCURSOR;
14671 	if (yych <= '.') goto yy55;
14672 	if (yych <= '/') goto yy994;
14673 	if (yych <= '9') goto yy1002;
14674 	goto yy55;
14675 yy992:
14676 	YYDEBUG(992, *YYCURSOR);
14677 	yych = *++YYCURSOR;
14678 	if (yych <= '.') goto yy55;
14679 	if (yych <= '/') goto yy994;
14680 	if (yych <= '2') goto yy1002;
14681 	goto yy55;
14682 yy993:
14683 	YYDEBUG(993, *YYCURSOR);
14684 	yych = *++YYCURSOR;
14685 	if (yych != '/') goto yy55;
14686 yy994:
14687 	YYDEBUG(994, *YYCURSOR);
14688 	yych = *++YYCURSOR;
14689 	if (yych <= '/') goto yy55;
14690 	if (yych <= '2') goto yy995;
14691 	if (yych <= '3') goto yy996;
14692 	if (yych <= '9') goto yy997;
14693 	goto yy55;
14694 yy995:
14695 	YYDEBUG(995, *YYCURSOR);
14696 	yyaccept = 21;
14697 	yych = *(YYMARKER = ++YYCURSOR);
14698 	if (yych <= 'n') {
14699 		if (yych <= '/') goto yy461;
14700 		if (yych <= '9') goto yy997;
14701 		if (yych <= 'm') goto yy461;
14702 		goto yy999;
14703 	} else {
14704 		if (yych <= 'r') {
14705 			if (yych <= 'q') goto yy461;
14706 			goto yy1000;
14707 		} else {
14708 			if (yych <= 's') goto yy998;
14709 			if (yych <= 't') goto yy1001;
14710 			goto yy461;
14711 		}
14712 	}
14713 yy996:
14714 	YYDEBUG(996, *YYCURSOR);
14715 	yyaccept = 21;
14716 	yych = *(YYMARKER = ++YYCURSOR);
14717 	if (yych <= 'n') {
14718 		if (yych <= '/') goto yy461;
14719 		if (yych <= '1') goto yy997;
14720 		if (yych <= 'm') goto yy461;
14721 		goto yy999;
14722 	} else {
14723 		if (yych <= 'r') {
14724 			if (yych <= 'q') goto yy461;
14725 			goto yy1000;
14726 		} else {
14727 			if (yych <= 's') goto yy998;
14728 			if (yych <= 't') goto yy1001;
14729 			goto yy461;
14730 		}
14731 	}
14732 yy997:
14733 	YYDEBUG(997, *YYCURSOR);
14734 	yyaccept = 21;
14735 	yych = *(YYMARKER = ++YYCURSOR);
14736 	if (yych <= 'q') {
14737 		if (yych == 'n') goto yy999;
14738 		goto yy461;
14739 	} else {
14740 		if (yych <= 'r') goto yy1000;
14741 		if (yych <= 's') goto yy998;
14742 		if (yych <= 't') goto yy1001;
14743 		goto yy461;
14744 	}
14745 yy998:
14746 	YYDEBUG(998, *YYCURSOR);
14747 	yych = *++YYCURSOR;
14748 	if (yych == 't') goto yy460;
14749 	goto yy55;
14750 yy999:
14751 	YYDEBUG(999, *YYCURSOR);
14752 	yych = *++YYCURSOR;
14753 	if (yych == 'd') goto yy460;
14754 	goto yy55;
14755 yy1000:
14756 	YYDEBUG(1000, *YYCURSOR);
14757 	yych = *++YYCURSOR;
14758 	if (yych == 'd') goto yy460;
14759 	goto yy55;
14760 yy1001:
14761 	YYDEBUG(1001, *YYCURSOR);
14762 	yych = *++YYCURSOR;
14763 	if (yych == 'h') goto yy460;
14764 	goto yy55;
14765 yy1002:
14766 	YYDEBUG(1002, *YYCURSOR);
14767 	yych = *++YYCURSOR;
14768 	if (yych != '/') goto yy55;
14769 	YYDEBUG(1003, *YYCURSOR);
14770 	yych = *++YYCURSOR;
14771 	if (yych <= '2') {
14772 		if (yych <= '/') goto yy55;
14773 		if (yych >= '1') goto yy1005;
14774 	} else {
14775 		if (yych <= '3') goto yy1006;
14776 		if (yych <= '9') goto yy997;
14777 		goto yy55;
14778 	}
14779 	YYDEBUG(1004, *YYCURSOR);
14780 	yyaccept = 21;
14781 	yych = *(YYMARKER = ++YYCURSOR);
14782 	if (yych <= 'n') {
14783 		if (yych <= '/') goto yy461;
14784 		if (yych <= '9') goto yy1007;
14785 		if (yych <= 'm') goto yy461;
14786 		goto yy999;
14787 	} else {
14788 		if (yych <= 'r') {
14789 			if (yych <= 'q') goto yy461;
14790 			goto yy1000;
14791 		} else {
14792 			if (yych <= 's') goto yy998;
14793 			if (yych <= 't') goto yy1001;
14794 			goto yy461;
14795 		}
14796 	}
14797 yy1005:
14798 	YYDEBUG(1005, *YYCURSOR);
14799 	yyaccept = 21;
14800 	yych = *(YYMARKER = ++YYCURSOR);
14801 	if (yych <= 'n') {
14802 		if (yych <= '/') goto yy461;
14803 		if (yych <= '9') goto yy1007;
14804 		if (yych <= 'm') goto yy461;
14805 		goto yy999;
14806 	} else {
14807 		if (yych <= 'r') {
14808 			if (yych <= 'q') goto yy461;
14809 			goto yy1000;
14810 		} else {
14811 			if (yych <= 's') goto yy998;
14812 			if (yych <= 't') goto yy1001;
14813 			goto yy461;
14814 		}
14815 	}
14816 yy1006:
14817 	YYDEBUG(1006, *YYCURSOR);
14818 	yyaccept = 21;
14819 	yych = *(YYMARKER = ++YYCURSOR);
14820 	if (yych <= 'n') {
14821 		if (yych <= '/') goto yy461;
14822 		if (yych <= '1') goto yy1007;
14823 		if (yych <= 'm') goto yy461;
14824 		goto yy999;
14825 	} else {
14826 		if (yych <= 'r') {
14827 			if (yych <= 'q') goto yy461;
14828 			goto yy1000;
14829 		} else {
14830 			if (yych <= 's') goto yy998;
14831 			if (yych <= 't') goto yy1001;
14832 			goto yy461;
14833 		}
14834 	}
14835 yy1007:
14836 	YYDEBUG(1007, *YYCURSOR);
14837 	yyaccept = 21;
14838 	yych = *(YYMARKER = ++YYCURSOR);
14839 	if (yych <= 'n') {
14840 		if (yych == '/') goto yy460;
14841 		if (yych <= 'm') goto yy461;
14842 		goto yy999;
14843 	} else {
14844 		if (yych <= 'r') {
14845 			if (yych <= 'q') goto yy461;
14846 			goto yy1000;
14847 		} else {
14848 			if (yych <= 's') goto yy998;
14849 			if (yych <= 't') goto yy1001;
14850 			goto yy461;
14851 		}
14852 	}
14853 yy1008:
14854 	YYDEBUG(1008, *YYCURSOR);
14855 	yych = *++YYCURSOR;
14856 	if (yych <= 'U') {
14857 		if (yych == 'A') goto yy1103;
14858 		if (yych <= 'T') goto yy55;
14859 		goto yy1102;
14860 	} else {
14861 		if (yych <= 'a') {
14862 			if (yych <= '`') goto yy55;
14863 			goto yy1103;
14864 		} else {
14865 			if (yych == 'u') goto yy1102;
14866 			goto yy55;
14867 		}
14868 	}
14869 yy1009:
14870 	YYDEBUG(1009, *YYCURSOR);
14871 	yych = *++YYCURSOR;
14872 	if (yych == 'E') goto yy1100;
14873 	if (yych == 'e') goto yy1100;
14874 	goto yy55;
14875 yy1010:
14876 	YYDEBUG(1010, *YYCURSOR);
14877 	yych = *++YYCURSOR;
14878 	if (yych == 'A') goto yy1097;
14879 	if (yych == 'a') goto yy1097;
14880 	goto yy55;
14881 yy1011:
14882 	YYDEBUG(1011, *YYCURSOR);
14883 	yych = *++YYCURSOR;
14884 	if (yych <= 'U') {
14885 		if (yych == 'P') goto yy1094;
14886 		if (yych <= 'T') goto yy55;
14887 		goto yy1093;
14888 	} else {
14889 		if (yych <= 'p') {
14890 			if (yych <= 'o') goto yy55;
14891 			goto yy1094;
14892 		} else {
14893 			if (yych == 'u') goto yy1093;
14894 			goto yy55;
14895 		}
14896 	}
14897 yy1012:
14898 	YYDEBUG(1012, *YYCURSOR);
14899 	yych = *++YYCURSOR;
14900 	if (yych == 'E') goto yy1090;
14901 	if (yych == 'e') goto yy1090;
14902 	goto yy55;
14903 yy1013:
14904 	YYDEBUG(1013, *YYCURSOR);
14905 	yych = *++YYCURSOR;
14906 	if (yych == 'C') goto yy1088;
14907 	if (yych == 'c') goto yy1088;
14908 	goto yy55;
14909 yy1014:
14910 	YYDEBUG(1014, *YYCURSOR);
14911 	yych = *++YYCURSOR;
14912 	if (yych == 'O') goto yy1086;
14913 	if (yych == 'o') goto yy1086;
14914 	goto yy55;
14915 yy1015:
14916 	YYDEBUG(1015, *YYCURSOR);
14917 	yych = *++YYCURSOR;
14918 	if (yych == 'E') goto yy1084;
14919 	if (yych == 'e') goto yy1084;
14920 	goto yy55;
14921 yy1016:
14922 	YYDEBUG(1016, *YYCURSOR);
14923 	yych = *++YYCURSOR;
14924 	if (yych <= '/') goto yy55;
14925 	if (yych <= '0') goto yy855;
14926 	if (yych <= '4') goto yy856;
14927 	if (yych <= '5') goto yy857;
14928 	goto yy55;
14929 yy1017:
14930 	YYDEBUG(1017, *YYCURSOR);
14931 	yyaccept = 22;
14932 	yych = *(YYMARKER = ++YYCURSOR);
14933 	if (yych <= '/') {
14934 		if (yych == '-') goto yy1023;
14935 	} else {
14936 		if (yych <= '0') goto yy1082;
14937 		if (yych <= '9') goto yy1083;
14938 	}
14939 yy1018:
14940 	YYDEBUG(1018, *YYCURSOR);
14941 #line 1462 "ext/date/lib/parse_date.re"
14942 	{
14943 		int length = 0;
14944 		DEBUG_OUTPUT("gnudateshorter");
14945 		TIMELIB_INIT;
14946 		TIMELIB_HAVE_DATE();
14947 		s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
14948 		s->time->m = timelib_get_nr(&ptr, 2);
14949 		s->time->d = 1;
14950 		TIMELIB_PROCESS_YEAR(s->time->y, length);
14951 		TIMELIB_DEINIT;
14952 		return TIMELIB_ISO_DATE;
14953 	}
14954 #line 14955 "<stdout>"
14955 yy1019:
14956 	YYDEBUG(1019, *YYCURSOR);
14957 	yyaccept = 22;
14958 	yych = *(YYMARKER = ++YYCURSOR);
14959 	if (yych <= '/') {
14960 		if (yych == '-') goto yy1023;
14961 		goto yy1018;
14962 	} else {
14963 		if (yych <= '2') goto yy1042;
14964 		if (yych <= '9') goto yy988;
14965 		goto yy1018;
14966 	}
14967 yy1020:
14968 	YYDEBUG(1020, *YYCURSOR);
14969 	yyaccept = 22;
14970 	yych = *(YYMARKER = ++YYCURSOR);
14971 	if (yych == '-') goto yy1023;
14972 	if (yych <= '/') goto yy1018;
14973 	if (yych <= '9') goto yy988;
14974 	goto yy1018;
14975 yy1021:
14976 	YYDEBUG(1021, *YYCURSOR);
14977 	yyaccept = 22;
14978 	yych = *(YYMARKER = ++YYCURSOR);
14979 	if (yych <= '/') {
14980 		if (yych == '-') goto yy1023;
14981 		goto yy1018;
14982 	} else {
14983 		if (yych <= '5') goto yy986;
14984 		if (yych <= '6') goto yy985;
14985 		goto yy1018;
14986 	}
14987 yy1022:
14988 	YYDEBUG(1022, *YYCURSOR);
14989 	yyaccept = 22;
14990 	yych = *(YYMARKER = ++YYCURSOR);
14991 	if (yych != '-') goto yy1018;
14992 yy1023:
14993 	YYDEBUG(1023, *YYCURSOR);
14994 	yych = *++YYCURSOR;
14995 	if (yych <= '/') goto yy55;
14996 	if (yych <= '2') goto yy1024;
14997 	if (yych <= '3') goto yy1025;
14998 	if (yych <= '9') goto yy1026;
14999 	goto yy55;
15000 yy1024:
15001 	YYDEBUG(1024, *YYCURSOR);
15002 	yyaccept = 12;
15003 	yych = *(YYMARKER = ++YYCURSOR);
15004 	if (yych <= 'm') {
15005 		if (yych <= '9') {
15006 			if (yych <= '/') goto yy690;
15007 			goto yy1026;
15008 		} else {
15009 			if (yych == 'T') goto yy1031;
15010 			goto yy690;
15011 		}
15012 	} else {
15013 		if (yych <= 'r') {
15014 			if (yych <= 'n') goto yy1028;
15015 			if (yych <= 'q') goto yy690;
15016 			goto yy1029;
15017 		} else {
15018 			if (yych <= 's') goto yy1027;
15019 			if (yych <= 't') goto yy1030;
15020 			goto yy690;
15021 		}
15022 	}
15023 yy1025:
15024 	YYDEBUG(1025, *YYCURSOR);
15025 	yyaccept = 12;
15026 	yych = *(YYMARKER = ++YYCURSOR);
15027 	if (yych <= 'm') {
15028 		if (yych <= '1') {
15029 			if (yych <= '/') goto yy690;
15030 		} else {
15031 			if (yych == 'T') goto yy1031;
15032 			goto yy690;
15033 		}
15034 	} else {
15035 		if (yych <= 'r') {
15036 			if (yych <= 'n') goto yy1028;
15037 			if (yych <= 'q') goto yy690;
15038 			goto yy1029;
15039 		} else {
15040 			if (yych <= 's') goto yy1027;
15041 			if (yych <= 't') goto yy1030;
15042 			goto yy690;
15043 		}
15044 	}
15045 yy1026:
15046 	YYDEBUG(1026, *YYCURSOR);
15047 	yyaccept = 12;
15048 	yych = *(YYMARKER = ++YYCURSOR);
15049 	if (yych <= 'n') {
15050 		if (yych == 'T') goto yy1031;
15051 		if (yych <= 'm') goto yy690;
15052 		goto yy1028;
15053 	} else {
15054 		if (yych <= 'r') {
15055 			if (yych <= 'q') goto yy690;
15056 			goto yy1029;
15057 		} else {
15058 			if (yych <= 's') goto yy1027;
15059 			if (yych <= 't') goto yy1030;
15060 			goto yy690;
15061 		}
15062 	}
15063 yy1027:
15064 	YYDEBUG(1027, *YYCURSOR);
15065 	yych = *++YYCURSOR;
15066 	if (yych == 't') goto yy1041;
15067 	goto yy55;
15068 yy1028:
15069 	YYDEBUG(1028, *YYCURSOR);
15070 	yych = *++YYCURSOR;
15071 	if (yych == 'd') goto yy1041;
15072 	goto yy55;
15073 yy1029:
15074 	YYDEBUG(1029, *YYCURSOR);
15075 	yych = *++YYCURSOR;
15076 	if (yych == 'd') goto yy1041;
15077 	goto yy55;
15078 yy1030:
15079 	YYDEBUG(1030, *YYCURSOR);
15080 	yych = *++YYCURSOR;
15081 	if (yych == 'h') goto yy1041;
15082 	goto yy55;
15083 yy1031:
15084 	YYDEBUG(1031, *YYCURSOR);
15085 	yych = *++YYCURSOR;
15086 	if (yych <= '/') goto yy55;
15087 	if (yych <= '1') goto yy1032;
15088 	if (yych <= '2') goto yy1033;
15089 	if (yych <= '9') goto yy1034;
15090 	goto yy55;
15091 yy1032:
15092 	YYDEBUG(1032, *YYCURSOR);
15093 	yych = *++YYCURSOR;
15094 	if (yych <= '/') goto yy55;
15095 	if (yych <= '9') goto yy1034;
15096 	if (yych <= ':') goto yy1035;
15097 	goto yy55;
15098 yy1033:
15099 	YYDEBUG(1033, *YYCURSOR);
15100 	yych = *++YYCURSOR;
15101 	if (yych <= '/') goto yy55;
15102 	if (yych <= '4') goto yy1034;
15103 	if (yych == ':') goto yy1035;
15104 	goto yy55;
15105 yy1034:
15106 	YYDEBUG(1034, *YYCURSOR);
15107 	yych = *++YYCURSOR;
15108 	if (yych != ':') goto yy55;
15109 yy1035:
15110 	YYDEBUG(1035, *YYCURSOR);
15111 	yych = *++YYCURSOR;
15112 	if (yych <= '/') goto yy55;
15113 	if (yych <= '5') goto yy1036;
15114 	if (yych <= '9') goto yy1037;
15115 	goto yy55;
15116 yy1036:
15117 	YYDEBUG(1036, *YYCURSOR);
15118 	yych = *++YYCURSOR;
15119 	if (yych <= '/') goto yy55;
15120 	if (yych <= '9') goto yy1037;
15121 	if (yych <= ':') goto yy1038;
15122 	goto yy55;
15123 yy1037:
15124 	YYDEBUG(1037, *YYCURSOR);
15125 	yych = *++YYCURSOR;
15126 	if (yych != ':') goto yy55;
15127 yy1038:
15128 	YYDEBUG(1038, *YYCURSOR);
15129 	yych = *++YYCURSOR;
15130 	if (yych <= '/') goto yy55;
15131 	if (yych <= '5') goto yy1039;
15132 	if (yych <= '6') goto yy1040;
15133 	if (yych <= '9') goto yy886;
15134 	goto yy55;
15135 yy1039:
15136 	YYDEBUG(1039, *YYCURSOR);
15137 	yych = *++YYCURSOR;
15138 	if (yych <= '/') goto yy887;
15139 	if (yych <= '9') goto yy886;
15140 	goto yy887;
15141 yy1040:
15142 	YYDEBUG(1040, *YYCURSOR);
15143 	yych = *++YYCURSOR;
15144 	if (yych == '0') goto yy886;
15145 	goto yy887;
15146 yy1041:
15147 	YYDEBUG(1041, *YYCURSOR);
15148 	yyaccept = 12;
15149 	yych = *(YYMARKER = ++YYCURSOR);
15150 	if (yych == 'T') goto yy1031;
15151 	goto yy690;
15152 yy1042:
15153 	YYDEBUG(1042, *YYCURSOR);
15154 	yyaccept = 22;
15155 	yych = *(YYMARKER = ++YYCURSOR);
15156 	if (yych == '-') goto yy1043;
15157 	if (yych <= '/') goto yy1018;
15158 	if (yych <= '9') goto yy987;
15159 	goto yy1018;
15160 yy1043:
15161 	YYDEBUG(1043, *YYCURSOR);
15162 	yych = *++YYCURSOR;
15163 	if (yych <= '2') {
15164 		if (yych <= '/') goto yy55;
15165 		if (yych >= '1') goto yy1045;
15166 	} else {
15167 		if (yych <= '3') goto yy1046;
15168 		if (yych <= '9') goto yy1026;
15169 		goto yy55;
15170 	}
15171 	YYDEBUG(1044, *YYCURSOR);
15172 	yyaccept = 12;
15173 	yych = *(YYMARKER = ++YYCURSOR);
15174 	if (yych <= 'm') {
15175 		if (yych <= '9') {
15176 			if (yych <= '/') goto yy690;
15177 			goto yy1047;
15178 		} else {
15179 			if (yych == 'T') goto yy1031;
15180 			goto yy690;
15181 		}
15182 	} else {
15183 		if (yych <= 'r') {
15184 			if (yych <= 'n') goto yy1028;
15185 			if (yych <= 'q') goto yy690;
15186 			goto yy1029;
15187 		} else {
15188 			if (yych <= 's') goto yy1027;
15189 			if (yych <= 't') goto yy1030;
15190 			goto yy690;
15191 		}
15192 	}
15193 yy1045:
15194 	YYDEBUG(1045, *YYCURSOR);
15195 	yyaccept = 12;
15196 	yych = *(YYMARKER = ++YYCURSOR);
15197 	if (yych <= 'm') {
15198 		if (yych <= '9') {
15199 			if (yych <= '/') goto yy690;
15200 			goto yy1047;
15201 		} else {
15202 			if (yych == 'T') goto yy1031;
15203 			goto yy690;
15204 		}
15205 	} else {
15206 		if (yych <= 'r') {
15207 			if (yych <= 'n') goto yy1028;
15208 			if (yych <= 'q') goto yy690;
15209 			goto yy1029;
15210 		} else {
15211 			if (yych <= 's') goto yy1027;
15212 			if (yych <= 't') goto yy1030;
15213 			goto yy690;
15214 		}
15215 	}
15216 yy1046:
15217 	YYDEBUG(1046, *YYCURSOR);
15218 	yyaccept = 12;
15219 	yych = *(YYMARKER = ++YYCURSOR);
15220 	if (yych <= 'm') {
15221 		if (yych <= '1') {
15222 			if (yych <= '/') goto yy690;
15223 		} else {
15224 			if (yych == 'T') goto yy1031;
15225 			goto yy690;
15226 		}
15227 	} else {
15228 		if (yych <= 'r') {
15229 			if (yych <= 'n') goto yy1028;
15230 			if (yych <= 'q') goto yy690;
15231 			goto yy1029;
15232 		} else {
15233 			if (yych <= 's') goto yy1027;
15234 			if (yych <= 't') goto yy1030;
15235 			goto yy690;
15236 		}
15237 	}
15238 yy1047:
15239 	YYDEBUG(1047, *YYCURSOR);
15240 	yyaccept = 21;
15241 	yych = *(YYMARKER = ++YYCURSOR);
15242 	if (yych <= 'n') {
15243 		if (yych == 'T') goto yy1048;
15244 		if (yych <= 'm') goto yy461;
15245 		goto yy1028;
15246 	} else {
15247 		if (yych <= 'r') {
15248 			if (yych <= 'q') goto yy461;
15249 			goto yy1029;
15250 		} else {
15251 			if (yych <= 's') goto yy1027;
15252 			if (yych <= 't') goto yy1030;
15253 			goto yy461;
15254 		}
15255 	}
15256 yy1048:
15257 	YYDEBUG(1048, *YYCURSOR);
15258 	yych = *++YYCURSOR;
15259 	if (yych <= '/') goto yy55;
15260 	if (yych <= '1') goto yy1049;
15261 	if (yych <= '2') goto yy1050;
15262 	if (yych <= '9') goto yy1034;
15263 	goto yy55;
15264 yy1049:
15265 	YYDEBUG(1049, *YYCURSOR);
15266 	yych = *++YYCURSOR;
15267 	if (yych <= '/') goto yy55;
15268 	if (yych <= '9') goto yy1051;
15269 	if (yych <= ':') goto yy1035;
15270 	goto yy55;
15271 yy1050:
15272 	YYDEBUG(1050, *YYCURSOR);
15273 	yych = *++YYCURSOR;
15274 	if (yych <= '/') goto yy55;
15275 	if (yych <= '4') goto yy1051;
15276 	if (yych == ':') goto yy1035;
15277 	goto yy55;
15278 yy1051:
15279 	YYDEBUG(1051, *YYCURSOR);
15280 	yych = *++YYCURSOR;
15281 	if (yych != ':') goto yy55;
15282 	YYDEBUG(1052, *YYCURSOR);
15283 	yych = *++YYCURSOR;
15284 	if (yych <= '/') goto yy55;
15285 	if (yych <= '5') goto yy1053;
15286 	if (yych <= '9') goto yy1037;
15287 	goto yy55;
15288 yy1053:
15289 	YYDEBUG(1053, *YYCURSOR);
15290 	yych = *++YYCURSOR;
15291 	if (yych <= '/') goto yy55;
15292 	if (yych <= '9') goto yy1054;
15293 	if (yych <= ':') goto yy1038;
15294 	goto yy55;
15295 yy1054:
15296 	YYDEBUG(1054, *YYCURSOR);
15297 	yych = *++YYCURSOR;
15298 	if (yych != ':') goto yy55;
15299 	YYDEBUG(1055, *YYCURSOR);
15300 	yych = *++YYCURSOR;
15301 	if (yych <= '/') goto yy55;
15302 	if (yych <= '5') goto yy1056;
15303 	if (yych <= '6') goto yy1057;
15304 	if (yych <= '9') goto yy886;
15305 	goto yy55;
15306 yy1056:
15307 	YYDEBUG(1056, *YYCURSOR);
15308 	yych = *++YYCURSOR;
15309 	if (yych <= '/') goto yy887;
15310 	if (yych <= '9') goto yy1058;
15311 	goto yy887;
15312 yy1057:
15313 	YYDEBUG(1057, *YYCURSOR);
15314 	yych = *++YYCURSOR;
15315 	if (yych != '0') goto yy887;
15316 yy1058:
15317 	YYDEBUG(1058, *YYCURSOR);
15318 	yyaccept = 23;
15319 	yych = *(YYMARKER = ++YYCURSOR);
15320 	if (yych != '.') goto yy887;
15321 	YYDEBUG(1059, *YYCURSOR);
15322 	yych = *++YYCURSOR;
15323 	if (yych <= '/') goto yy55;
15324 	if (yych >= ':') goto yy55;
15325 yy1060:
15326 	YYDEBUG(1060, *YYCURSOR);
15327 	yyaccept = 23;
15328 	YYMARKER = ++YYCURSOR;
15329 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
15330 	yych = *YYCURSOR;
15331 	YYDEBUG(1061, *YYCURSOR);
15332 	if (yych <= '-') {
15333 		if (yych == '+') goto yy1063;
15334 		if (yych <= ',') goto yy887;
15335 		goto yy1063;
15336 	} else {
15337 		if (yych <= '9') {
15338 			if (yych <= '/') goto yy887;
15339 			goto yy1060;
15340 		} else {
15341 			if (yych != 'G') goto yy887;
15342 		}
15343 	}
15344 	YYDEBUG(1062, *YYCURSOR);
15345 	yych = *++YYCURSOR;
15346 	if (yych == 'M') goto yy1080;
15347 	goto yy55;
15348 yy1063:
15349 	YYDEBUG(1063, *YYCURSOR);
15350 	yych = *++YYCURSOR;
15351 	if (yych <= '/') goto yy55;
15352 	if (yych <= '1') goto yy1064;
15353 	if (yych <= '2') goto yy1065;
15354 	if (yych <= '9') goto yy1066;
15355 	goto yy55;
15356 yy1064:
15357 	YYDEBUG(1064, *YYCURSOR);
15358 	yyaccept = 23;
15359 	yych = *(YYMARKER = ++YYCURSOR);
15360 	if (yych <= '/') goto yy887;
15361 	if (yych <= '9') goto yy1069;
15362 	if (yych <= ':') goto yy1067;
15363 	goto yy887;
15364 yy1065:
15365 	YYDEBUG(1065, *YYCURSOR);
15366 	yyaccept = 23;
15367 	yych = *(YYMARKER = ++YYCURSOR);
15368 	if (yych <= '5') {
15369 		if (yych <= '/') goto yy887;
15370 		if (yych <= '4') goto yy1069;
15371 		goto yy1068;
15372 	} else {
15373 		if (yych <= '9') goto yy886;
15374 		if (yych <= ':') goto yy1067;
15375 		goto yy887;
15376 	}
15377 yy1066:
15378 	YYDEBUG(1066, *YYCURSOR);
15379 	yyaccept = 23;
15380 	yych = *(YYMARKER = ++YYCURSOR);
15381 	if (yych <= '/') goto yy887;
15382 	if (yych <= '5') goto yy1068;
15383 	if (yych <= '9') goto yy886;
15384 	if (yych >= ';') goto yy887;
15385 yy1067:
15386 	YYDEBUG(1067, *YYCURSOR);
15387 	yych = *++YYCURSOR;
15388 	if (yych <= '/') goto yy55;
15389 	if (yych <= '5') goto yy1068;
15390 	if (yych <= '9') goto yy886;
15391 	goto yy55;
15392 yy1068:
15393 	YYDEBUG(1068, *YYCURSOR);
15394 	yych = *++YYCURSOR;
15395 	if (yych <= '/') goto yy887;
15396 	if (yych <= '9') goto yy886;
15397 	goto yy887;
15398 yy1069:
15399 	YYDEBUG(1069, *YYCURSOR);
15400 	yyaccept = 23;
15401 	yych = *(YYMARKER = ++YYCURSOR);
15402 	if (yych <= '/') goto yy887;
15403 	if (yych <= '5') goto yy1070;
15404 	if (yych <= '9') goto yy886;
15405 	if (yych <= ':') goto yy1071;
15406 	goto yy887;
15407 yy1070:
15408 	YYDEBUG(1070, *YYCURSOR);
15409 	yych = *++YYCURSOR;
15410 	if (yych <= '/') goto yy887;
15411 	if (yych <= '9') goto yy1077;
15412 	goto yy887;
15413 yy1071:
15414 	YYDEBUG(1071, *YYCURSOR);
15415 	yych = *++YYCURSOR;
15416 	if (yych <= '/') goto yy55;
15417 	if (yych <= '5') goto yy1072;
15418 	if (yych <= '9') goto yy886;
15419 	goto yy55;
15420 yy1072:
15421 	YYDEBUG(1072, *YYCURSOR);
15422 	yych = *++YYCURSOR;
15423 	if (yych <= '/') goto yy887;
15424 	if (yych >= ':') goto yy887;
15425 	YYDEBUG(1073, *YYCURSOR);
15426 	yyaccept = 23;
15427 	yych = *(YYMARKER = ++YYCURSOR);
15428 	if (yych != ':') goto yy887;
15429 	YYDEBUG(1074, *YYCURSOR);
15430 	yych = *++YYCURSOR;
15431 	if (yych <= '/') goto yy55;
15432 	if (yych <= '5') goto yy1075;
15433 	if (yych <= '6') goto yy1076;
15434 	goto yy55;
15435 yy1075:
15436 	YYDEBUG(1075, *YYCURSOR);
15437 	yych = *++YYCURSOR;
15438 	if (yych <= '/') goto yy55;
15439 	if (yych <= '9') goto yy886;
15440 	goto yy55;
15441 yy1076:
15442 	YYDEBUG(1076, *YYCURSOR);
15443 	yych = *++YYCURSOR;
15444 	if (yych == '0') goto yy886;
15445 	goto yy55;
15446 yy1077:
15447 	YYDEBUG(1077, *YYCURSOR);
15448 	yyaccept = 23;
15449 	yych = *(YYMARKER = ++YYCURSOR);
15450 	if (yych <= '/') goto yy887;
15451 	if (yych <= '5') goto yy1078;
15452 	if (yych <= '6') goto yy1079;
15453 	goto yy887;
15454 yy1078:
15455 	YYDEBUG(1078, *YYCURSOR);
15456 	yych = *++YYCURSOR;
15457 	if (yych <= '/') goto yy55;
15458 	if (yych <= '9') goto yy886;
15459 	goto yy55;
15460 yy1079:
15461 	YYDEBUG(1079, *YYCURSOR);
15462 	yych = *++YYCURSOR;
15463 	if (yych == '0') goto yy886;
15464 	goto yy55;
15465 yy1080:
15466 	YYDEBUG(1080, *YYCURSOR);
15467 	yych = *++YYCURSOR;
15468 	if (yych != 'T') goto yy55;
15469 	YYDEBUG(1081, *YYCURSOR);
15470 	yych = *++YYCURSOR;
15471 	if (yych == '+') goto yy1063;
15472 	if (yych == '-') goto yy1063;
15473 	goto yy55;
15474 yy1082:
15475 	YYDEBUG(1082, *YYCURSOR);
15476 	yyaccept = 22;
15477 	yych = *(YYMARKER = ++YYCURSOR);
15478 	if (yych == '-') goto yy1043;
15479 	if (yych <= '0') goto yy1018;
15480 	if (yych <= '9') goto yy987;
15481 	goto yy1018;
15482 yy1083:
15483 	YYDEBUG(1083, *YYCURSOR);
15484 	yyaccept = 22;
15485 	yych = *(YYMARKER = ++YYCURSOR);
15486 	if (yych == '-') goto yy1043;
15487 	if (yych <= '/') goto yy1018;
15488 	if (yych <= '9') goto yy987;
15489 	goto yy1018;
15490 yy1084:
15491 	YYDEBUG(1084, *YYCURSOR);
15492 	yych = *++YYCURSOR;
15493 	if (yych == 'C') goto yy1085;
15494 	if (yych != 'c') goto yy55;
15495 yy1085:
15496 	YYDEBUG(1085, *YYCURSOR);
15497 	yyaccept = 20;
15498 	yych = *(YYMARKER = ++YYCURSOR);
15499 	if (yych <= 'D') {
15500 		if (yych == '-') goto yy811;
15501 		goto yy838;
15502 	} else {
15503 		if (yych <= 'E') goto yy924;
15504 		if (yych == 'e') goto yy924;
15505 		goto yy838;
15506 	}
15507 yy1086:
15508 	YYDEBUG(1086, *YYCURSOR);
15509 	yych = *++YYCURSOR;
15510 	if (yych == 'V') goto yy1087;
15511 	if (yych != 'v') goto yy55;
15512 yy1087:
15513 	YYDEBUG(1087, *YYCURSOR);
15514 	yyaccept = 20;
15515 	yych = *(YYMARKER = ++YYCURSOR);
15516 	if (yych <= 'D') {
15517 		if (yych == '-') goto yy811;
15518 		goto yy838;
15519 	} else {
15520 		if (yych <= 'E') goto yy931;
15521 		if (yych == 'e') goto yy931;
15522 		goto yy838;
15523 	}
15524 yy1088:
15525 	YYDEBUG(1088, *YYCURSOR);
15526 	yych = *++YYCURSOR;
15527 	if (yych == 'T') goto yy1089;
15528 	if (yych != 't') goto yy55;
15529 yy1089:
15530 	YYDEBUG(1089, *YYCURSOR);
15531 	yyaccept = 20;
15532 	yych = *(YYMARKER = ++YYCURSOR);
15533 	if (yych <= 'N') {
15534 		if (yych == '-') goto yy811;
15535 		goto yy838;
15536 	} else {
15537 		if (yych <= 'O') goto yy937;
15538 		if (yych == 'o') goto yy937;
15539 		goto yy838;
15540 	}
15541 yy1090:
15542 	YYDEBUG(1090, *YYCURSOR);
15543 	yych = *++YYCURSOR;
15544 	if (yych == 'P') goto yy1091;
15545 	if (yych != 'p') goto yy55;
15546 yy1091:
15547 	YYDEBUG(1091, *YYCURSOR);
15548 	yyaccept = 20;
15549 	yych = *(YYMARKER = ++YYCURSOR);
15550 	if (yych <= 'S') {
15551 		if (yych == '-') goto yy811;
15552 		goto yy838;
15553 	} else {
15554 		if (yych <= 'T') goto yy1092;
15555 		if (yych != 't') goto yy838;
15556 	}
15557 yy1092:
15558 	YYDEBUG(1092, *YYCURSOR);
15559 	yyaccept = 20;
15560 	yych = *(YYMARKER = ++YYCURSOR);
15561 	if (yych <= 'D') {
15562 		if (yych == '-') goto yy811;
15563 		goto yy838;
15564 	} else {
15565 		if (yych <= 'E') goto yy943;
15566 		if (yych == 'e') goto yy943;
15567 		goto yy838;
15568 	}
15569 yy1093:
15570 	YYDEBUG(1093, *YYCURSOR);
15571 	yych = *++YYCURSOR;
15572 	if (yych == 'G') goto yy1096;
15573 	if (yych == 'g') goto yy1096;
15574 	goto yy55;
15575 yy1094:
15576 	YYDEBUG(1094, *YYCURSOR);
15577 	yych = *++YYCURSOR;
15578 	if (yych == 'R') goto yy1095;
15579 	if (yych != 'r') goto yy55;
15580 yy1095:
15581 	YYDEBUG(1095, *YYCURSOR);
15582 	yyaccept = 20;
15583 	yych = *(YYMARKER = ++YYCURSOR);
15584 	if (yych <= 'H') {
15585 		if (yych == '-') goto yy811;
15586 		goto yy838;
15587 	} else {
15588 		if (yych <= 'I') goto yy950;
15589 		if (yych == 'i') goto yy950;
15590 		goto yy838;
15591 	}
15592 yy1096:
15593 	YYDEBUG(1096, *YYCURSOR);
15594 	yyaccept = 20;
15595 	yych = *(YYMARKER = ++YYCURSOR);
15596 	if (yych <= 'T') {
15597 		if (yych == '-') goto yy811;
15598 		goto yy838;
15599 	} else {
15600 		if (yych <= 'U') goto yy952;
15601 		if (yych == 'u') goto yy952;
15602 		goto yy838;
15603 	}
15604 yy1097:
15605 	YYDEBUG(1097, *YYCURSOR);
15606 	yych = *++YYCURSOR;
15607 	if (yych <= 'Y') {
15608 		if (yych == 'R') goto yy1098;
15609 		if (yych <= 'X') goto yy55;
15610 		goto yy1099;
15611 	} else {
15612 		if (yych <= 'r') {
15613 			if (yych <= 'q') goto yy55;
15614 		} else {
15615 			if (yych == 'y') goto yy1099;
15616 			goto yy55;
15617 		}
15618 	}
15619 yy1098:
15620 	YYDEBUG(1098, *YYCURSOR);
15621 	yyaccept = 20;
15622 	yych = *(YYMARKER = ++YYCURSOR);
15623 	if (yych <= 'B') {
15624 		if (yych == '-') goto yy811;
15625 		goto yy838;
15626 	} else {
15627 		if (yych <= 'C') goto yy956;
15628 		if (yych == 'c') goto yy956;
15629 		goto yy838;
15630 	}
15631 yy1099:
15632 	YYDEBUG(1099, *YYCURSOR);
15633 	yyaccept = 20;
15634 	yych = *(YYMARKER = ++YYCURSOR);
15635 	if (yych == '-') goto yy811;
15636 	goto yy838;
15637 yy1100:
15638 	YYDEBUG(1100, *YYCURSOR);
15639 	yych = *++YYCURSOR;
15640 	if (yych == 'B') goto yy1101;
15641 	if (yych != 'b') goto yy55;
15642 yy1101:
15643 	YYDEBUG(1101, *YYCURSOR);
15644 	yyaccept = 20;
15645 	yych = *(YYMARKER = ++YYCURSOR);
15646 	if (yych <= 'Q') {
15647 		if (yych == '-') goto yy811;
15648 		goto yy838;
15649 	} else {
15650 		if (yych <= 'R') goto yy959;
15651 		if (yych == 'r') goto yy959;
15652 		goto yy838;
15653 	}
15654 yy1102:
15655 	YYDEBUG(1102, *YYCURSOR);
15656 	yych = *++YYCURSOR;
15657 	if (yych <= 'N') {
15658 		if (yych == 'L') goto yy1106;
15659 		if (yych <= 'M') goto yy55;
15660 		goto yy1105;
15661 	} else {
15662 		if (yych <= 'l') {
15663 			if (yych <= 'k') goto yy55;
15664 			goto yy1106;
15665 		} else {
15666 			if (yych == 'n') goto yy1105;
15667 			goto yy55;
15668 		}
15669 	}
15670 yy1103:
15671 	YYDEBUG(1103, *YYCURSOR);
15672 	yych = *++YYCURSOR;
15673 	if (yych == 'N') goto yy1104;
15674 	if (yych != 'n') goto yy55;
15675 yy1104:
15676 	YYDEBUG(1104, *YYCURSOR);
15677 	yyaccept = 20;
15678 	yych = *(YYMARKER = ++YYCURSOR);
15679 	if (yych <= 'T') {
15680 		if (yych == '-') goto yy811;
15681 		goto yy838;
15682 	} else {
15683 		if (yych <= 'U') goto yy966;
15684 		if (yych == 'u') goto yy966;
15685 		goto yy838;
15686 	}
15687 yy1105:
15688 	YYDEBUG(1105, *YYCURSOR);
15689 	yyaccept = 20;
15690 	yych = *(YYMARKER = ++YYCURSOR);
15691 	if (yych <= 'D') {
15692 		if (yych == '-') goto yy811;
15693 		goto yy838;
15694 	} else {
15695 		if (yych <= 'E') goto yy928;
15696 		if (yych == 'e') goto yy928;
15697 		goto yy838;
15698 	}
15699 yy1106:
15700 	YYDEBUG(1106, *YYCURSOR);
15701 	yyaccept = 20;
15702 	yych = *(YYMARKER = ++YYCURSOR);
15703 	if (yych <= 'X') {
15704 		if (yych == '-') goto yy811;
15705 		goto yy838;
15706 	} else {
15707 		if (yych <= 'Y') goto yy928;
15708 		if (yych == 'y') goto yy928;
15709 		goto yy838;
15710 	}
15711 yy1107:
15712 	YYDEBUG(1107, *YYCURSOR);
15713 	yych = *++YYCURSOR;
15714 	if (yych <= '.') {
15715 		if (yych <= '\t') {
15716 			if (yych <= 0x08) goto yy611;
15717 			goto yy775;
15718 		} else {
15719 			if (yych <= ',') goto yy611;
15720 			if (yych <= '-') goto yy776;
15721 			goto yy775;
15722 		}
15723 	} else {
15724 		if (yych <= 'U') {
15725 			if (yych <= '/') goto yy774;
15726 			if (yych <= 'T') goto yy611;
15727 			goto yy90;
15728 		} else {
15729 			if (yych == 'u') goto yy90;
15730 			goto yy611;
15731 		}
15732 	}
15733 yy1108:
15734 	YYDEBUG(1108, *YYCURSOR);
15735 	yych = *++YYCURSOR;
15736 	if (yych <= 'P') {
15737 		if (yych == 'C') goto yy135;
15738 		if (yych <= 'O') goto yy55;
15739 		goto yy619;
15740 	} else {
15741 		if (yych <= 'c') {
15742 			if (yych <= 'b') goto yy55;
15743 			goto yy135;
15744 		} else {
15745 			if (yych == 'p') goto yy619;
15746 			goto yy55;
15747 		}
15748 	}
15749 yy1109:
15750 	YYDEBUG(1109, *YYCURSOR);
15751 	yych = *++YYCURSOR;
15752 	if (yych <= '9') {
15753 		if (yych <= ',') {
15754 			if (yych == '\t') goto yy1111;
15755 			goto yy1113;
15756 		} else {
15757 			if (yych <= '-') goto yy1110;
15758 			if (yych <= '.') goto yy775;
15759 			if (yych <= '/') goto yy774;
15760 			goto yy785;
15761 		}
15762 	} else {
15763 		if (yych <= 'q') {
15764 			if (yych == 'n') goto yy503;
15765 			goto yy1113;
15766 		} else {
15767 			if (yych <= 'r') goto yy504;
15768 			if (yych <= 's') goto yy498;
15769 			if (yych <= 't') goto yy501;
15770 			goto yy1113;
15771 		}
15772 	}
15773 yy1110:
15774 	YYDEBUG(1110, *YYCURSOR);
15775 	yych = *++YYCURSOR;
15776 	switch (yych) {
15777 	case '0':	goto yy1114;
15778 	case '1':	goto yy1115;
15779 	case '2':
15780 	case '3':
15781 	case '4':
15782 	case '5':
15783 	case '6':
15784 	case '7':
15785 	case '8':
15786 	case '9':	goto yy651;
15787 	case 'A':
15788 	case 'a':	goto yy655;
15789 	case 'D':
15790 	case 'd':	goto yy659;
15791 	case 'F':
15792 	case 'f':	goto yy653;
15793 	case 'J':
15794 	case 'j':	goto yy652;
15795 	case 'M':
15796 	case 'm':	goto yy654;
15797 	case 'N':
15798 	case 'n':	goto yy658;
15799 	case 'O':
15800 	case 'o':	goto yy657;
15801 	case 'S':
15802 	case 's':	goto yy656;
15803 	default:	goto yy611;
15804 	}
15805 yy1111:
15806 	YYDEBUG(1111, *YYCURSOR);
15807 	yych = *++YYCURSOR;
15808 	if (yych <= '/') goto yy1113;
15809 	if (yych <= '0') goto yy780;
15810 	if (yych <= '1') goto yy781;
15811 	if (yych <= '9') goto yy782;
15812 	goto yy1113;
15813 yy1112:
15814 	YYDEBUG(1112, *YYCURSOR);
15815 	++YYCURSOR;
15816 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
15817 	yych = *YYCURSOR;
15818 yy1113:
15819 	YYDEBUG(1113, *YYCURSOR);
15820 	if (yych <= 'W') {
15821 		if (yych <= 'G') {
15822 			if (yych <= '.') {
15823 				if (yych <= 0x1F) {
15824 					if (yych == '\t') goto yy1112;
15825 					goto yy55;
15826 				} else {
15827 					if (yych <= ' ') goto yy1112;
15828 					if (yych <= ',') goto yy55;
15829 					goto yy610;
15830 				}
15831 			} else {
15832 				if (yych <= 'C') {
15833 					if (yych == 'A') goto yy607;
15834 					goto yy55;
15835 				} else {
15836 					if (yych <= 'D') goto yy499;
15837 					if (yych == 'F') goto yy500;
15838 					goto yy55;
15839 				}
15840 			}
15841 		} else {
15842 			if (yych <= 'N') {
15843 				if (yych <= 'J') {
15844 					if (yych <= 'H') goto yy64;
15845 					if (yych <= 'I') goto yy508;
15846 					goto yy512;
15847 				} else {
15848 					if (yych <= 'L') goto yy55;
15849 					if (yych <= 'M') goto yy496;
15850 					goto yy515;
15851 				}
15852 			} else {
15853 				if (yych <= 'S') {
15854 					if (yych <= 'O') goto yy514;
15855 					if (yych <= 'R') goto yy55;
15856 					goto yy497;
15857 				} else {
15858 					if (yych <= 'T') goto yy69;
15859 					if (yych <= 'U') goto yy62;
15860 					if (yych <= 'V') goto yy510;
15861 					goto yy68;
15862 				}
15863 			}
15864 		}
15865 	} else {
15866 		if (yych <= 'l') {
15867 			if (yych <= 'd') {
15868 				if (yych <= '`') {
15869 					if (yych <= 'X') goto yy511;
15870 					if (yych <= 'Y') goto yy67;
15871 					goto yy55;
15872 				} else {
15873 					if (yych <= 'a') goto yy607;
15874 					if (yych <= 'c') goto yy55;
15875 					goto yy499;
15876 				}
15877 			} else {
15878 				if (yych <= 'g') {
15879 					if (yych == 'f') goto yy500;
15880 					goto yy55;
15881 				} else {
15882 					if (yych <= 'h') goto yy64;
15883 					if (yych == 'j') goto yy512;
15884 					goto yy55;
15885 				}
15886 			}
15887 		} else {
15888 			if (yych <= 'u') {
15889 				if (yych <= 'o') {
15890 					if (yych <= 'm') goto yy496;
15891 					if (yych <= 'n') goto yy515;
15892 					goto yy514;
15893 				} else {
15894 					if (yych <= 'r') goto yy55;
15895 					if (yych <= 's') goto yy497;
15896 					if (yych <= 't') goto yy69;
15897 					goto yy62;
15898 				}
15899 			} else {
15900 				if (yych <= 'x') {
15901 					if (yych == 'w') goto yy68;
15902 					goto yy55;
15903 				} else {
15904 					if (yych <= 'y') goto yy67;
15905 					if (yych == 0xC2) goto yy61;
15906 					goto yy55;
15907 				}
15908 			}
15909 		}
15910 	}
15911 yy1114:
15912 	YYDEBUG(1114, *YYCURSOR);
15913 	yych = *++YYCURSOR;
15914 	if (yych <= '.') {
15915 		if (yych <= ',') goto yy55;
15916 		if (yych <= '-') goto yy688;
15917 		goto yy635;
15918 	} else {
15919 		if (yych <= '/') goto yy55;
15920 		if (yych <= '9') goto yy1116;
15921 		goto yy55;
15922 	}
15923 yy1115:
15924 	YYDEBUG(1115, *YYCURSOR);
15925 	yych = *++YYCURSOR;
15926 	if (yych <= '.') {
15927 		if (yych <= ',') goto yy55;
15928 		if (yych <= '-') goto yy688;
15929 		goto yy635;
15930 	} else {
15931 		if (yych <= '/') goto yy55;
15932 		if (yych >= '3') goto yy55;
15933 	}
15934 yy1116:
15935 	YYDEBUG(1116, *YYCURSOR);
15936 	yych = *++YYCURSOR;
15937 	if (yych <= ',') goto yy55;
15938 	if (yych <= '-') goto yy1117;
15939 	if (yych <= '.') goto yy635;
15940 	goto yy55;
15941 yy1117:
15942 	YYDEBUG(1117, *YYCURSOR);
15943 	yych = *++YYCURSOR;
15944 	if (yych <= '2') {
15945 		if (yych <= '/') goto yy55;
15946 		if (yych >= '1') goto yy1119;
15947 	} else {
15948 		if (yych <= '3') goto yy1120;
15949 		if (yych <= '9') goto yy692;
15950 		goto yy55;
15951 	}
15952 	YYDEBUG(1118, *YYCURSOR);
15953 	yyaccept = 12;
15954 	yych = *(YYMARKER = ++YYCURSOR);
15955 	if (yych <= 'n') {
15956 		if (yych <= '/') goto yy690;
15957 		if (yych <= '9') goto yy1121;
15958 		if (yych <= 'm') goto yy690;
15959 		goto yy694;
15960 	} else {
15961 		if (yych <= 'r') {
15962 			if (yych <= 'q') goto yy690;
15963 			goto yy695;
15964 		} else {
15965 			if (yych <= 's') goto yy693;
15966 			if (yych <= 't') goto yy696;
15967 			goto yy690;
15968 		}
15969 	}
15970 yy1119:
15971 	YYDEBUG(1119, *YYCURSOR);
15972 	yyaccept = 12;
15973 	yych = *(YYMARKER = ++YYCURSOR);
15974 	if (yych <= 'n') {
15975 		if (yych <= '/') goto yy690;
15976 		if (yych <= '9') goto yy1121;
15977 		if (yych <= 'm') goto yy690;
15978 		goto yy694;
15979 	} else {
15980 		if (yych <= 'r') {
15981 			if (yych <= 'q') goto yy690;
15982 			goto yy695;
15983 		} else {
15984 			if (yych <= 's') goto yy693;
15985 			if (yych <= 't') goto yy696;
15986 			goto yy690;
15987 		}
15988 	}
15989 yy1120:
15990 	YYDEBUG(1120, *YYCURSOR);
15991 	yyaccept = 12;
15992 	yych = *(YYMARKER = ++YYCURSOR);
15993 	if (yych <= 'n') {
15994 		if (yych <= '1') {
15995 			if (yych <= '/') goto yy690;
15996 		} else {
15997 			if (yych <= '9') goto yy637;
15998 			if (yych <= 'm') goto yy690;
15999 			goto yy694;
16000 		}
16001 	} else {
16002 		if (yych <= 'r') {
16003 			if (yych <= 'q') goto yy690;
16004 			goto yy695;
16005 		} else {
16006 			if (yych <= 's') goto yy693;
16007 			if (yych <= 't') goto yy696;
16008 			goto yy690;
16009 		}
16010 	}
16011 yy1121:
16012 	YYDEBUG(1121, *YYCURSOR);
16013 	yyaccept = 15;
16014 	yych = *(YYMARKER = ++YYCURSOR);
16015 	if (yych <= 'n') {
16016 		if (yych <= '/') goto yy808;
16017 		if (yych <= '9') goto yy638;
16018 		if (yych <= 'm') goto yy808;
16019 		goto yy694;
16020 	} else {
16021 		if (yych <= 'r') {
16022 			if (yych <= 'q') goto yy808;
16023 			goto yy695;
16024 		} else {
16025 			if (yych <= 's') goto yy693;
16026 			if (yych <= 't') goto yy696;
16027 			goto yy808;
16028 		}
16029 	}
16030 yy1122:
16031 	YYDEBUG(1122, *YYCURSOR);
16032 	yych = *++YYCURSOR;
16033 	if (yych <= '9') {
16034 		if (yych <= '-') {
16035 			if (yych == '\t') goto yy1111;
16036 			if (yych <= ',') goto yy1113;
16037 			goto yy1110;
16038 		} else {
16039 			if (yych <= '.') goto yy1123;
16040 			if (yych <= '/') goto yy774;
16041 			if (yych <= '5') goto yy1125;
16042 			goto yy785;
16043 		}
16044 	} else {
16045 		if (yych <= 'q') {
16046 			if (yych <= ':') goto yy1124;
16047 			if (yych == 'n') goto yy503;
16048 			goto yy1113;
16049 		} else {
16050 			if (yych <= 'r') goto yy504;
16051 			if (yych <= 's') goto yy498;
16052 			if (yych <= 't') goto yy501;
16053 			goto yy1113;
16054 		}
16055 	}
16056 yy1123:
16057 	YYDEBUG(1123, *YYCURSOR);
16058 	yych = *++YYCURSOR;
16059 	if (yych <= '1') {
16060 		if (yych <= '/') goto yy611;
16061 		if (yych <= '0') goto yy1147;
16062 		goto yy1148;
16063 	} else {
16064 		if (yych <= '5') goto yy1149;
16065 		if (yych <= '9') goto yy1150;
16066 		goto yy611;
16067 	}
16068 yy1124:
16069 	YYDEBUG(1124, *YYCURSOR);
16070 	yych = *++YYCURSOR;
16071 	if (yych <= '/') goto yy55;
16072 	if (yych <= '5') goto yy1142;
16073 	if (yych <= '9') goto yy1143;
16074 	goto yy55;
16075 yy1125:
16076 	YYDEBUG(1125, *YYCURSOR);
16077 	yych = *++YYCURSOR;
16078 	if (yych == '-') goto yy829;
16079 	if (yych <= '/') goto yy59;
16080 	if (yych >= ':') goto yy59;
16081 	YYDEBUG(1126, *YYCURSOR);
16082 	yyaccept = 24;
16083 	yych = *(YYMARKER = ++YYCURSOR);
16084 	if (yych <= 'L') {
16085 		if (yych <= '3') {
16086 			if (yych <= '-') {
16087 				if (yych <= 0x1F) {
16088 					if (yych == '\t') goto yy835;
16089 				} else {
16090 					if (yych <= ' ') goto yy835;
16091 					if (yych >= '-') goto yy832;
16092 				}
16093 			} else {
16094 				if (yych <= '0') {
16095 					if (yych <= '.') goto yy836;
16096 					if (yych <= '/') goto yy833;
16097 					goto yy1128;
16098 				} else {
16099 					if (yych <= '1') goto yy1129;
16100 					if (yych <= '2') goto yy1130;
16101 					goto yy1131;
16102 				}
16103 			}
16104 		} else {
16105 			if (yych <= 'A') {
16106 				if (yych <= '9') {
16107 					if (yych <= '5') goto yy1132;
16108 					if (yych <= '6') goto yy1133;
16109 					goto yy73;
16110 				} else {
16111 					if (yych <= ':') goto yy851;
16112 					if (yych >= 'A') goto yy835;
16113 				}
16114 			} else {
16115 				if (yych <= 'E') {
16116 					if (yych == 'D') goto yy835;
16117 				} else {
16118 					if (yych == 'G') goto yy1127;
16119 					if (yych <= 'J') goto yy835;
16120 				}
16121 			}
16122 		}
16123 	} else {
16124 		if (yych <= 'h') {
16125 			if (yych <= '`') {
16126 				if (yych <= 'V') {
16127 					if (yych <= 'O') goto yy835;
16128 					if (yych >= 'S') goto yy835;
16129 				} else {
16130 					if (yych <= 'W') goto yy854;
16131 					if (yych <= 'Y') goto yy835;
16132 				}
16133 			} else {
16134 				if (yych <= 'd') {
16135 					if (yych <= 'a') goto yy835;
16136 					if (yych >= 'd') goto yy835;
16137 				} else {
16138 					if (yych == 'f') goto yy835;
16139 					if (yych >= 'h') goto yy835;
16140 				}
16141 			}
16142 		} else {
16143 			if (yych <= 'u') {
16144 				if (yych <= 'l') {
16145 					if (yych == 'j') goto yy835;
16146 				} else {
16147 					if (yych <= 'o') goto yy835;
16148 					if (yych >= 's') goto yy835;
16149 				}
16150 			} else {
16151 				if (yych <= 'x') {
16152 					if (yych == 'w') goto yy835;
16153 				} else {
16154 					if (yych <= 'y') goto yy835;
16155 					if (yych == 0xC2) goto yy835;
16156 				}
16157 			}
16158 		}
16159 	}
16160 yy1127:
16161 	YYDEBUG(1127, *YYCURSOR);
16162 #line 1342 "ext/date/lib/parse_date.re"
16163 	{
16164 		DEBUG_OUTPUT("gnunocolon");
16165 		TIMELIB_INIT;
16166 		switch (s->time->have_time) {
16167 			case 0:
16168 				s->time->h = timelib_get_nr(&ptr, 2);
16169 				s->time->i = timelib_get_nr(&ptr, 2);
16170 				s->time->s = 0;
16171 				break;
16172 			case 1:
16173 				s->time->y = timelib_get_nr(&ptr, 4);
16174 				break;
16175 			default:
16176 				TIMELIB_DEINIT;
16177 				add_error(s, TIMELIB_ERR_DOUBLE_TIME, "Double time specification");
16178 				return TIMELIB_ERROR;
16179 		}
16180 		s->time->have_time++;
16181 		TIMELIB_DEINIT;
16182 		return TIMELIB_GNU_NOCOLON;
16183 	}
16184 #line 16185 "<stdout>"
16185 yy1128:
16186 	YYDEBUG(1128, *YYCURSOR);
16187 	yych = *++YYCURSOR;
16188 	if (yych <= '/') goto yy59;
16189 	if (yych <= '0') goto yy1140;
16190 	if (yych <= '9') goto yy1141;
16191 	goto yy59;
16192 yy1129:
16193 	YYDEBUG(1129, *YYCURSOR);
16194 	yych = *++YYCURSOR;
16195 	if (yych <= '/') goto yy59;
16196 	if (yych <= '2') goto yy1139;
16197 	if (yych <= '9') goto yy1138;
16198 	goto yy59;
16199 yy1130:
16200 	YYDEBUG(1130, *YYCURSOR);
16201 	yych = *++YYCURSOR;
16202 	if (yych <= '/') goto yy59;
16203 	if (yych <= '9') goto yy1138;
16204 	goto yy59;
16205 yy1131:
16206 	YYDEBUG(1131, *YYCURSOR);
16207 	yych = *++YYCURSOR;
16208 	if (yych <= '/') goto yy59;
16209 	if (yych <= '5') goto yy1136;
16210 	if (yych <= '6') goto yy1137;
16211 	if (yych <= '9') goto yy1134;
16212 	goto yy59;
16213 yy1132:
16214 	YYDEBUG(1132, *YYCURSOR);
16215 	yych = *++YYCURSOR;
16216 	if (yych <= '/') goto yy59;
16217 	if (yych <= '9') goto yy1134;
16218 	goto yy59;
16219 yy1133:
16220 	YYDEBUG(1133, *YYCURSOR);
16221 	yych = *++YYCURSOR;
16222 	if (yych <= '/') goto yy59;
16223 	if (yych <= '0') goto yy1134;
16224 	if (yych <= '9') goto yy74;
16225 	goto yy59;
16226 yy1134:
16227 	YYDEBUG(1134, *YYCURSOR);
16228 	yyaccept = 25;
16229 	yych = *(YYMARKER = ++YYCURSOR);
16230 	if (yych <= 'W') {
16231 		if (yych <= 'E') {
16232 			if (yych <= ' ') {
16233 				if (yych == '\t') goto yy59;
16234 				if (yych >= ' ') goto yy59;
16235 			} else {
16236 				if (yych <= '9') {
16237 					if (yych >= '0') goto yy75;
16238 				} else {
16239 					if (yych == 'D') goto yy59;
16240 				}
16241 			}
16242 		} else {
16243 			if (yych <= 'L') {
16244 				if (yych == 'G') goto yy1135;
16245 				if (yych <= 'H') goto yy59;
16246 			} else {
16247 				if (yych <= 'R') {
16248 					if (yych <= 'M') goto yy59;
16249 				} else {
16250 					if (yych != 'V') goto yy59;
16251 				}
16252 			}
16253 		}
16254 	} else {
16255 		if (yych <= 'l') {
16256 			if (yych <= 'd') {
16257 				if (yych == 'Y') goto yy59;
16258 				if (yych >= 'd') goto yy59;
16259 			} else {
16260 				if (yych <= 'f') {
16261 					if (yych >= 'f') goto yy59;
16262 				} else {
16263 					if (yych == 'h') goto yy59;
16264 				}
16265 			}
16266 		} else {
16267 			if (yych <= 'w') {
16268 				if (yych <= 'r') {
16269 					if (yych <= 'm') goto yy59;
16270 				} else {
16271 					if (yych != 'v') goto yy59;
16272 				}
16273 			} else {
16274 				if (yych <= 'y') {
16275 					if (yych >= 'y') goto yy59;
16276 				} else {
16277 					if (yych == 0xC2) goto yy59;
16278 				}
16279 			}
16280 		}
16281 	}
16282 yy1135:
16283 	YYDEBUG(1135, *YYCURSOR);
16284 #line 1388 "ext/date/lib/parse_date.re"
16285 	{
16286 		int tz_not_found;
16287 		DEBUG_OUTPUT("iso8601nocolon");
16288 		TIMELIB_INIT;
16289 		TIMELIB_HAVE_TIME();
16290 		s->time->h = timelib_get_nr(&ptr, 2);
16291 		s->time->i = timelib_get_nr(&ptr, 2);
16292 		s->time->s = timelib_get_nr(&ptr, 2);
16293 
16294 		if (*ptr != '\0') {
16295 			s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
16296 			if (tz_not_found) {
16297 				add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
16298 			}
16299 		}
16300 		TIMELIB_DEINIT;
16301 		return TIMELIB_ISO_NOCOLON;
16302 	}
16303 #line 16304 "<stdout>"
16304 yy1136:
16305 	YYDEBUG(1136, *YYCURSOR);
16306 	yyaccept = 25;
16307 	yych = *(YYMARKER = ++YYCURSOR);
16308 	if (yych <= 'W') {
16309 		if (yych <= 'E') {
16310 			if (yych <= ' ') {
16311 				if (yych == '\t') goto yy59;
16312 				if (yych <= 0x1F) goto yy1135;
16313 				goto yy59;
16314 			} else {
16315 				if (yych <= '9') {
16316 					if (yych <= '/') goto yy1135;
16317 					goto yy865;
16318 				} else {
16319 					if (yych == 'D') goto yy59;
16320 					goto yy1135;
16321 				}
16322 			}
16323 		} else {
16324 			if (yych <= 'L') {
16325 				if (yych == 'G') goto yy1135;
16326 				if (yych <= 'H') goto yy59;
16327 				goto yy1135;
16328 			} else {
16329 				if (yych <= 'R') {
16330 					if (yych <= 'M') goto yy59;
16331 					goto yy1135;
16332 				} else {
16333 					if (yych == 'V') goto yy1135;
16334 					goto yy59;
16335 				}
16336 			}
16337 		}
16338 	} else {
16339 		if (yych <= 'l') {
16340 			if (yych <= 'd') {
16341 				if (yych == 'Y') goto yy59;
16342 				if (yych <= 'c') goto yy1135;
16343 				goto yy59;
16344 			} else {
16345 				if (yych <= 'f') {
16346 					if (yych <= 'e') goto yy1135;
16347 					goto yy59;
16348 				} else {
16349 					if (yych == 'h') goto yy59;
16350 					goto yy1135;
16351 				}
16352 			}
16353 		} else {
16354 			if (yych <= 'w') {
16355 				if (yych <= 'r') {
16356 					if (yych <= 'm') goto yy59;
16357 					goto yy1135;
16358 				} else {
16359 					if (yych == 'v') goto yy1135;
16360 					goto yy59;
16361 				}
16362 			} else {
16363 				if (yych <= 'y') {
16364 					if (yych <= 'x') goto yy1135;
16365 					goto yy59;
16366 				} else {
16367 					if (yych == 0xC2) goto yy59;
16368 					goto yy1135;
16369 				}
16370 			}
16371 		}
16372 	}
16373 yy1137:
16374 	YYDEBUG(1137, *YYCURSOR);
16375 	yyaccept = 25;
16376 	yych = *(YYMARKER = ++YYCURSOR);
16377 	if (yych <= 'W') {
16378 		if (yych <= 'D') {
16379 			if (yych <= ' ') {
16380 				if (yych == '\t') goto yy59;
16381 				if (yych <= 0x1F) goto yy1135;
16382 				goto yy59;
16383 			} else {
16384 				if (yych <= '6') {
16385 					if (yych <= '/') goto yy1135;
16386 					goto yy865;
16387 				} else {
16388 					if (yych <= '9') goto yy75;
16389 					if (yych <= 'C') goto yy1135;
16390 					goto yy59;
16391 				}
16392 			}
16393 		} else {
16394 			if (yych <= 'L') {
16395 				if (yych <= 'F') {
16396 					if (yych <= 'E') goto yy1135;
16397 					goto yy59;
16398 				} else {
16399 					if (yych == 'H') goto yy59;
16400 					goto yy1135;
16401 				}
16402 			} else {
16403 				if (yych <= 'R') {
16404 					if (yych <= 'M') goto yy59;
16405 					goto yy1135;
16406 				} else {
16407 					if (yych == 'V') goto yy1135;
16408 					goto yy59;
16409 				}
16410 			}
16411 		}
16412 	} else {
16413 		if (yych <= 'l') {
16414 			if (yych <= 'd') {
16415 				if (yych == 'Y') goto yy59;
16416 				if (yych <= 'c') goto yy1135;
16417 				goto yy59;
16418 			} else {
16419 				if (yych <= 'f') {
16420 					if (yych <= 'e') goto yy1135;
16421 					goto yy59;
16422 				} else {
16423 					if (yych == 'h') goto yy59;
16424 					goto yy1135;
16425 				}
16426 			}
16427 		} else {
16428 			if (yych <= 'w') {
16429 				if (yych <= 'r') {
16430 					if (yych <= 'm') goto yy59;
16431 					goto yy1135;
16432 				} else {
16433 					if (yych == 'v') goto yy1135;
16434 					goto yy59;
16435 				}
16436 			} else {
16437 				if (yych <= 'y') {
16438 					if (yych <= 'x') goto yy1135;
16439 					goto yy59;
16440 				} else {
16441 					if (yych == 0xC2) goto yy59;
16442 					goto yy1135;
16443 				}
16444 			}
16445 		}
16446 	}
16447 yy1138:
16448 	YYDEBUG(1138, *YYCURSOR);
16449 	yyaccept = 25;
16450 	yych = *(YYMARKER = ++YYCURSOR);
16451 	if (yych <= 'W') {
16452 		if (yych <= 'E') {
16453 			if (yych <= ' ') {
16454 				if (yych == '\t') goto yy59;
16455 				if (yych <= 0x1F) goto yy1135;
16456 				goto yy59;
16457 			} else {
16458 				if (yych <= '9') {
16459 					if (yych <= '/') goto yy1135;
16460 					goto yy865;
16461 				} else {
16462 					if (yych == 'D') goto yy59;
16463 					goto yy1135;
16464 				}
16465 			}
16466 		} else {
16467 			if (yych <= 'L') {
16468 				if (yych == 'G') goto yy1135;
16469 				if (yych <= 'H') goto yy59;
16470 				goto yy1135;
16471 			} else {
16472 				if (yych <= 'R') {
16473 					if (yych <= 'M') goto yy59;
16474 					goto yy1135;
16475 				} else {
16476 					if (yych == 'V') goto yy1135;
16477 					goto yy59;
16478 				}
16479 			}
16480 		}
16481 	} else {
16482 		if (yych <= 'l') {
16483 			if (yych <= 'd') {
16484 				if (yych == 'Y') goto yy59;
16485 				if (yych <= 'c') goto yy1135;
16486 				goto yy59;
16487 			} else {
16488 				if (yych <= 'f') {
16489 					if (yych <= 'e') goto yy1135;
16490 					goto yy59;
16491 				} else {
16492 					if (yych == 'h') goto yy59;
16493 					goto yy1135;
16494 				}
16495 			}
16496 		} else {
16497 			if (yych <= 'w') {
16498 				if (yych <= 'r') {
16499 					if (yych <= 'm') goto yy59;
16500 					goto yy1135;
16501 				} else {
16502 					if (yych == 'v') goto yy1135;
16503 					goto yy59;
16504 				}
16505 			} else {
16506 				if (yych <= 'y') {
16507 					if (yych <= 'x') goto yy1135;
16508 					goto yy59;
16509 				} else {
16510 					if (yych == 0xC2) goto yy59;
16511 					goto yy1135;
16512 				}
16513 			}
16514 		}
16515 	}
16516 yy1139:
16517 	YYDEBUG(1139, *YYCURSOR);
16518 	yyaccept = 25;
16519 	yych = *(YYMARKER = ++YYCURSOR);
16520 	if (yych <= 'V') {
16521 		if (yych <= 'C') {
16522 			if (yych <= '/') {
16523 				if (yych <= '\t') {
16524 					if (yych <= 0x08) goto yy1135;
16525 					goto yy59;
16526 				} else {
16527 					if (yych == ' ') goto yy59;
16528 					goto yy1135;
16529 				}
16530 			} else {
16531 				if (yych <= '2') {
16532 					if (yych <= '0') goto yy889;
16533 					goto yy890;
16534 				} else {
16535 					if (yych <= '3') goto yy891;
16536 					if (yych <= '9') goto yy865;
16537 					goto yy1135;
16538 				}
16539 			}
16540 		} else {
16541 			if (yych <= 'H') {
16542 				if (yych <= 'E') {
16543 					if (yych <= 'D') goto yy59;
16544 					goto yy1135;
16545 				} else {
16546 					if (yych == 'G') goto yy1135;
16547 					goto yy59;
16548 				}
16549 			} else {
16550 				if (yych <= 'M') {
16551 					if (yych <= 'L') goto yy1135;
16552 					goto yy59;
16553 				} else {
16554 					if (yych <= 'R') goto yy1135;
16555 					if (yych <= 'U') goto yy59;
16556 					goto yy1135;
16557 				}
16558 			}
16559 		}
16560 	} else {
16561 		if (yych <= 'l') {
16562 			if (yych <= 'd') {
16563 				if (yych <= 'X') {
16564 					if (yych <= 'W') goto yy59;
16565 					goto yy1135;
16566 				} else {
16567 					if (yych <= 'Y') goto yy59;
16568 					if (yych <= 'c') goto yy1135;
16569 					goto yy59;
16570 				}
16571 			} else {
16572 				if (yych <= 'f') {
16573 					if (yych <= 'e') goto yy1135;
16574 					goto yy59;
16575 				} else {
16576 					if (yych == 'h') goto yy59;
16577 					goto yy1135;
16578 				}
16579 			}
16580 		} else {
16581 			if (yych <= 'w') {
16582 				if (yych <= 'r') {
16583 					if (yych <= 'm') goto yy59;
16584 					goto yy1135;
16585 				} else {
16586 					if (yych == 'v') goto yy1135;
16587 					goto yy59;
16588 				}
16589 			} else {
16590 				if (yych <= 'y') {
16591 					if (yych <= 'x') goto yy1135;
16592 					goto yy59;
16593 				} else {
16594 					if (yych == 0xC2) goto yy59;
16595 					goto yy1135;
16596 				}
16597 			}
16598 		}
16599 	}
16600 yy1140:
16601 	YYDEBUG(1140, *YYCURSOR);
16602 	yyaccept = 25;
16603 	yych = *(YYMARKER = ++YYCURSOR);
16604 	if (yych <= 'V') {
16605 		if (yych <= 'C') {
16606 			if (yych <= '/') {
16607 				if (yych <= '\t') {
16608 					if (yych <= 0x08) goto yy1135;
16609 					goto yy59;
16610 				} else {
16611 					if (yych == ' ') goto yy59;
16612 					goto yy1135;
16613 				}
16614 			} else {
16615 				if (yych <= '2') {
16616 					if (yych <= '0') goto yy921;
16617 					goto yy890;
16618 				} else {
16619 					if (yych <= '3') goto yy891;
16620 					if (yych <= '9') goto yy865;
16621 					goto yy1135;
16622 				}
16623 			}
16624 		} else {
16625 			if (yych <= 'H') {
16626 				if (yych <= 'E') {
16627 					if (yych <= 'D') goto yy59;
16628 					goto yy1135;
16629 				} else {
16630 					if (yych == 'G') goto yy1135;
16631 					goto yy59;
16632 				}
16633 			} else {
16634 				if (yych <= 'M') {
16635 					if (yych <= 'L') goto yy1135;
16636 					goto yy59;
16637 				} else {
16638 					if (yych <= 'R') goto yy1135;
16639 					if (yych <= 'U') goto yy59;
16640 					goto yy1135;
16641 				}
16642 			}
16643 		}
16644 	} else {
16645 		if (yych <= 'l') {
16646 			if (yych <= 'd') {
16647 				if (yych <= 'X') {
16648 					if (yych <= 'W') goto yy59;
16649 					goto yy1135;
16650 				} else {
16651 					if (yych <= 'Y') goto yy59;
16652 					if (yych <= 'c') goto yy1135;
16653 					goto yy59;
16654 				}
16655 			} else {
16656 				if (yych <= 'f') {
16657 					if (yych <= 'e') goto yy1135;
16658 					goto yy59;
16659 				} else {
16660 					if (yych == 'h') goto yy59;
16661 					goto yy1135;
16662 				}
16663 			}
16664 		} else {
16665 			if (yych <= 'w') {
16666 				if (yych <= 'r') {
16667 					if (yych <= 'm') goto yy59;
16668 					goto yy1135;
16669 				} else {
16670 					if (yych == 'v') goto yy1135;
16671 					goto yy59;
16672 				}
16673 			} else {
16674 				if (yych <= 'y') {
16675 					if (yych <= 'x') goto yy1135;
16676 					goto yy59;
16677 				} else {
16678 					if (yych == 0xC2) goto yy59;
16679 					goto yy1135;
16680 				}
16681 			}
16682 		}
16683 	}
16684 yy1141:
16685 	YYDEBUG(1141, *YYCURSOR);
16686 	yyaccept = 25;
16687 	yych = *(YYMARKER = ++YYCURSOR);
16688 	if (yych <= 'V') {
16689 		if (yych <= 'C') {
16690 			if (yych <= '/') {
16691 				if (yych <= '\t') {
16692 					if (yych <= 0x08) goto yy1135;
16693 					goto yy59;
16694 				} else {
16695 					if (yych == ' ') goto yy59;
16696 					goto yy1135;
16697 				}
16698 			} else {
16699 				if (yych <= '2') {
16700 					if (yych <= '0') goto yy889;
16701 					goto yy890;
16702 				} else {
16703 					if (yych <= '3') goto yy891;
16704 					if (yych <= '9') goto yy865;
16705 					goto yy1135;
16706 				}
16707 			}
16708 		} else {
16709 			if (yych <= 'H') {
16710 				if (yych <= 'E') {
16711 					if (yych <= 'D') goto yy59;
16712 					goto yy1135;
16713 				} else {
16714 					if (yych == 'G') goto yy1135;
16715 					goto yy59;
16716 				}
16717 			} else {
16718 				if (yych <= 'M') {
16719 					if (yych <= 'L') goto yy1135;
16720 					goto yy59;
16721 				} else {
16722 					if (yych <= 'R') goto yy1135;
16723 					if (yych <= 'U') goto yy59;
16724 					goto yy1135;
16725 				}
16726 			}
16727 		}
16728 	} else {
16729 		if (yych <= 'l') {
16730 			if (yych <= 'd') {
16731 				if (yych <= 'X') {
16732 					if (yych <= 'W') goto yy59;
16733 					goto yy1135;
16734 				} else {
16735 					if (yych <= 'Y') goto yy59;
16736 					if (yych <= 'c') goto yy1135;
16737 					goto yy59;
16738 				}
16739 			} else {
16740 				if (yych <= 'f') {
16741 					if (yych <= 'e') goto yy1135;
16742 					goto yy59;
16743 				} else {
16744 					if (yych == 'h') goto yy59;
16745 					goto yy1135;
16746 				}
16747 			}
16748 		} else {
16749 			if (yych <= 'w') {
16750 				if (yych <= 'r') {
16751 					if (yych <= 'm') goto yy59;
16752 					goto yy1135;
16753 				} else {
16754 					if (yych == 'v') goto yy1135;
16755 					goto yy59;
16756 				}
16757 			} else {
16758 				if (yych <= 'y') {
16759 					if (yych <= 'x') goto yy1135;
16760 					goto yy59;
16761 				} else {
16762 					if (yych == 0xC2) goto yy59;
16763 					goto yy1135;
16764 				}
16765 			}
16766 		}
16767 	}
16768 yy1142:
16769 	YYDEBUG(1142, *YYCURSOR);
16770 	yyaccept = 10;
16771 	yych = *(YYMARKER = ++YYCURSOR);
16772 	if (yych <= '/') {
16773 		if (yych == '.') goto yy1144;
16774 		goto yy524;
16775 	} else {
16776 		if (yych <= '9') goto yy1143;
16777 		if (yych <= ':') goto yy1144;
16778 		goto yy524;
16779 	}
16780 yy1143:
16781 	YYDEBUG(1143, *YYCURSOR);
16782 	yyaccept = 10;
16783 	yych = *(YYMARKER = ++YYCURSOR);
16784 	if (yych == '.') goto yy1144;
16785 	if (yych != ':') goto yy524;
16786 yy1144:
16787 	YYDEBUG(1144, *YYCURSOR);
16788 	yych = *++YYCURSOR;
16789 	if (yych <= '/') goto yy55;
16790 	if (yych <= '5') goto yy1145;
16791 	if (yych <= '6') goto yy1146;
16792 	if (yych <= '9') goto yy529;
16793 	goto yy55;
16794 yy1145:
16795 	YYDEBUG(1145, *YYCURSOR);
16796 	yyaccept = 10;
16797 	yych = *(YYMARKER = ++YYCURSOR);
16798 	if (yych == '.') goto yy530;
16799 	if (yych <= '/') goto yy524;
16800 	if (yych <= '9') goto yy529;
16801 	goto yy524;
16802 yy1146:
16803 	YYDEBUG(1146, *YYCURSOR);
16804 	yyaccept = 10;
16805 	yych = *(YYMARKER = ++YYCURSOR);
16806 	if (yych == '.') goto yy530;
16807 	if (yych == '0') goto yy529;
16808 	goto yy524;
16809 yy1147:
16810 	YYDEBUG(1147, *YYCURSOR);
16811 	yyaccept = 10;
16812 	yych = *(YYMARKER = ++YYCURSOR);
16813 	if (yych <= '.') {
16814 		if (yych <= ',') goto yy524;
16815 		if (yych <= '-') goto yy635;
16816 		goto yy1151;
16817 	} else {
16818 		if (yych <= '/') goto yy524;
16819 		if (yych <= '9') goto yy1150;
16820 		if (yych <= ':') goto yy1144;
16821 		goto yy524;
16822 	}
16823 yy1148:
16824 	YYDEBUG(1148, *YYCURSOR);
16825 	yyaccept = 10;
16826 	yych = *(YYMARKER = ++YYCURSOR);
16827 	if (yych <= '/') {
16828 		if (yych <= ',') goto yy524;
16829 		if (yych <= '-') goto yy635;
16830 		if (yych <= '.') goto yy1151;
16831 		goto yy524;
16832 	} else {
16833 		if (yych <= '2') goto yy1150;
16834 		if (yych <= '9') goto yy1143;
16835 		if (yych <= ':') goto yy1144;
16836 		goto yy524;
16837 	}
16838 yy1149:
16839 	YYDEBUG(1149, *YYCURSOR);
16840 	yyaccept = 10;
16841 	yych = *(YYMARKER = ++YYCURSOR);
16842 	if (yych <= '.') {
16843 		if (yych <= ',') goto yy524;
16844 		if (yych <= '-') goto yy635;
16845 		goto yy1151;
16846 	} else {
16847 		if (yych <= '/') goto yy524;
16848 		if (yych <= '9') goto yy1143;
16849 		if (yych <= ':') goto yy1144;
16850 		goto yy524;
16851 	}
16852 yy1150:
16853 	YYDEBUG(1150, *YYCURSOR);
16854 	yyaccept = 10;
16855 	yych = *(YYMARKER = ++YYCURSOR);
16856 	if (yych <= '.') {
16857 		if (yych <= ',') goto yy524;
16858 		if (yych <= '-') goto yy635;
16859 	} else {
16860 		if (yych == ':') goto yy1144;
16861 		goto yy524;
16862 	}
16863 yy1151:
16864 	YYDEBUG(1151, *YYCURSOR);
16865 	yych = *++YYCURSOR;
16866 	if (yych <= '/') goto yy55;
16867 	if (yych <= '5') goto yy1152;
16868 	if (yych <= '6') goto yy1153;
16869 	if (yych <= '9') goto yy643;
16870 	goto yy55;
16871 yy1152:
16872 	YYDEBUG(1152, *YYCURSOR);
16873 	yyaccept = 10;
16874 	yych = *(YYMARKER = ++YYCURSOR);
16875 	if (yych == '.') goto yy530;
16876 	if (yych <= '/') goto yy524;
16877 	if (yych <= '9') goto yy1154;
16878 	goto yy524;
16879 yy1153:
16880 	YYDEBUG(1153, *YYCURSOR);
16881 	yyaccept = 10;
16882 	yych = *(YYMARKER = ++YYCURSOR);
16883 	if (yych <= '/') {
16884 		if (yych == '.') goto yy530;
16885 		goto yy524;
16886 	} else {
16887 		if (yych <= '0') goto yy1154;
16888 		if (yych <= '9') goto yy644;
16889 		goto yy524;
16890 	}
16891 yy1154:
16892 	YYDEBUG(1154, *YYCURSOR);
16893 	yyaccept = 10;
16894 	yych = *(YYMARKER = ++YYCURSOR);
16895 	if (yych == '.') goto yy530;
16896 	if (yych <= '/') goto yy524;
16897 	if (yych <= '9') goto yy638;
16898 	goto yy524;
16899 yy1155:
16900 	YYDEBUG(1155, *YYCURSOR);
16901 	yych = *++YYCURSOR;
16902 	if (yych <= '9') {
16903 		if (yych <= '-') {
16904 			if (yych == '\t') goto yy493;
16905 			if (yych <= ',') goto yy495;
16906 			goto yy1110;
16907 		} else {
16908 			if (yych <= '.') goto yy507;
16909 			if (yych <= '/') goto yy505;
16910 			if (yych <= '5') goto yy1125;
16911 			goto yy785;
16912 		}
16913 	} else {
16914 		if (yych <= 'q') {
16915 			if (yych <= ':') goto yy516;
16916 			if (yych == 'n') goto yy503;
16917 			goto yy495;
16918 		} else {
16919 			if (yych <= 'r') goto yy504;
16920 			if (yych <= 's') goto yy498;
16921 			if (yych <= 't') goto yy501;
16922 			goto yy495;
16923 		}
16924 	}
16925 yy1156:
16926 	YYDEBUG(1156, *YYCURSOR);
16927 	yych = *++YYCURSOR;
16928 	if (yych <= '9') {
16929 		if (yych <= '-') {
16930 			if (yych == '\t') goto yy1111;
16931 			if (yych <= ',') goto yy1113;
16932 			goto yy1110;
16933 		} else {
16934 			if (yych <= '.') goto yy1123;
16935 			if (yych <= '/') goto yy505;
16936 			if (yych <= '5') goto yy1125;
16937 			goto yy785;
16938 		}
16939 	} else {
16940 		if (yych <= 'q') {
16941 			if (yych <= ':') goto yy1124;
16942 			if (yych == 'n') goto yy503;
16943 			goto yy1113;
16944 		} else {
16945 			if (yych <= 'r') goto yy504;
16946 			if (yych <= 's') goto yy498;
16947 			if (yych <= 't') goto yy501;
16948 			goto yy1113;
16949 		}
16950 	}
16951 yy1157:
16952 	YYDEBUG(1157, *YYCURSOR);
16953 	yych = *++YYCURSOR;
16954 	if (yych <= 'E') {
16955 		if (yych <= ')') {
16956 			if (yych <= '(') goto yy3;
16957 			goto yy181;
16958 		} else {
16959 			if (yych <= '@') goto yy3;
16960 			if (yych <= 'D') goto yy183;
16961 		}
16962 	} else {
16963 		if (yych <= 'd') {
16964 			if (yych <= 'Z') goto yy183;
16965 			if (yych <= '`') goto yy3;
16966 			goto yy183;
16967 		} else {
16968 			if (yych <= 'e') goto yy1158;
16969 			if (yych <= 'z') goto yy183;
16970 			goto yy3;
16971 		}
16972 	}
16973 yy1158:
16974 	YYDEBUG(1158, *YYCURSOR);
16975 	yych = *++YYCURSOR;
16976 	if (yych <= 'V') {
16977 		if (yych <= ')') {
16978 			if (yych <= '(') goto yy3;
16979 			goto yy181;
16980 		} else {
16981 			if (yych <= '@') goto yy3;
16982 			if (yych <= 'U') goto yy184;
16983 		}
16984 	} else {
16985 		if (yych <= 'u') {
16986 			if (yych <= 'Z') goto yy184;
16987 			if (yych <= '`') goto yy3;
16988 			goto yy184;
16989 		} else {
16990 			if (yych <= 'v') goto yy1159;
16991 			if (yych <= 'z') goto yy184;
16992 			goto yy3;
16993 		}
16994 	}
16995 yy1159:
16996 	YYDEBUG(1159, *YYCURSOR);
16997 	yych = *++YYCURSOR;
16998 	if (yych <= 'I') {
16999 		if (yych <= ')') {
17000 			if (yych <= '(') goto yy3;
17001 			goto yy181;
17002 		} else {
17003 			if (yych <= '@') goto yy3;
17004 			if (yych <= 'H') goto yy185;
17005 		}
17006 	} else {
17007 		if (yych <= 'h') {
17008 			if (yych <= 'Z') goto yy185;
17009 			if (yych <= '`') goto yy3;
17010 			goto yy185;
17011 		} else {
17012 			if (yych <= 'i') goto yy1160;
17013 			if (yych <= 'z') goto yy185;
17014 			goto yy3;
17015 		}
17016 	}
17017 yy1160:
17018 	YYDEBUG(1160, *YYCURSOR);
17019 	yych = *++YYCURSOR;
17020 	if (yych <= 'O') {
17021 		if (yych <= ')') {
17022 			if (yych <= '(') goto yy3;
17023 			goto yy181;
17024 		} else {
17025 			if (yych <= '@') goto yy3;
17026 			if (yych <= 'N') goto yy186;
17027 		}
17028 	} else {
17029 		if (yych <= 'n') {
17030 			if (yych <= 'Z') goto yy186;
17031 			if (yych <= '`') goto yy3;
17032 			goto yy186;
17033 		} else {
17034 			if (yych <= 'o') goto yy1161;
17035 			if (yych <= 'z') goto yy186;
17036 			goto yy3;
17037 		}
17038 	}
17039 yy1161:
17040 	YYDEBUG(1161, *YYCURSOR);
17041 	yyaccept = 1;
17042 	yych = *(YYMARKER = ++YYCURSOR);
17043 	if (yych <= 'T') {
17044 		if (yych == ')') goto yy181;
17045 		goto yy3;
17046 	} else {
17047 		if (yych <= 'U') goto yy1162;
17048 		if (yych != 'u') goto yy3;
17049 	}
17050 yy1162:
17051 	YYDEBUG(1162, *YYCURSOR);
17052 	yych = *++YYCURSOR;
17053 	if (yych == 'S') goto yy1163;
17054 	if (yych != 's') goto yy55;
17055 yy1163:
17056 	YYDEBUG(1163, *YYCURSOR);
17057 	yych = *++YYCURSOR;
17058 	if (yych == '\t') goto yy1164;
17059 	if (yych != ' ') goto yy55;
17060 yy1164:
17061 	YYDEBUG(1164, *YYCURSOR);
17062 	++YYCURSOR;
17063 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
17064 	yych = *YYCURSOR;
17065 yy1165:
17066 	YYDEBUG(1165, *YYCURSOR);
17067 	if (yych <= 'X') {
17068 		if (yych <= 'G') {
17069 			if (yych <= ' ') {
17070 				if (yych == '\t') goto yy1164;
17071 				if (yych <= 0x1F) goto yy55;
17072 				goto yy1164;
17073 			} else {
17074 				if (yych <= 'D') {
17075 					if (yych <= 'C') goto yy55;
17076 					goto yy1171;
17077 				} else {
17078 					if (yych == 'F') goto yy1172;
17079 					goto yy55;
17080 				}
17081 			}
17082 		} else {
17083 			if (yych <= 'S') {
17084 				if (yych <= 'L') {
17085 					if (yych <= 'H') goto yy1170;
17086 					goto yy55;
17087 				} else {
17088 					if (yych <= 'M') goto yy1166;
17089 					if (yych <= 'R') goto yy55;
17090 					goto yy1169;
17091 				}
17092 			} else {
17093 				if (yych <= 'U') {
17094 					if (yych <= 'T') goto yy1175;
17095 					goto yy1168;
17096 				} else {
17097 					if (yych == 'W') goto yy1174;
17098 					goto yy55;
17099 				}
17100 			}
17101 		}
17102 	} else {
17103 		if (yych <= 'r') {
17104 			if (yych <= 'f') {
17105 				if (yych <= 'c') {
17106 					if (yych <= 'Y') goto yy1173;
17107 					goto yy55;
17108 				} else {
17109 					if (yych <= 'd') goto yy1171;
17110 					if (yych <= 'e') goto yy55;
17111 					goto yy1172;
17112 				}
17113 			} else {
17114 				if (yych <= 'h') {
17115 					if (yych <= 'g') goto yy55;
17116 					goto yy1170;
17117 				} else {
17118 					if (yych != 'm') goto yy55;
17119 				}
17120 			}
17121 		} else {
17122 			if (yych <= 'w') {
17123 				if (yych <= 't') {
17124 					if (yych <= 's') goto yy1169;
17125 					goto yy1175;
17126 				} else {
17127 					if (yych <= 'u') goto yy1168;
17128 					if (yych <= 'v') goto yy55;
17129 					goto yy1174;
17130 				}
17131 			} else {
17132 				if (yych <= 'y') {
17133 					if (yych <= 'x') goto yy55;
17134 					goto yy1173;
17135 				} else {
17136 					if (yych == 0xC2) goto yy1167;
17137 					goto yy55;
17138 				}
17139 			}
17140 		}
17141 	}
17142 yy1166:
17143 	YYDEBUG(1166, *YYCURSOR);
17144 	yych = *++YYCURSOR;
17145 	if (yych <= 'S') {
17146 		if (yych <= 'N') {
17147 			if (yych == 'I') goto yy1256;
17148 			goto yy55;
17149 		} else {
17150 			if (yych <= 'O') goto yy1255;
17151 			if (yych <= 'R') goto yy55;
17152 			goto yy1257;
17153 		}
17154 	} else {
17155 		if (yych <= 'n') {
17156 			if (yych == 'i') goto yy1256;
17157 			goto yy55;
17158 		} else {
17159 			if (yych <= 'o') goto yy1255;
17160 			if (yych == 's') goto yy1257;
17161 			goto yy55;
17162 		}
17163 	}
17164 yy1167:
17165 	YYDEBUG(1167, *YYCURSOR);
17166 	yych = *++YYCURSOR;
17167 	if (yych == 0xB5) goto yy1252;
17168 	goto yy55;
17169 yy1168:
17170 	YYDEBUG(1168, *YYCURSOR);
17171 	yych = *++YYCURSOR;
17172 	if (yych == 'S') goto yy1250;
17173 	if (yych == 's') goto yy1250;
17174 	goto yy55;
17175 yy1169:
17176 	YYDEBUG(1169, *YYCURSOR);
17177 	yych = *++YYCURSOR;
17178 	if (yych <= 'U') {
17179 		if (yych <= 'D') {
17180 			if (yych == 'A') goto yy1235;
17181 			goto yy55;
17182 		} else {
17183 			if (yych <= 'E') goto yy1236;
17184 			if (yych <= 'T') goto yy55;
17185 			goto yy1234;
17186 		}
17187 	} else {
17188 		if (yych <= 'd') {
17189 			if (yych == 'a') goto yy1235;
17190 			goto yy55;
17191 		} else {
17192 			if (yych <= 'e') goto yy1236;
17193 			if (yych == 'u') goto yy1234;
17194 			goto yy55;
17195 		}
17196 	}
17197 yy1170:
17198 	YYDEBUG(1170, *YYCURSOR);
17199 	yych = *++YYCURSOR;
17200 	if (yych == 'O') goto yy1232;
17201 	if (yych == 'o') goto yy1232;
17202 	goto yy55;
17203 yy1171:
17204 	YYDEBUG(1171, *YYCURSOR);
17205 	yych = *++YYCURSOR;
17206 	if (yych == 'A') goto yy1231;
17207 	if (yych == 'a') goto yy1231;
17208 	goto yy55;
17209 yy1172:
17210 	YYDEBUG(1172, *YYCURSOR);
17211 	yych = *++YYCURSOR;
17212 	if (yych <= 'R') {
17213 		if (yych == 'O') goto yy1215;
17214 		if (yych <= 'Q') goto yy55;
17215 		goto yy1214;
17216 	} else {
17217 		if (yych <= 'o') {
17218 			if (yych <= 'n') goto yy55;
17219 			goto yy1215;
17220 		} else {
17221 			if (yych == 'r') goto yy1214;
17222 			goto yy55;
17223 		}
17224 	}
17225 yy1173:
17226 	YYDEBUG(1173, *YYCURSOR);
17227 	yych = *++YYCURSOR;
17228 	if (yych == 'E') goto yy1211;
17229 	if (yych == 'e') goto yy1211;
17230 	goto yy55;
17231 yy1174:
17232 	YYDEBUG(1174, *YYCURSOR);
17233 	yych = *++YYCURSOR;
17234 	if (yych == 'E') goto yy1196;
17235 	if (yych == 'e') goto yy1196;
17236 	goto yy55;
17237 yy1175:
17238 	YYDEBUG(1175, *YYCURSOR);
17239 	yych = *++YYCURSOR;
17240 	if (yych <= 'U') {
17241 		if (yych == 'H') goto yy1176;
17242 		if (yych <= 'T') goto yy55;
17243 		goto yy1177;
17244 	} else {
17245 		if (yych <= 'h') {
17246 			if (yych <= 'g') goto yy55;
17247 		} else {
17248 			if (yych == 'u') goto yy1177;
17249 			goto yy55;
17250 		}
17251 	}
17252 yy1176:
17253 	YYDEBUG(1176, *YYCURSOR);
17254 	yych = *++YYCURSOR;
17255 	if (yych == 'U') goto yy1190;
17256 	if (yych == 'u') goto yy1190;
17257 	goto yy55;
17258 yy1177:
17259 	YYDEBUG(1177, *YYCURSOR);
17260 	yych = *++YYCURSOR;
17261 	if (yych == 'E') goto yy1178;
17262 	if (yych != 'e') goto yy55;
17263 yy1178:
17264 	YYDEBUG(1178, *YYCURSOR);
17265 	yyaccept = 26;
17266 	yych = *(YYMARKER = ++YYCURSOR);
17267 	if (yych <= ' ') {
17268 		if (yych == '\t') goto yy1180;
17269 		if (yych >= ' ') goto yy1180;
17270 	} else {
17271 		if (yych <= 'S') {
17272 			if (yych >= 'S') goto yy1182;
17273 		} else {
17274 			if (yych == 's') goto yy1182;
17275 		}
17276 	}
17277 yy1179:
17278 	YYDEBUG(1179, *YYCURSOR);
17279 #line 1796 "ext/date/lib/parse_date.re"
17280 	{
17281 		timelib_sll i;
17282 		int         behavior = 0;
17283 		DEBUG_OUTPUT("relativetext");
17284 		TIMELIB_INIT;
17285 		TIMELIB_HAVE_RELATIVE();
17286 
17287 		while(*ptr) {
17288 			i = timelib_get_relative_text(&ptr, &behavior);
17289 			timelib_eat_spaces(&ptr);
17290 			timelib_set_relative(&ptr, i, behavior, s, TIMELIB_TIME_PART_DONT_KEEP);
17291 		}
17292 		TIMELIB_DEINIT;
17293 		return TIMELIB_RELATIVE;
17294 	}
17295 #line 17296 "<stdout>"
17296 yy1180:
17297 	YYDEBUG(1180, *YYCURSOR);
17298 	++YYCURSOR;
17299 	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
17300 	yych = *YYCURSOR;
17301 	YYDEBUG(1181, *YYCURSOR);
17302 	if (yych <= ' ') {
17303 		if (yych == '\t') goto yy1180;
17304 		if (yych <= 0x1F) goto yy55;
17305 		goto yy1180;
17306 	} else {
17307 		if (yych <= 'O') {
17308 			if (yych <= 'N') goto yy55;
17309 			goto yy1187;
17310 		} else {
17311 			if (yych == 'o') goto yy1187;
17312 			goto yy55;
17313 		}
17314 	}
17315 yy1182:
17316 	YYDEBUG(1182, *YYCURSOR);
17317 	yych = *++YYCURSOR;
17318 	if (yych == 'D') goto yy1183;
17319 	if (yych != 'd') goto yy55;
17320 yy1183:
17321 	YYDEBUG(1183, *YYCURSOR);
17322 	yych = *++YYCURSOR;
17323 	if (yych == 'A') goto yy1184;
17324 	if (yych != 'a') goto yy55;
17325 yy1184:
17326 	YYDEBUG(1184, *YYCURSOR);
17327 	yych = *++YYCURSOR;
17328 	if (yych == 'Y') goto yy1185;
17329 	if (yych != 'y') goto yy55;
17330 yy1185:
17331 	YYDEBUG(1185, *YYCURSOR);
17332 	yyaccept = 26;
17333 	yych = *(YYMARKER = ++YYCURSOR);
17334 	if (yych <= ' ') {
17335 		if (yych == '\t') goto yy1180;
17336 		if (yych <= 0x1F) goto yy1179;
17337 		goto yy1180;
17338 	} else {
17339 		if (yych <= 'S') {
17340 			if (yych <= 'R') goto yy1179;
17341 		} else {
17342 			if (yych != 's') goto yy1179;
17343 		}
17344 	}
17345 yy1186:
17346 	YYDEBUG(1186, *YYCURSOR);
17347 	yyaccept = 26;
17348 	yych = *(YYMARKER = ++YYCURSOR);
17349 	if (yych == '\t') goto yy1180;
17350 	if (yych == ' ') goto yy1180;
17351 	goto yy1179;
17352 yy1187:
17353 	YYDEBUG(1187, *YYCURSOR);
17354 	yych = *++YYCURSOR;
17355 	if (yych == 'F') goto yy1188;
17356 	if (yych != 'f') goto yy55;
17357 yy1188:
17358 	YYDEBUG(1188, *YYCURSOR);
17359 	++YYCURSOR;
17360 	YYDEBUG(1189, *YYCURSOR);
17361 #line 1255 "ext/date/lib/parse_date.re"
17362 	{
17363 		timelib_sll i;
17364 		int         behavior = 0;
17365 		DEBUG_OUTPUT("weekdayof");
17366 		TIMELIB_INIT;
17367 		TIMELIB_HAVE_RELATIVE();
17368 		TIMELIB_HAVE_SPECIAL_RELATIVE();
17369 
17370 		i = timelib_get_relative_text(&ptr, &behavior);
17371 		timelib_eat_spaces(&ptr);
17372 		if (i > 0) { /* first, second... etc */
17373 			s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH;
17374 			timelib_set_relative(&ptr, i, 1, s, TIMELIB_TIME_PART_DONT_KEEP);
17375 		} else { /* last */
17376 			s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH;
17377 			timelib_set_relative(&ptr, i, behavior, s, TIMELIB_TIME_PART_DONT_KEEP);
17378 		}
17379 		TIMELIB_DEINIT;
17380 		return TIMELIB_WEEK_DAY_OF_MONTH;
17381 	}
17382 #line 17383 "<stdout>"
17383 yy1190:
17384 	YYDEBUG(1190, *YYCURSOR);
17385 	yyaccept = 26;
17386 	yych = *(YYMARKER = ++YYCURSOR);
17387 	if (yych <= ' ') {
17388 		if (yych == '\t') goto yy1180;
17389 		if (yych <= 0x1F) goto yy1179;
17390 		goto yy1180;
17391 	} else {
17392 		if (yych <= 'R') {
17393 			if (yych <= 'Q') goto yy1179;
17394 		} else {
17395 			if (yych != 'r') goto yy1179;
17396 		}
17397 	}
17398 	YYDEBUG(1191, *YYCURSOR);
17399 	yych = *++YYCURSOR;
17400 	if (yych == 'S') goto yy1192;
17401 	if (yych != 's') goto yy55;
17402 yy1192:
17403 	YYDEBUG(1192, *YYCURSOR);
17404 	yych = *++YYCURSOR;
17405 	if (yych == 'D') goto yy1193;
17406 	if (yych != 'd') goto yy55;
17407 yy1193:
17408 	YYDEBUG(1193, *YYCURSOR);
17409 	yych = *++YYCURSOR;
17410 	if (yych == 'A') goto yy1194;
17411 	if (yych != 'a') goto yy55;
17412 yy1194:
17413 	YYDEBUG(1194, *YYCURSOR);
17414 	yych = *++YYCURSOR;
17415 	if (yych == 'Y') goto yy1195;
17416 	if (yych != 'y') goto yy55;
17417 yy1195:
17418 	YYDEBUG(1195, *YYCURSOR);
17419 	yyaccept = 26;
17420 	yych = *(YYMARKER = ++YYCURSOR);
17421 	if (yych <= ' ') {
17422 		if (yych == '\t') goto yy1180;
17423 		if (yych <= 0x1F) goto yy1179;
17424 		goto yy1180;
17425 	} else {
17426 		if (yych <= 'S') {
17427 			if (yych <= 'R') goto yy1179;
17428 			goto yy1186;
17429 		} else {
17430 			if (yych == 's') goto yy1186;
17431 			goto yy1179;
17432 		}
17433 	}
17434 yy1196:
17435 	YYDEBUG(1196, *YYCURSOR);
17436 	yych = *++YYCURSOR;
17437 	if (yych <= 'E') {
17438 		if (yych <= 'C') goto yy55;
17439 		if (yych <= 'D') goto yy1198;
17440 	} else {
17441 		if (yych <= 'c') goto yy55;
17442 		if (yych <= 'd') goto yy1198;
17443 		if (yych >= 'f') goto yy55;
17444 	}
17445 	YYDEBUG(1197, *YYCURSOR);
17446 	yych = *++YYCURSOR;
17447 	if (yych == 'K') goto yy1205;
17448 	if (yych == 'k') goto yy1205;
17449 	goto yy55;
17450 yy1198:
17451 	YYDEBUG(1198, *YYCURSOR);
17452 	yyaccept = 26;
17453 	yych = *(YYMARKER = ++YYCURSOR);
17454 	if (yych <= ' ') {
17455 		if (yych == '\t') goto yy1180;
17456 		if (yych <= 0x1F) goto yy1179;
17457 		goto yy1180;
17458 	} else {
17459 		if (yych <= 'N') {
17460 			if (yych <= 'M') goto yy1179;
17461 		} else {
17462 			if (yych != 'n') goto yy1179;
17463 		}
17464 	}
17465 	YYDEBUG(1199, *YYCURSOR);
17466 	yych = *++YYCURSOR;
17467 	if (yych == 'E') goto yy1200;
17468 	if (yych != 'e') goto yy55;
17469 yy1200:
17470 	YYDEBUG(1200, *YYCURSOR);
17471 	yych = *++YYCURSOR;
17472 	if (yych == 'S') goto yy1201;
17473 	if (yych != 's') goto yy55;
17474 yy1201:
17475 	YYDEBUG(1201, *YYCURSOR);
17476 	yych = *++YYCURSOR;
17477 	if (yych == 'D') goto yy1202;
17478 	if (yych != 'd') goto yy55;
17479 yy1202:
17480 	YYDEBUG(1202, *YYCURSOR);
17481 	yych = *++YYCURSOR;
17482 	if (yych == 'A') goto yy1203;
17483 	if (yych != 'a') goto yy55;
17484 yy1203:
17485 	YYDEBUG(1203, *YYCURSOR);
17486 	yych = *++YYCURSOR;
17487 	if (yych == 'Y') goto yy1204;
17488 	if (yych != 'y') goto yy55;
17489 yy1204:
17490 	YYDEBUG(1204, *YYCURSOR);
17491 	yyaccept = 26;
17492 	yych = *(YYMARKER = ++YYCURSOR);
17493 	if (yych <= ' ') {
17494 		if (yych == '\t') goto yy1180;
17495 		if (yych <= 0x1F) goto yy1179;
17496 		goto yy1180;
17497 	} else {
17498 		if (yych <= 'S') {
17499 			if (yych <= 'R') goto yy1179;
17500 			goto yy1186;
17501 		} else {
17502 			if (yych == 's') goto yy1186;
17503 			goto yy1179;
17504 		}
17505 	}
17506 yy1205:
17507 	YYDEBUG(1205, *YYCURSOR);
17508 	yyaccept = 27;
17509 	yych = *(YYMARKER = ++YYCURSOR);
17510 	if (yych <= 'S') {
17511 		if (yych == 'D') goto yy1208;
17512 		if (yych >= 'S') goto yy1207;
17513 	} else {
17514 		if (yych <= 'd') {
17515 			if (yych >= 'd') goto yy1208;
17516 		} else {
17517 			if (yych == 's') goto yy1207;
17518 		}
17519 	}
17520 yy1206:
17521 	YYDEBUG(1206, *YYCURSOR);
17522 #line 1772 "ext/date/lib/parse_date.re"
17523 	{
17524 		timelib_sll i;
17525 		int         behavior = 0;
17526 		DEBUG_OUTPUT("relativetextweek");
17527 		TIMELIB_INIT;
17528 		TIMELIB_HAVE_RELATIVE();
17529 
17530 		while(*ptr) {
17531 			i = timelib_get_relative_text(&ptr, &behavior);
17532 			timelib_eat_spaces(&ptr);
17533 			timelib_set_relative(&ptr, i, behavior, s, TIMELIB_TIME_PART_DONT_KEEP);
17534 			s->time->relative.weekday_behavior = 2;
17535 
17536 			/* to handle the format weekday + last/this/next week */
17537 			if (s->time->relative.have_weekday_relative == 0) {
17538 				TIMELIB_HAVE_WEEKDAY_RELATIVE();
17539 				s->time->relative.weekday = 1;
17540 			}
17541 		}
17542 		TIMELIB_DEINIT;
17543 		return TIMELIB_RELATIVE;
17544 	}
17545 #line 17546 "<stdout>"
17546 yy1207:
17547 	YYDEBUG(1207, *YYCURSOR);
17548 	yych = *++YYCURSOR;
17549 	goto yy1179;
17550 yy1208:
17551 	YYDEBUG(1208, *YYCURSOR);
17552 	yych = *++YYCURSOR;
17553 	if (yych == 'A') goto yy1209;
17554 	if (yych != 'a') goto yy55;
17555 yy1209:
17556 	YYDEBUG(1209, *YYCURSOR);
17557 	yych = *++YYCURSOR;
17558 	if (yych == 'Y') goto yy1210;
17559 	if (yych != 'y') goto yy55;
17560 yy1210:
17561 	YYDEBUG(1210, *YYCURSOR);
17562 	yych = *++YYCURSOR;
17563 	if (yych == 'S') goto yy1207;
17564 	if (yych == 's') goto yy1207;
17565 	goto yy1179;
17566 yy1211:
17567 	YYDEBUG(1211, *YYCURSOR);
17568 	yych = *++YYCURSOR;
17569 	if (yych == 'A') goto yy1212;
17570 	if (yych != 'a') goto yy55;
17571 yy1212:
17572 	YYDEBUG(1212, *YYCURSOR);
17573 	yych = *++YYCURSOR;
17574 	if (yych == 'R') goto yy1213;
17575 	if (yych != 'r') goto yy55;
17576 yy1213:
17577 	YYDEBUG(1213, *YYCURSOR);
17578 	yych = *++YYCURSOR;
17579 	if (yych == 'S') goto yy1207;
17580 	if (yych == 's') goto yy1207;
17581 	goto yy1179;
17582 yy1214:
17583 	YYDEBUG(1214, *YYCURSOR);
17584 	yych = *++YYCURSOR;
17585 	if (yych == 'I') goto yy1227;
17586 	if (yych == 'i') goto yy1227;
17587 	goto yy55;
17588 yy1215:
17589 	YYDEBUG(1215, *YYCURSOR);
17590 	yych = *++YYCURSOR;
17591 	if (yych == 'R') goto yy1216;
17592 	if (yych != 'r') goto yy55;
17593 yy1216:
17594 	YYDEBUG(1216, *YYCURSOR);
17595 	yych = *++YYCURSOR;
17596 	if (yych == 'T') goto yy1217;
17597 	if (yych != 't') goto yy55;
17598 yy1217:
17599 	YYDEBUG(1217, *YYCURSOR);
17600 	yych = *++YYCURSOR;
17601 	if (yych <= 'N') {
17602 		if (yych == 'H') goto yy1219;
17603 		if (yych <= 'M') goto yy55;
17604 	} else {
17605 		if (yych <= 'h') {
17606 			if (yych <= 'g') goto yy55;
17607 			goto yy1219;
17608 		} else {
17609 			if (yych != 'n') goto yy55;
17610 		}
17611 	}
17612 	YYDEBUG(1218, *YYCURSOR);
17613 	yych = *++YYCURSOR;
17614 	if (yych == 'I') goto yy1224;
17615 	if (yych == 'i') goto yy1224;
17616 	goto yy55;
17617 yy1219:
17618 	YYDEBUG(1219, *YYCURSOR);
17619 	yych = *++YYCURSOR;
17620 	if (yych == 'N') goto yy1220;
17621 	if (yych != 'n') goto yy55;
17622 yy1220:
17623 	YYDEBUG(1220, *YYCURSOR);
17624 	yych = *++YYCURSOR;
17625 	if (yych == 'I') goto yy1221;
17626 	if (yych != 'i') goto yy55;
17627 yy1221:
17628 	YYDEBUG(1221, *YYCURSOR);
17629 	yych = *++YYCURSOR;
17630 	if (yych == 'G') goto yy1222;
17631 	if (yych != 'g') goto yy55;
17632 yy1222:
17633 	YYDEBUG(1222, *YYCURSOR);
17634 	yych = *++YYCURSOR;
17635 	if (yych == 'H') goto yy1223;
17636 	if (yych != 'h') goto yy55;
17637 yy1223:
17638 	YYDEBUG(1223, *YYCURSOR);
17639 	yych = *++YYCURSOR;
17640 	if (yych == 'T') goto yy1213;
17641 	if (yych == 't') goto yy1213;
17642 	goto yy55;
17643 yy1224:
17644 	YYDEBUG(1224, *YYCURSOR);
17645 	yych = *++YYCURSOR;
17646 	if (yych == 'G') goto yy1225;
17647 	if (yych != 'g') goto yy55;
17648 yy1225:
17649 	YYDEBUG(1225, *YYCURSOR);
17650 	yych = *++YYCURSOR;
17651 	if (yych == 'H') goto yy1226;
17652 	if (yych != 'h') goto yy55;
17653 yy1226:
17654 	YYDEBUG(1226, *YYCURSOR);
17655 	yych = *++YYCURSOR;
17656 	if (yych == 'T') goto yy1213;
17657 	if (yych == 't') goto yy1213;
17658 	goto yy55;
17659 yy1227:
17660 	YYDEBUG(1227, *YYCURSOR);
17661 	yyaccept = 26;
17662 	yych = *(YYMARKER = ++YYCURSOR);
17663 	if (yych <= ' ') {
17664 		if (yych == '\t') goto yy1180;
17665 		if (yych <= 0x1F) goto yy1179;
17666 		goto yy1180;
17667 	} else {
17668 		if (yych <= 'D') {
17669 			if (yych <= 'C') goto yy1179;
17670 		} else {
17671 			if (yych != 'd') goto yy1179;
17672 		}
17673 	}
17674 	YYDEBUG(1228, *YYCURSOR);
17675 	yych = *++YYCURSOR;
17676 	if (yych == 'A') goto yy1229;
17677 	if (yych != 'a') goto yy55;
17678 yy1229:
17679 	YYDEBUG(1229, *YYCURSOR);
17680 	yych = *++YYCURSOR;
17681 	if (yych == 'Y') goto yy1230;
17682 	if (yych != 'y') goto yy55;
17683 yy1230:
17684 	YYDEBUG(1230, *YYCURSOR);
17685 	yyaccept = 26;
17686 	yych = *(YYMARKER = ++YYCURSOR);
17687 	if (yych <= ' ') {
17688 		if (yych == '\t') goto yy1180;
17689 		if (yych <= 0x1F) goto yy1179;
17690 		goto yy1180;
17691 	} else {
17692 		if (yych <= 'S') {
17693 			if (yych <= 'R') goto yy1179;
17694 			goto yy1186;
17695 		} else {
17696 			if (yych == 's') goto yy1186;
17697 			goto yy1179;
17698 		}
17699 	}
17700 yy1231:
17701 	YYDEBUG(1231, *YYCURSOR);
17702 	yych = *++YYCURSOR;
17703 	if (yych == 'Y') goto yy1213;
17704 	if (yych == 'y') goto yy1213;
17705 	goto yy55;
17706 yy1232:
17707 	YYDEBUG(1232, *YYCURSOR);
17708 	yych = *++YYCURSOR;
17709 	if (yych == 'U') goto yy1233;
17710 	if (yych != 'u') goto yy55;
17711 yy1233:
17712 	YYDEBUG(1233, *YYCURSOR);
17713 	yych = *++YYCURSOR;
17714 	if (yych == 'R') goto yy1213;
17715 	if (yych == 'r') goto yy1213;
17716 	goto yy55;
17717 yy1234:
17718 	YYDEBUG(1234, *YYCURSOR);
17719 	yych = *++YYCURSOR;
17720 	if (yych == 'N') goto yy1246;
17721 	if (yych == 'n') goto yy1246;
17722 	goto yy55;
17723 yy1235:
17724 	YYDEBUG(1235, *YYCURSOR);
17725 	yych = *++YYCURSOR;
17726 	if (yych == 'T') goto yy1240;
17727 	if (yych == 't') goto yy1240;
17728 	goto yy55;
17729 yy1236:
17730 	YYDEBUG(1236, *YYCURSOR);
17731 	yych = *++YYCURSOR;
17732 	if (yych == 'C') goto yy1237;
17733 	if (yych != 'c') goto yy55;
17734 yy1237:
17735 	YYDEBUG(1237, *YYCURSOR);
17736 	yyaccept = 26;
17737 	yych = *(YYMARKER = ++YYCURSOR);
17738 	if (yych <= 'S') {
17739 		if (yych == 'O') goto yy1238;
17740 		if (yych <= 'R') goto yy1179;
17741 		goto yy1207;
17742 	} else {
17743 		if (yych <= 'o') {
17744 			if (yych <= 'n') goto yy1179;
17745 		} else {
17746 			if (yych == 's') goto yy1207;
17747 			goto yy1179;
17748 		}
17749 	}
17750 yy1238:
17751 	YYDEBUG(1238, *YYCURSOR);
17752 	yych = *++YYCURSOR;
17753 	if (yych == 'N') goto yy1239;
17754 	if (yych != 'n') goto yy55;
17755 yy1239:
17756 	YYDEBUG(1239, *YYCURSOR);
17757 	yych = *++YYCURSOR;
17758 	if (yych == 'D') goto yy1213;
17759 	if (yych == 'd') goto yy1213;
17760 	goto yy55;
17761 yy1240:
17762 	YYDEBUG(1240, *YYCURSOR);
17763 	yyaccept = 26;
17764 	yych = *(YYMARKER = ++YYCURSOR);
17765 	if (yych <= ' ') {
17766 		if (yych == '\t') goto yy1180;
17767 		if (yych <= 0x1F) goto yy1179;
17768 		goto yy1180;
17769 	} else {
17770 		if (yych <= 'U') {
17771 			if (yych <= 'T') goto yy1179;
17772 		} else {
17773 			if (yych != 'u') goto yy1179;
17774 		}
17775 	}
17776 	YYDEBUG(1241, *YYCURSOR);
17777 	yych = *++YYCURSOR;
17778 	if (yych == 'R') goto yy1242;
17779 	if (yych != 'r') goto yy55;
17780 yy1242:
17781 	YYDEBUG(1242, *YYCURSOR);
17782 	yych = *++YYCURSOR;
17783 	if (yych == 'D') goto yy1243;
17784 	if (yych != 'd') goto yy55;
17785 yy1243:
17786 	YYDEBUG(1243, *YYCURSOR);
17787 	yych = *++YYCURSOR;
17788 	if (yych == 'A') goto yy1244;
17789 	if (yych != 'a') goto yy55;
17790 yy1244:
17791 	YYDEBUG(1244, *YYCURSOR);
17792 	yych = *++YYCURSOR;
17793 	if (yych == 'Y') goto yy1245;
17794 	if (yych != 'y') goto yy55;
17795 yy1245:
17796 	YYDEBUG(1245, *YYCURSOR);
17797 	yyaccept = 26;
17798 	yych = *(YYMARKER = ++YYCURSOR);
17799 	if (yych <= ' ') {
17800 		if (yych == '\t') goto yy1180;
17801 		if (yych <= 0x1F) goto yy1179;
17802 		goto yy1180;
17803 	} else {
17804 		if (yych <= 'S') {
17805 			if (yych <= 'R') goto yy1179;
17806 			goto yy1186;
17807 		} else {
17808 			if (yych == 's') goto yy1186;
17809 			goto yy1179;
17810 		}
17811 	}
17812 yy1246:
17813 	YYDEBUG(1246, *YYCURSOR);
17814 	yyaccept = 26;
17815 	yych = *(YYMARKER = ++YYCURSOR);
17816 	if (yych <= ' ') {
17817 		if (yych == '\t') goto yy1180;
17818 		if (yych <= 0x1F) goto yy1179;
17819 		goto yy1180;
17820 	} else {
17821 		if (yych <= 'D') {
17822 			if (yych <= 'C') goto yy1179;
17823 		} else {
17824 			if (yych != 'd') goto yy1179;
17825 		}
17826 	}
17827 	YYDEBUG(1247, *YYCURSOR);
17828 	yych = *++YYCURSOR;
17829 	if (yych == 'A') goto yy1248;
17830 	if (yych != 'a') goto yy55;
17831 yy1248:
17832 	YYDEBUG(1248, *YYCURSOR);
17833 	yych = *++YYCURSOR;
17834 	if (yych == 'Y') goto yy1249;
17835 	if (yych != 'y') goto yy55;
17836 yy1249:
17837 	YYDEBUG(1249, *YYCURSOR);
17838 	yyaccept = 26;
17839 	yych = *(YYMARKER = ++YYCURSOR);
17840 	if (yych <= ' ') {
17841 		if (yych == '\t') goto yy1180;
17842 		if (yych <= 0x1F) goto yy1179;
17843 		goto yy1180;
17844 	} else {
17845 		if (yych <= 'S') {
17846 			if (yych <= 'R') goto yy1179;
17847 			goto yy1186;
17848 		} else {
17849 			if (yych == 's') goto yy1186;
17850 			goto yy1179;
17851 		}
17852 	}
17853 yy1250:
17854 	YYDEBUG(1250, *YYCURSOR);
17855 	yych = *++YYCURSOR;
17856 	if (yych == 'E') goto yy1251;
17857 	if (yych != 'e') goto yy55;
17858 yy1251:
17859 	YYDEBUG(1251, *YYCURSOR);
17860 	yych = *++YYCURSOR;
17861 	if (yych == 'C') goto yy1213;
17862 	if (yych == 'c') goto yy1213;
17863 	goto yy55;
17864 yy1252:
17865 	YYDEBUG(1252, *YYCURSOR);
17866 	yych = *++YYCURSOR;
17867 	if (yych == 'S') goto yy1253;
17868 	if (yych != 's') goto yy55;
17869 yy1253:
17870 	YYDEBUG(1253, *YYCURSOR);
17871 	yyaccept = 26;
17872 	yych = *(YYMARKER = ++YYCURSOR);
17873 	if (yych == 'E') goto yy1254;
17874 	if (yych != 'e') goto yy1179;
17875 yy1254:
17876 	YYDEBUG(1254, *YYCURSOR);
17877 	yych = *++YYCURSOR;
17878 	if (yych == 'C') goto yy1213;
17879 	if (yych == 'c') goto yy1213;
17880 	goto yy55;
17881 yy1255:
17882 	YYDEBUG(1255, *YYCURSOR);
17883 	yych = *++YYCURSOR;
17884 	if (yych == 'N') goto yy1278;
17885 	if (yych == 'n') goto yy1278;
17886 	goto yy55;
17887 yy1256:
17888 	YYDEBUG(1256, *YYCURSOR);
17889 	yych = *++YYCURSOR;
17890 	if (yych <= 'N') {
17891 		if (yych <= 'K') {
17892 			if (yych == 'C') goto yy1260;
17893 			goto yy55;
17894 		} else {
17895 			if (yych <= 'L') goto yy1259;
17896 			if (yych <= 'M') goto yy55;
17897 			goto yy1261;
17898 		}
17899 	} else {
17900 		if (yych <= 'k') {
17901 			if (yych == 'c') goto yy1260;
17902 			goto yy55;
17903 		} else {
17904 			if (yych <= 'l') goto yy1259;
17905 			if (yych == 'n') goto yy1261;
17906 			goto yy55;
17907 		}
17908 	}
17909 yy1257:
17910 	YYDEBUG(1257, *YYCURSOR);
17911 	yyaccept = 26;
17912 	yych = *(YYMARKER = ++YYCURSOR);
17913 	if (yych == 'E') goto yy1258;
17914 	if (yych != 'e') goto yy1179;
17915 yy1258:
17916 	YYDEBUG(1258, *YYCURSOR);
17917 	yych = *++YYCURSOR;
17918 	if (yych == 'C') goto yy1213;
17919 	if (yych == 'c') goto yy1213;
17920 	goto yy55;
17921 yy1259:
17922 	YYDEBUG(1259, *YYCURSOR);
17923 	yych = *++YYCURSOR;
17924 	if (yych == 'L') goto yy1271;
17925 	if (yych == 'l') goto yy1271;
17926 	goto yy55;
17927 yy1260:
17928 	YYDEBUG(1260, *YYCURSOR);
17929 	yych = *++YYCURSOR;
17930 	if (yych == 'R') goto yy1264;
17931 	if (yych == 'r') goto yy1264;
17932 	goto yy55;
17933 yy1261:
17934 	YYDEBUG(1261, *YYCURSOR);
17935 	yyaccept = 26;
17936 	yych = *(YYMARKER = ++YYCURSOR);
17937 	if (yych <= 'U') {
17938 		if (yych == 'S') goto yy1207;
17939 		if (yych <= 'T') goto yy1179;
17940 	} else {
17941 		if (yych <= 's') {
17942 			if (yych <= 'r') goto yy1179;
17943 			goto yy1207;
17944 		} else {
17945 			if (yych != 'u') goto yy1179;
17946 		}
17947 	}
17948 	YYDEBUG(1262, *YYCURSOR);
17949 	yych = *++YYCURSOR;
17950 	if (yych == 'T') goto yy1263;
17951 	if (yych != 't') goto yy55;
17952 yy1263:
17953 	YYDEBUG(1263, *YYCURSOR);
17954 	yych = *++YYCURSOR;
17955 	if (yych == 'E') goto yy1213;
17956 	if (yych == 'e') goto yy1213;
17957 	goto yy55;
17958 yy1264:
17959 	YYDEBUG(1264, *YYCURSOR);
17960 	yych = *++YYCURSOR;
17961 	if (yych == 'O') goto yy1265;
17962 	if (yych != 'o') goto yy55;
17963 yy1265:
17964 	YYDEBUG(1265, *YYCURSOR);
17965 	yych = *++YYCURSOR;
17966 	if (yych == 'S') goto yy1266;
17967 	if (yych != 's') goto yy55;
17968 yy1266:
17969 	YYDEBUG(1266, *YYCURSOR);
17970 	yych = *++YYCURSOR;
17971 	if (yych == 'E') goto yy1267;
17972 	if (yych != 'e') goto yy55;
17973 yy1267:
17974 	YYDEBUG(1267, *YYCURSOR);
17975 	yych = *++YYCURSOR;
17976 	if (yych == 'C') goto yy1268;
17977 	if (yych != 'c') goto yy55;
17978 yy1268:
17979 	YYDEBUG(1268, *YYCURSOR);
17980 	yych = *++YYCURSOR;
17981 	if (yych == 'O') goto yy1269;
17982 	if (yych != 'o') goto yy55;
17983 yy1269:
17984 	YYDEBUG(1269, *YYCURSOR);
17985 	yych = *++YYCURSOR;
17986 	if (yych == 'N') goto yy1270;
17987 	if (yych != 'n') goto yy55;
17988 yy1270:
17989 	YYDEBUG(1270, *YYCURSOR);
17990 	yych = *++YYCURSOR;
17991 	if (yych == 'D') goto yy1213;
17992 	if (yych == 'd') goto yy1213;
17993 	goto yy55;
17994 yy1271:
17995 	YYDEBUG(1271, *YYCURSOR);
17996 	yych = *++YYCURSOR;
17997 	if (yych == 'I') goto yy1272;
17998 	if (yych != 'i') goto yy55;
17999 yy1272:
18000 	YYDEBUG(1272, *YYCURSOR);
18001 	yych = *++YYCURSOR;
18002 	if (yych == 'S') goto yy1273;
18003 	if (yych != 's') goto yy55;
18004 yy1273:
18005 	YYDEBUG(1273, *YYCURSOR);
18006 	yych = *++YYCURSOR;
18007 	if (yych == 'E') goto yy1274;
18008 	if (yych != 'e') goto yy55;
18009 yy1274:
18010 	YYDEBUG(1274, *YYCURSOR);
18011 	yych = *++YYCURSOR;
18012 	if (yych == 'C') goto yy1275;
18013 	if (yych != 'c') goto yy55;
18014 yy1275:
18015 	YYDEBUG(1275, *YYCURSOR);
18016 	yych = *++YYCURSOR;
18017 	if (yych == 'O') goto yy1276;
18018 	if (yych != 'o') goto yy55;
18019 yy1276:
18020 	YYDEBUG(1276, *YYCURSOR);
18021 	yych = *++YYCURSOR;
18022 	if (yych == 'N') goto yy1277;
18023 	if (yych != 'n') goto yy55;
18024 yy1277:
18025 	YYDEBUG(1277, *YYCURSOR);
18026 	yych = *++YYCURSOR;
18027 	if (yych == 'D') goto yy1213;
18028 	if (yych == 'd') goto yy1213;
18029 	goto yy55;
18030 yy1278:
18031 	YYDEBUG(1278, *YYCURSOR);
18032 	yyaccept = 26;
18033 	yych = *(YYMARKER = ++YYCURSOR);
18034 	if (yych <= 'D') {
18035 		if (yych <= 0x1F) {
18036 			if (yych == '\t') goto yy1180;
18037 			goto yy1179;
18038 		} else {
18039 			if (yych <= ' ') goto yy1180;
18040 			if (yych <= 'C') goto yy1179;
18041 		}
18042 	} else {
18043 		if (yych <= 'c') {
18044 			if (yych == 'T') goto yy1280;
18045 			goto yy1179;
18046 		} else {
18047 			if (yych <= 'd') goto yy1279;
18048 			if (yych == 't') goto yy1280;
18049 			goto yy1179;
18050 		}
18051 	}
18052 yy1279:
18053 	YYDEBUG(1279, *YYCURSOR);
18054 	yych = *++YYCURSOR;
18055 	if (yych == 'A') goto yy1281;
18056 	if (yych == 'a') goto yy1281;
18057 	goto yy55;
18058 yy1280:
18059 	YYDEBUG(1280, *YYCURSOR);
18060 	yych = *++YYCURSOR;
18061 	if (yych == 'H') goto yy1213;
18062 	if (yych == 'h') goto yy1213;
18063 	goto yy55;
18064 yy1281:
18065 	YYDEBUG(1281, *YYCURSOR);
18066 	yych = *++YYCURSOR;
18067 	if (yych == 'Y') goto yy1282;
18068 	if (yych != 'y') goto yy55;
18069 yy1282:
18070 	YYDEBUG(1282, *YYCURSOR);
18071 	yyaccept = 26;
18072 	yych = *(YYMARKER = ++YYCURSOR);
18073 	if (yych <= ' ') {
18074 		if (yych == '\t') goto yy1180;
18075 		if (yych <= 0x1F) goto yy1179;
18076 		goto yy1180;
18077 	} else {
18078 		if (yych <= 'S') {
18079 			if (yych <= 'R') goto yy1179;
18080 			goto yy1186;
18081 		} else {
18082 			if (yych == 's') goto yy1186;
18083 			goto yy1179;
18084 		}
18085 	}
18086 yy1283:
18087 	YYDEBUG(1283, *YYCURSOR);
18088 	yyaccept = 1;
18089 	yych = *(YYMARKER = ++YYCURSOR);
18090 	if (yych <= 'D') {
18091 		if (yych <= '-') {
18092 			if (yych == ')') goto yy181;
18093 			if (yych <= ',') goto yy3;
18094 			goto yy189;
18095 		} else {
18096 			if (yych == '/') goto yy189;
18097 			if (yych <= '@') goto yy3;
18098 			goto yy183;
18099 		}
18100 	} else {
18101 		if (yych <= '_') {
18102 			if (yych <= 'E') goto yy1158;
18103 			if (yych <= 'Z') goto yy183;
18104 			if (yych <= '^') goto yy3;
18105 			goto yy189;
18106 		} else {
18107 			if (yych <= 'd') {
18108 				if (yych <= '`') goto yy3;
18109 				goto yy188;
18110 			} else {
18111 				if (yych <= 'e') goto yy1284;
18112 				if (yych <= 'z') goto yy188;
18113 				goto yy3;
18114 			}
18115 		}
18116 	}
18117 yy1284:
18118 	YYDEBUG(1284, *YYCURSOR);
18119 	yyaccept = 1;
18120 	yych = *(YYMARKER = ++YYCURSOR);
18121 	if (yych <= 'U') {
18122 		if (yych <= '-') {
18123 			if (yych == ')') goto yy181;
18124 			if (yych <= ',') goto yy3;
18125 			goto yy189;
18126 		} else {
18127 			if (yych == '/') goto yy189;
18128 			if (yych <= '@') goto yy3;
18129 			goto yy184;
18130 		}
18131 	} else {
18132 		if (yych <= '_') {
18133 			if (yych <= 'V') goto yy1159;
18134 			if (yych <= 'Z') goto yy184;
18135 			if (yych <= '^') goto yy3;
18136 			goto yy189;
18137 		} else {
18138 			if (yych <= 'u') {
18139 				if (yych <= '`') goto yy3;
18140 				goto yy192;
18141 			} else {
18142 				if (yych <= 'v') goto yy1285;
18143 				if (yych <= 'z') goto yy192;
18144 				goto yy3;
18145 			}
18146 		}
18147 	}
18148 yy1285:
18149 	YYDEBUG(1285, *YYCURSOR);
18150 	yyaccept = 1;
18151 	yych = *(YYMARKER = ++YYCURSOR);
18152 	if (yych <= 'H') {
18153 		if (yych <= '-') {
18154 			if (yych == ')') goto yy181;
18155 			if (yych <= ',') goto yy3;
18156 			goto yy189;
18157 		} else {
18158 			if (yych == '/') goto yy189;
18159 			if (yych <= '@') goto yy3;
18160 			goto yy185;
18161 		}
18162 	} else {
18163 		if (yych <= '_') {
18164 			if (yych <= 'I') goto yy1160;
18165 			if (yych <= 'Z') goto yy185;
18166 			if (yych <= '^') goto yy3;
18167 			goto yy189;
18168 		} else {
18169 			if (yych <= 'h') {
18170 				if (yych <= '`') goto yy3;
18171 				goto yy193;
18172 			} else {
18173 				if (yych <= 'i') goto yy1286;
18174 				if (yych <= 'z') goto yy193;
18175 				goto yy3;
18176 			}
18177 		}
18178 	}
18179 yy1286:
18180 	YYDEBUG(1286, *YYCURSOR);
18181 	yyaccept = 1;
18182 	yych = *(YYMARKER = ++YYCURSOR);
18183 	if (yych <= 'N') {
18184 		if (yych <= '-') {
18185 			if (yych == ')') goto yy181;
18186 			if (yych <= ',') goto yy3;
18187 			goto yy189;
18188 		} else {
18189 			if (yych == '/') goto yy189;
18190 			if (yych <= '@') goto yy3;
18191 			goto yy186;
18192 		}
18193 	} else {
18194 		if (yych <= '_') {
18195 			if (yych <= 'O') goto yy1161;
18196 			if (yych <= 'Z') goto yy186;
18197 			if (yych <= '^') goto yy3;
18198 			goto yy189;
18199 		} else {
18200 			if (yych <= 'n') {
18201 				if (yych <= '`') goto yy3;
18202 				goto yy194;
18203 			} else {
18204 				if (yych <= 'o') goto yy1287;
18205 				if (yych <= 'z') goto yy194;
18206 				goto yy3;
18207 			}
18208 		}
18209 	}
18210 yy1287:
18211 	YYDEBUG(1287, *YYCURSOR);
18212 	yyaccept = 1;
18213 	yych = *(YYMARKER = ++YYCURSOR);
18214 	if (yych <= 'T') {
18215 		if (yych <= ',') {
18216 			if (yych == ')') goto yy181;
18217 			goto yy3;
18218 		} else {
18219 			if (yych == '.') goto yy3;
18220 			if (yych <= '/') goto yy189;
18221 			goto yy3;
18222 		}
18223 	} else {
18224 		if (yych <= '`') {
18225 			if (yych <= 'U') goto yy1162;
18226 			if (yych == '_') goto yy189;
18227 			goto yy3;
18228 		} else {
18229 			if (yych == 'u') goto yy1288;
18230 			if (yych <= 'z') goto yy195;
18231 			goto yy3;
18232 		}
18233 	}
18234 yy1288:
18235 	YYDEBUG(1288, *YYCURSOR);
18236 	yych = *++YYCURSOR;
18237 	if (yych == 'S') goto yy1163;
18238 	if (yych != 's') goto yy196;
18239 	YYDEBUG(1289, *YYCURSOR);
18240 	yych = *++YYCURSOR;
18241 	if (yybm[0+yych] & 8) {
18242 		goto yy195;
18243 	}
18244 	if (yych <= ',') {
18245 		if (yych <= '\t') {
18246 			if (yych <= 0x08) goto yy55;
18247 			goto yy1164;
18248 		} else {
18249 			if (yych == ' ') goto yy1164;
18250 			goto yy55;
18251 		}
18252 	} else {
18253 		if (yych <= '/') {
18254 			if (yych == '.') goto yy55;
18255 			goto yy189;
18256 		} else {
18257 			if (yych == '_') goto yy189;
18258 			goto yy55;
18259 		}
18260 	}
18261 yy1290:
18262 	YYDEBUG(1290, *YYCURSOR);
18263 	yych = *++YYCURSOR;
18264 	if (yych <= 'G') {
18265 		if (yych <= ')') {
18266 			if (yych <= '(') goto yy3;
18267 			goto yy181;
18268 		} else {
18269 			if (yych <= '@') goto yy3;
18270 			if (yych <= 'F') goto yy183;
18271 			goto yy1304;
18272 		}
18273 	} else {
18274 		if (yych <= 'f') {
18275 			if (yych <= 'Z') goto yy183;
18276 			if (yych <= '`') goto yy3;
18277 			goto yy183;
18278 		} else {
18279 			if (yych <= 'g') goto yy1304;
18280 			if (yych <= 'z') goto yy183;
18281 			goto yy3;
18282 		}
18283 	}
18284 yy1291:
18285 	YYDEBUG(1291, *YYCURSOR);
18286 	yych = *++YYCURSOR;
18287 	if (yych <= 'E') {
18288 		if (yych <= ')') {
18289 			if (yych <= '(') goto yy3;
18290 			goto yy181;
18291 		} else {
18292 			if (yych <= '@') goto yy3;
18293 			if (yych <= 'D') goto yy183;
18294 		}
18295 	} else {
18296 		if (yych <= 'd') {
18297 			if (yych <= 'Z') goto yy183;
18298 			if (yych <= '`') goto yy3;
18299 			goto yy183;
18300 		} else {
18301 			if (yych <= 'e') goto yy1292;
18302 			if (yych <= 'z') goto yy183;
18303 			goto yy3;
18304 		}
18305 	}
18306 yy1292:
18307 	YYDEBUG(1292, *YYCURSOR);
18308 	yych = *++YYCURSOR;
18309 	if (yych <= 'V') {
18310 		if (yych <= ')') {
18311 			if (yych <= '(') goto yy3;
18312 			goto yy181;
18313 		} else {
18314 			if (yych <= '@') goto yy3;
18315 			if (yych <= 'U') goto yy184;
18316 		}
18317 	} else {
18318 		if (yych <= 'u') {
18319 			if (yych <= 'Z') goto yy184;
18320 			if (yych <= '`') goto yy3;
18321 			goto yy184;
18322 		} else {
18323 			if (yych <= 'v') goto yy1293;
18324 			if (yych <= 'z') goto yy184;
18325 			goto yy3;
18326 		}
18327 	}
18328 yy1293:
18329 	YYDEBUG(1293, *YYCURSOR);
18330 	yych = *++YYCURSOR;
18331 	if (yych <= 'E') {
18332 		if (yych <= ')') {
18333 			if (yych <= '(') goto yy3;
18334 			goto yy181;
18335 		} else {
18336 			if (yych <= '@') goto yy3;
18337 			if (yych <= 'D') goto yy185;
18338 		}
18339 	} else {
18340 		if (yych <= 'd') {
18341 			if (yych <= 'Z') goto yy185;
18342 			if (yych <= '`') goto yy3;
18343 			goto yy185;
18344 		} else {
18345 			if (yych <= 'e') goto yy1294;
18346 			if (yych <= 'z') goto yy185;
18347 			goto yy3;
18348 		}
18349 	}
18350 yy1294:
18351 	YYDEBUG(1294, *YYCURSOR);
18352 	yych = *++YYCURSOR;
18353 	if (yych <= 'N') {
18354 		if (yych <= ')') {
18355 			if (yych <= '(') goto yy3;
18356 			goto yy181;
18357 		} else {
18358 			if (yych <= '@') goto yy3;
18359 			if (yych <= 'M') goto yy186;
18360 		}
18361 	} else {
18362 		if (yych <= 'm') {
18363 			if (yych <= 'Z') goto yy186;
18364 			if (yych <= '`') goto yy3;
18365 			goto yy186;
18366 		} else {
18367 			if (yych <= 'n') goto yy1295;
18368 			if (yych <= 'z') goto yy186;
18369 			goto yy3;
18370 		}
18371 	}
18372 yy1295:
18373 	YYDEBUG(1295, *YYCURSOR);
18374 	yyaccept = 1;
18375 	yych = *(YYMARKER = ++YYCURSOR);
18376 	if (yych <= 'S') {
18377 		if (yych == ')') goto yy181;
18378 		goto yy3;
18379 	} else {
18380 		if (yych <= 'T') goto yy1296;
18381 		if (yych != 't') goto yy3;
18382 	}
18383 yy1296:
18384 	YYDEBUG(1296, *YYCURSOR);
18385 	yych = *++YYCURSOR;
18386 	if (yych == 'H') goto yy1297;
18387 	if (yych != 'h') goto yy55;
18388 yy1297:
18389 	YYDEBUG(1297, *YYCURSOR);
18390 	yych = *++YYCURSOR;
18391 	if (yych == '\t') goto yy1298;
18392 	if (yych != ' ') goto yy55;
18393 yy1298:
18394 	YYDEBUG(1298, *YYCURSOR);
18395 	++YYCURSOR;
18396 	if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
18397 	yych = *YYCURSOR;
18398 yy1299:
18399 	YYDEBUG(1299, *YYCURSOR);
18400 	if (yych <= 'X') {
18401 		if (yych <= 'G') {
18402 			if (yych <= ' ') {
18403 				if (yych == '\t') goto yy1298;
18404 				if (yych <= 0x1F) goto yy55;
18405 				goto yy1298;
18406 			} else {
18407 				if (yych <= 'D') {
18408 					if (yych <= 'C') goto yy55;
18409 					goto yy1171;
18410 				} else {
18411 					if (yych == 'F') goto yy1172;
18412 					goto yy55;
18413 				}
18414 			}
18415 		} else {
18416 			if (yych <= 'S') {
18417 				if (yych <= 'L') {
18418 					if (yych <= 'H') goto yy1170;
18419 					goto yy55;
18420 				} else {
18421 					if (yych <= 'M') goto yy1166;
18422 					if (yych <= 'R') goto yy55;
18423 					goto yy1169;
18424 				}
18425 			} else {
18426 				if (yych <= 'U') {
18427 					if (yych <= 'T') goto yy1175;
18428 					goto yy1168;
18429 				} else {
18430 					if (yych != 'W') goto yy55;
18431 				}
18432 			}
18433 		}
18434 	} else {
18435 		if (yych <= 'r') {
18436 			if (yych <= 'f') {
18437 				if (yych <= 'c') {
18438 					if (yych <= 'Y') goto yy1173;
18439 					goto yy55;
18440 				} else {
18441 					if (yych <= 'd') goto yy1171;
18442 					if (yych <= 'e') goto yy55;
18443 					goto yy1172;
18444 				}
18445 			} else {
18446 				if (yych <= 'h') {
18447 					if (yych <= 'g') goto yy55;
18448 					goto yy1170;
18449 				} else {
18450 					if (yych == 'm') goto yy1166;
18451 					goto yy55;
18452 				}
18453 			}
18454 		} else {
18455 			if (yych <= 'w') {
18456 				if (yych <= 't') {
18457 					if (yych <= 's') goto yy1169;
18458 					goto yy1175;
18459 				} else {
18460 					if (yych <= 'u') goto yy1168;
18461 					if (yych <= 'v') goto yy55;
18462 				}
18463 			} else {
18464 				if (yych <= 'y') {
18465 					if (yych <= 'x') goto yy55;
18466 					goto yy1173;
18467 				} else {
18468 					if (yych == 0xC2) goto yy1167;
18469 					goto yy55;
18470 				}
18471 			}
18472 		}
18473 	}
18474 	YYDEBUG(1300, *YYCURSOR);
18475 	yych = *++YYCURSOR;
18476 	if (yych == 'E') goto yy1301;
18477 	if (yych != 'e') goto yy55;
18478 yy1301:
18479 	YYDEBUG(1301, *YYCURSOR);
18480 	yych = *++YYCURSOR;
18481 	if (yych <= 'E') {
18482 		if (yych <= 'C') goto yy55;
18483 		if (yych <= 'D') goto yy1198;
18484 	} else {
18485 		if (yych <= 'c') goto yy55;
18486 		if (yych <= 'd') goto yy1198;
18487 		if (yych >= 'f') goto yy55;
18488 	}
18489 	YYDEBUG(1302, *YYCURSOR);
18490 	yych = *++YYCURSOR;
18491 	if (yych == 'K') goto yy1303;
18492 	if (yych != 'k') goto yy55;
18493 yy1303:
18494 	YYDEBUG(1303, *YYCURSOR);
18495 	yych = *++YYCURSOR;
18496 	if (yych <= 'S') {
18497 		if (yych == 'D') goto yy1208;
18498 		if (yych <= 'R') goto yy55;
18499 		goto yy1207;
18500 	} else {
18501 		if (yych <= 'd') {
18502 			if (yych <= 'c') goto yy55;
18503 			goto yy1208;
18504 		} else {
18505 			if (yych == 's') goto yy1207;
18506 			goto yy55;
18507 		}
18508 	}
18509 yy1304:
18510 	YYDEBUG(1304, *YYCURSOR);
18511 	yych = *++YYCURSOR;
18512 	if (yych <= 'H') {
18513 		if (yych <= ')') {
18514 			if (yych <= '(') goto yy3;
18515 			goto yy181;
18516 		} else {
18517 			if (yych <= '@') goto yy3;
18518 			if (yych <= 'G') goto yy184;
18519 		}
18520 	} else {
18521 		if (yych <= 'g') {
18522 			if (yych <= 'Z') goto yy184;
18523 			if (yych <= '`') goto yy3;
18524 			goto yy184;
18525 		} else {
18526 			if (yych <= 'h') goto yy1305;
18527 			if (yych <= 'z') goto yy184;
18528 			goto yy3;
18529 		}
18530 	}
18531 yy1305:
18532 	YYDEBUG(1305, *YYCURSOR);
18533 	yych = *++YYCURSOR;
18534 	if (yych <= 'T') {
18535 		if (yych <= ')') {
18536 			if (yych <= '(') goto yy3;
18537 			goto yy181;
18538 		} else {
18539 			if (yych <= '@') goto yy3;
18540 			if (yych <= 'S') goto yy185;
18541 		}
18542 	} else {
18543 		if (yych <= 's') {
18544 			if (yych <= 'Z') goto yy185;
18545 			if (yych <= '`') goto yy3;
18546 			goto yy185;
18547 		} else {
18548 			if (yych <= 't') goto yy1306;
18549 			if (yych <= 'z') goto yy185;
18550 			goto yy3;
18551 		}
18552 	}
18553 yy1306:
18554 	YYDEBUG(1306, *YYCURSOR);
18555 	yyaccept = 1;
18556 	yych = *(YYMARKER = ++YYCURSOR);
18557 	if (yych <= '@') {
18558 		if (yych <= 0x1F) {
18559 			if (yych == '\t') goto yy1298;
18560 			goto yy3;
18561 		} else {
18562 			if (yych <= ' ') goto yy1298;
18563 			if (yych == ')') goto yy181;
18564 			goto yy3;
18565 		}
18566 	} else {
18567 		if (yych <= '`') {
18568 			if (yych == 'H') goto yy1307;
18569 			if (yych <= 'Z') goto yy186;
18570 			goto yy3;
18571 		} else {
18572 			if (yych == 'h') goto yy1307;
18573 			if (yych <= 'z') goto yy186;
18574 			goto yy3;
18575 		}
18576 	}
18577 yy1307:
18578 	YYDEBUG(1307, *YYCURSOR);
18579 	yyaccept = 1;
18580 	yych = *(YYMARKER = ++YYCURSOR);
18581 	if (yych <= 0x1F) {
18582 		if (yych == '\t') goto yy1298;
18583 		goto yy3;
18584 	} else {
18585 		if (yych <= ' ') goto yy1298;
18586 		if (yych == ')') goto yy181;
18587 		goto yy3;
18588 	}
18589 yy1308:
18590 	YYDEBUG(1308, *YYCURSOR);
18591 	yyaccept = 1;
18592 	yych = *(YYMARKER = ++YYCURSOR);
18593 	if (yych <= 'F') {
18594 		if (yych <= '-') {
18595 			if (yych == ')') goto yy181;
18596 			if (yych <= ',') goto yy3;
18597 			goto yy189;
18598 		} else {
18599 			if (yych == '/') goto yy189;
18600 			if (yych <= '@') goto yy3;
18601 			goto yy183;
18602 		}
18603 	} else {
18604 		if (yych <= '_') {
18605 			if (yych <= 'G') goto yy1304;
18606 			if (yych <= 'Z') goto yy183;
18607 			if (yych <= '^') goto yy3;
18608 			goto yy189;
18609 		} else {
18610 			if (yych <= 'f') {
18611 				if (yych <= '`') goto yy3;
18612 				goto yy188;
18613 			} else {
18614 				if (yych <= 'g') goto yy1316;
18615 				if (yych <= 'z') goto yy188;
18616 				goto yy3;
18617 			}
18618 		}
18619 	}
18620 yy1309:
18621 	YYDEBUG(1309, *YYCURSOR);
18622 	yyaccept = 1;
18623 	yych = *(YYMARKER = ++YYCURSOR);
18624 	if (yych <= 'D') {
18625 		if (yych <= '-') {
18626 			if (yych == ')') goto yy181;
18627 			if (yych <= ',') goto yy3;
18628 			goto yy189;
18629 		} else {
18630 			if (yych == '/') goto yy189;
18631 			if (yych <= '@') goto yy3;
18632 			goto yy183;
18633 		}
18634 	} else {
18635 		if (yych <= '_') {
18636 			if (yych <= 'E') goto yy1292;
18637 			if (yych <= 'Z') goto yy183;
18638 			if (yych <= '^') goto yy3;
18639 			goto yy189;
18640 		} else {
18641 			if (yych <= 'd') {
18642 				if (yych <= '`') goto yy3;
18643 				goto yy188;
18644 			} else {
18645 				if (yych <= 'e') goto yy1310;
18646 				if (yych <= 'z') goto yy188;
18647 				goto yy3;
18648 			}
18649 		}
18650 	}
18651 yy1310:
18652 	YYDEBUG(1310, *YYCURSOR);
18653 	yyaccept = 1;
18654 	yych = *(YYMARKER = ++YYCURSOR);
18655 	if (yych <= 'U') {
18656 		if (yych <= '-') {
18657 			if (yych == ')') goto yy181;
18658 			if (yych <= ',') goto yy3;
18659 			goto yy189;
18660 		} else {
18661 			if (yych == '/') goto yy189;
18662 			if (yych <= '@') goto yy3;
18663 			goto yy184;
18664 		}
18665 	} else {
18666 		if (yych <= '_') {
18667 			if (yych <= 'V') goto yy1293;
18668 			if (yych <= 'Z') goto yy184;
18669 			if (yych <= '^') goto yy3;
18670 			goto yy189;
18671 		} else {
18672 			if (yych <= 'u') {
18673 				if (yych <= '`') goto yy3;
18674 				goto yy192;
18675 			} else {
18676 				if (yych <= 'v') goto yy1311;
18677 				if (yych <= 'z') goto yy192;
18678 				goto yy3;
18679 			}
18680 		}
18681 	}
18682 yy1311:
18683 	YYDEBUG(1311, *YYCURSOR);
18684 	yyaccept = 1;
18685 	yych = *(YYMARKER = ++YYCURSOR);
18686 	if (yych <= 'D') {
18687 		if (yych <= '-') {
18688 			if (yych == ')') goto yy181;
18689 			if (yych <= ',') goto yy3;
18690 			goto yy189;
18691 		} else {
18692 			if (yych == '/') goto yy189;
18693 			if (yych <= '@') goto yy3;
18694 			goto yy185;
18695 		}
18696 	} else {
18697 		if (yych <= '_') {
18698 			if (yych <= 'E') goto yy1294;
18699 			if (yych <= 'Z') goto yy185;
18700 			if (yych <= '^') goto yy3;
18701 			goto yy189;
18702 		} else {
18703 			if (yych <= 'd') {
18704 				if (yych <= '`') goto yy3;
18705 				goto yy193;
18706 			} else {
18707 				if (yych <= 'e') goto yy1312;
18708 				if (yych <= 'z') goto yy193;
18709 				goto yy3;
18710 			}
18711 		}
18712 	}
18713 yy1312:
18714 	YYDEBUG(1312, *YYCURSOR);
18715 	yyaccept = 1;
18716 	yych = *(YYMARKER = ++YYCURSOR);
18717 	if (yych <= 'M') {
18718 		if (yych <= '-') {
18719 			if (yych == ')') goto yy181;
18720 			if (yych <= ',') goto yy3;
18721 			goto yy189;
18722 		} else {
18723 			if (yych == '/') goto yy189;
18724 			if (yych <= '@') goto yy3;
18725 			goto yy186;
18726 		}
18727 	} else {
18728 		if (yych <= '_') {
18729 			if (yych <= 'N') goto yy1295;
18730 			if (yych <= 'Z') goto yy186;
18731 			if (yych <= '^') goto yy3;
18732 			goto yy189;
18733 		} else {
18734 			if (yych <= 'm') {
18735 				if (yych <= '`') goto yy3;
18736 				goto yy194;
18737 			} else {
18738 				if (yych <= 'n') goto yy1313;
18739 				if (yych <= 'z') goto yy194;
18740 				goto yy3;
18741 			}
18742 		}
18743 	}
18744 yy1313:
18745 	YYDEBUG(1313, *YYCURSOR);
18746 	yyaccept = 1;
18747 	yych = *(YYMARKER = ++YYCURSOR);
18748 	if (yych <= 'S') {
18749 		if (yych <= ',') {
18750 			if (yych == ')') goto yy181;
18751 			goto yy3;
18752 		} else {
18753 			if (yych == '.') goto yy3;
18754 			if (yych <= '/') goto yy189;
18755 			goto yy3;
18756 		}
18757 	} else {
18758 		if (yych <= '`') {
18759 			if (yych <= 'T') goto yy1296;
18760 			if (yych == '_') goto yy189;
18761 			goto yy3;
18762 		} else {
18763 			if (yych == 't') goto yy1314;
18764 			if (yych <= 'z') goto yy195;
18765 			goto yy3;
18766 		}
18767 	}
18768 yy1314:
18769 	YYDEBUG(1314, *YYCURSOR);
18770 	yych = *++YYCURSOR;
18771 	if (yych == 'H') goto yy1297;
18772 	if (yych != 'h') goto yy196;
18773 yy1315:
18774 	YYDEBUG(1315, *YYCURSOR);
18775 	yych = *++YYCURSOR;
18776 	if (yybm[0+yych] & 8) {
18777 		goto yy195;
18778 	}
18779 	if (yych <= ',') {
18780 		if (yych <= '\t') {
18781 			if (yych <= 0x08) goto yy55;
18782 			goto yy1298;
18783 		} else {
18784 			if (yych == ' ') goto yy1298;
18785 			goto yy55;
18786 		}
18787 	} else {
18788 		if (yych <= '/') {
18789 			if (yych == '.') goto yy55;
18790 			goto yy189;
18791 		} else {
18792 			if (yych == '_') goto yy189;
18793 			goto yy55;
18794 		}
18795 	}
18796 yy1316:
18797 	YYDEBUG(1316, *YYCURSOR);
18798 	yyaccept = 1;
18799 	yych = *(YYMARKER = ++YYCURSOR);
18800 	if (yych <= 'G') {
18801 		if (yych <= '-') {
18802 			if (yych == ')') goto yy181;
18803 			if (yych <= ',') goto yy3;
18804 			goto yy189;
18805 		} else {
18806 			if (yych == '/') goto yy189;
18807 			if (yych <= '@') goto yy3;
18808 			goto yy184;
18809 		}
18810 	} else {
18811 		if (yych <= '_') {
18812 			if (yych <= 'H') goto yy1305;
18813 			if (yych <= 'Z') goto yy184;
18814 			if (yych <= '^') goto yy3;
18815 			goto yy189;
18816 		} else {
18817 			if (yych <= 'g') {
18818 				if (yych <= '`') goto yy3;
18819 				goto yy192;
18820 			} else {
18821 				if (yych <= 'h') goto yy1317;
18822 				if (yych <= 'z') goto yy192;
18823 				goto yy3;
18824 			}
18825 		}
18826 	}
18827 yy1317:
18828 	YYDEBUG(1317, *YYCURSOR);
18829 	yyaccept = 1;
18830 	yych = *(YYMARKER = ++YYCURSOR);
18831 	if (yych <= 'S') {
18832 		if (yych <= '-') {
18833 			if (yych == ')') goto yy181;
18834 			if (yych <= ',') goto yy3;
18835 			goto yy189;
18836 		} else {
18837 			if (yych == '/') goto yy189;
18838 			if (yych <= '@') goto yy3;
18839 			goto yy185;
18840 		}
18841 	} else {
18842 		if (yych <= '_') {
18843 			if (yych <= 'T') goto yy1306;
18844 			if (yych <= 'Z') goto yy185;
18845 			if (yych <= '^') goto yy3;
18846 			goto yy189;
18847 		} else {
18848 			if (yych <= 's') {
18849 				if (yych <= '`') goto yy3;
18850 				goto yy193;
18851 			} else {
18852 				if (yych <= 't') goto yy1318;
18853 				if (yych <= 'z') goto yy193;
18854 				goto yy3;
18855 			}
18856 		}
18857 	}
18858 yy1318:
18859 	YYDEBUG(1318, *YYCURSOR);
18860 	yyaccept = 1;
18861 	yych = *(YYMARKER = ++YYCURSOR);
18862 	if (yych <= '/') {
18863 		if (yych <= '(') {
18864 			if (yych <= '\t') {
18865 				if (yych <= 0x08) goto yy3;
18866 				goto yy1298;
18867 			} else {
18868 				if (yych == ' ') goto yy1298;
18869 				goto yy3;
18870 			}
18871 		} else {
18872 			if (yych <= ',') {
18873 				if (yych <= ')') goto yy181;
18874 				goto yy3;
18875 			} else {
18876 				if (yych == '.') goto yy3;
18877 				goto yy189;
18878 			}
18879 		}
18880 	} else {
18881 		if (yych <= '^') {
18882 			if (yych <= 'G') {
18883 				if (yych <= '@') goto yy3;
18884 				goto yy186;
18885 			} else {
18886 				if (yych <= 'H') goto yy1307;
18887 				if (yych <= 'Z') goto yy186;
18888 				goto yy3;
18889 			}
18890 		} else {
18891 			if (yych <= 'g') {
18892 				if (yych <= '_') goto yy189;
18893 				if (yych <= '`') goto yy3;
18894 				goto yy194;
18895 			} else {
18896 				if (yych <= 'h') goto yy1319;
18897 				if (yych <= 'z') goto yy194;
18898 				goto yy3;
18899 			}
18900 		}
18901 	}
18902 yy1319:
18903 	YYDEBUG(1319, *YYCURSOR);
18904 	yyaccept = 1;
18905 	yych = *(YYMARKER = ++YYCURSOR);
18906 	if (yybm[0+yych] & 8) {
18907 		goto yy195;
18908 	}
18909 	if (yych <= ')') {
18910 		if (yych <= 0x1F) {
18911 			if (yych == '\t') goto yy1298;
18912 			goto yy3;
18913 		} else {
18914 			if (yych <= ' ') goto yy1298;
18915 			if (yych <= '(') goto yy3;
18916 			goto yy181;
18917 		}
18918 	} else {
18919 		if (yych <= '.') {
18920 			if (yych == '-') goto yy189;
18921 			goto yy3;
18922 		} else {
18923 			if (yych <= '/') goto yy189;
18924 			if (yych == '_') goto yy189;
18925 			goto yy3;
18926 		}
18927 	}
18928 yy1320:
18929 	YYDEBUG(1320, *YYCURSOR);
18930 	yych = *++YYCURSOR;
18931 	if (yych <= 'V') {
18932 		if (yych <= 'B') {
18933 			if (yych == ')') goto yy181;
18934 			if (yych <= '@') goto yy3;
18935 			goto yy183;
18936 		} else {
18937 			if (yych <= 'O') {
18938 				if (yych <= 'C') goto yy1337;
18939 				goto yy183;
18940 			} else {
18941 				if (yych <= 'P') goto yy1339;
18942 				if (yych <= 'U') goto yy183;
18943 				goto yy1338;
18944 			}
18945 		}
18946 	} else {
18947 		if (yych <= 'o') {
18948 			if (yych <= '`') {
18949 				if (yych <= 'Z') goto yy183;
18950 				goto yy3;
18951 			} else {
18952 				if (yych == 'c') goto yy1337;
18953 				goto yy183;
18954 			}
18955 		} else {
18956 			if (yych <= 'u') {
18957 				if (yych <= 'p') goto yy1339;
18958 				goto yy183;
18959 			} else {
18960 				if (yych <= 'v') goto yy1338;
18961 				if (yych <= 'z') goto yy183;
18962 				goto yy3;
18963 			}
18964 		}
18965 	}
18966 yy1321:
18967 	YYDEBUG(1321, *YYCURSOR);
18968 	yych = *++YYCURSOR;
18969 	if (yych <= 'T') {
18970 		if (yych <= ')') {
18971 			if (yych <= '(') goto yy3;
18972 			goto yy181;
18973 		} else {
18974 			if (yych <= '@') goto yy3;
18975 			if (yych <= 'S') goto yy183;
18976 			goto yy1331;
18977 		}
18978 	} else {
18979 		if (yych <= 's') {
18980 			if (yych <= 'Z') goto yy183;
18981 			if (yych <= '`') goto yy3;
18982 			goto yy183;
18983 		} else {
18984 			if (yych <= 't') goto yy1331;
18985 			if (yych <= 'z') goto yy183;
18986 			goto yy3;
18987 		}
18988 	}
18989 yy1322:
18990 	YYDEBUG(1322, *YYCURSOR);
18991 	yych = *++YYCURSOR;
18992 	if (yych <= 'X') {
18993 		if (yych <= ')') {
18994 			if (yych <= '(') goto yy3;
18995 			goto yy181;
18996 		} else {
18997 			if (yych <= '@') goto yy3;
18998 			if (yych <= 'W') goto yy183;
18999 			goto yy1328;
19000 		}
19001 	} else {
19002 		if (yych <= 'w') {
19003 			if (yych <= 'Z') goto yy183;
19004 			if (yych <= '`') goto yy3;
19005 			goto yy183;
19006 		} else {
19007 			if (yych <= 'x') goto yy1328;
19008 			if (yych <= 'z') goto yy183;
19009 			goto yy3;
19010 		}
19011 	}
19012 yy1323:
19013 	YYDEBUG(1323, *YYCURSOR);
19014 	yych = *++YYCURSOR;
19015 	if (yych <= 'N') {
19016 		if (yych <= ')') {
19017 			if (yych <= '(') goto yy3;
19018 			goto yy181;
19019 		} else {
19020 			if (yych <= '@') goto yy3;
19021 			if (yych <= 'M') goto yy183;
19022 		}
19023 	} else {
19024 		if (yych <= 'm') {
19025 			if (yych <= 'Z') goto yy183;
19026 			if (yych <= '`') goto yy3;
19027 			goto yy183;
19028 		} else {
19029 			if (yych <= 'n') goto yy1324;
19030 			if (yych <= 'z') goto yy183;
19031 			goto yy3;
19032 		}
19033 	}
19034 yy1324:
19035 	YYDEBUG(1324, *YYCURSOR);
19036 	yych = *++YYCURSOR;
19037 	if (yych <= 'D') {
19038 		if (yych <= ')') {
19039 			if (yych <= '(') goto yy219;
19040 			goto yy181;
19041 		} else {
19042 			if (yych <= '@') goto yy219;
19043 			if (yych <= 'C') goto yy184;
19044 		}
19045 	} else {
19046 		if (yych <= 'c') {
19047 			if (yych <= 'Z') goto yy184;
19048 			if (yych <= '`') goto yy219;
19049 			goto yy184;
19050 		} else {
19051 			if (yych <= 'd') goto yy1325;
19052 			if (yych <= 'z') goto yy184;
19053 			goto yy219;
19054 		}
19055 	}
19056 yy1325:
19057 	YYDEBUG(1325, *YYCURSOR);
19058 	yych = *++YYCURSOR;
19059 	if (yych <= 'A') {
19060 		if (yych == ')') goto yy181;
19061 		if (yych <= '@') goto yy3;
19062 	} else {
19063 		if (yych <= '`') {
19064 			if (yych <= 'Z') goto yy185;
19065 			goto yy3;
19066 		} else {
19067 			if (yych <= 'a') goto yy1326;
19068 			if (yych <= 'z') goto yy185;
19069 			goto yy3;
19070 		}
19071 	}
19072 yy1326:
19073 	YYDEBUG(1326, *YYCURSOR);
19074 	yych = *++YYCURSOR;
19075 	if (yych <= 'Y') {
19076 		if (yych <= ')') {
19077 			if (yych <= '(') goto yy3;
19078 			goto yy181;
19079 		} else {
19080 			if (yych <= '@') goto yy3;
19081 			if (yych <= 'X') goto yy186;
19082 		}
19083 	} else {
19084 		if (yych <= 'x') {
19085 			if (yych <= 'Z') goto yy186;
19086 			if (yych <= '`') goto yy3;
19087 			goto yy186;
19088 		} else {
19089 			if (yych <= 'y') goto yy1327;
19090 			if (yych <= 'z') goto yy186;
19091 			goto yy3;
19092 		}
19093 	}
19094 yy1327:
19095 	YYDEBUG(1327, *YYCURSOR);
19096 	yych = *++YYCURSOR;
19097 	if (yych <= 'R') {
19098 		if (yych == ')') goto yy181;
19099 		goto yy219;
19100 	} else {
19101 		if (yych <= 'S') goto yy225;
19102 		if (yych == 's') goto yy225;
19103 		goto yy219;
19104 	}
19105 yy1328:
19106 	YYDEBUG(1328, *YYCURSOR);
19107 	yych = *++YYCURSOR;
19108 	if (yych <= 'T') {
19109 		if (yych <= ')') {
19110 			if (yych <= '(') goto yy3;
19111 			goto yy181;
19112 		} else {
19113 			if (yych <= '@') goto yy3;
19114 			if (yych <= 'S') goto yy184;
19115 		}
19116 	} else {
19117 		if (yych <= 's') {
19118 			if (yych <= 'Z') goto yy184;
19119 			if (yych <= '`') goto yy3;
19120 			goto yy184;
19121 		} else {
19122 			if (yych <= 't') goto yy1329;
19123 			if (yych <= 'z') goto yy184;
19124 			goto yy3;
19125 		}
19126 	}
19127 yy1329:
19128 	YYDEBUG(1329, *YYCURSOR);
19129 	yych = *++YYCURSOR;
19130 	if (yych <= 'H') {
19131 		if (yych <= ')') {
19132 			if (yych <= '(') goto yy3;
19133 			goto yy181;
19134 		} else {
19135 			if (yych <= '@') goto yy3;
19136 			if (yych <= 'G') goto yy185;
19137 		}
19138 	} else {
19139 		if (yych <= 'g') {
19140 			if (yych <= 'Z') goto yy185;
19141 			if (yych <= '`') goto yy3;
19142 			goto yy185;
19143 		} else {
19144 			if (yych <= 'h') goto yy1330;
19145 			if (yych <= 'z') goto yy185;
19146 			goto yy3;
19147 		}
19148 	}
19149 yy1330:
19150 	YYDEBUG(1330, *YYCURSOR);
19151 	yyaccept = 1;
19152 	yych = *(YYMARKER = ++YYCURSOR);
19153 	if (yych <= '(') {
19154 		if (yych <= '\t') {
19155 			if (yych <= 0x08) goto yy3;
19156 			goto yy1298;
19157 		} else {
19158 			if (yych == ' ') goto yy1298;
19159 			goto yy3;
19160 		}
19161 	} else {
19162 		if (yych <= 'Z') {
19163 			if (yych <= ')') goto yy181;
19164 			if (yych <= '@') goto yy3;
19165 			goto yy186;
19166 		} else {
19167 			if (yych <= '`') goto yy3;
19168 			if (yych <= 'z') goto yy186;
19169 			goto yy3;
19170 		}
19171 	}
19172 yy1331:
19173 	YYDEBUG(1331, *YYCURSOR);
19174 	yych = *++YYCURSOR;
19175 	if (yych <= 'U') {
19176 		if (yych <= ')') {
19177 			if (yych <= '(') goto yy219;
19178 			goto yy181;
19179 		} else {
19180 			if (yych <= '@') goto yy219;
19181 			if (yych <= 'T') goto yy184;
19182 		}
19183 	} else {
19184 		if (yych <= 't') {
19185 			if (yych <= 'Z') goto yy184;
19186 			if (yych <= '`') goto yy219;
19187 			goto yy184;
19188 		} else {
19189 			if (yych <= 'u') goto yy1332;
19190 			if (yych <= 'z') goto yy184;
19191 			goto yy219;
19192 		}
19193 	}
19194 yy1332:
19195 	YYDEBUG(1332, *YYCURSOR);
19196 	yych = *++YYCURSOR;
19197 	if (yych <= 'R') {
19198 		if (yych <= ')') {
19199 			if (yych <= '(') goto yy3;
19200 			goto yy181;
19201 		} else {
19202 			if (yych <= '@') goto yy3;
19203 			if (yych <= 'Q') goto yy185;
19204 		}
19205 	} else {
19206 		if (yych <= 'q') {
19207 			if (yych <= 'Z') goto yy185;
19208 			if (yych <= '`') goto yy3;
19209 			goto yy185;
19210 		} else {
19211 			if (yych <= 'r') goto yy1333;
19212 			if (yych <= 'z') goto yy185;
19213 			goto yy3;
19214 		}
19215 	}
19216 yy1333:
19217 	YYDEBUG(1333, *YYCURSOR);
19218 	yych = *++YYCURSOR;
19219 	if (yych <= 'D') {
19220 		if (yych <= ')') {
19221 			if (yych <= '(') goto yy3;
19222 			goto yy181;
19223 		} else {
19224 			if (yych <= '@') goto yy3;
19225 			if (yych <= 'C') goto yy186;
19226 		}
19227 	} else {
19228 		if (yych <= 'c') {
19229 			if (yych <= 'Z') goto yy186;
19230 			if (yych <= '`') goto yy3;
19231 			goto yy186;
19232 		} else {
19233 			if (yych <= 'd') goto yy1334;
19234 			if (yych <= 'z') goto yy186;
19235 			goto yy3;
19236 		}
19237 	}
19238 yy1334:
19239 	YYDEBUG(1334, *YYCURSOR);
19240 	yyaccept = 1;
19241 	yych = *(YYMARKER = ++YYCURSOR);
19242 	if (yych <= '@') {
19243 		if (yych == ')') goto yy181;
19244 		goto yy3;
19245 	} else {
19246 		if (yych <= 'A') goto yy1335;
19247 		if (yych != 'a') goto yy3;
19248 	}
19249 yy1335:
19250 	YYDEBUG(1335, *YYCURSOR);
19251 	yych = *++YYCURSOR;
19252 	if (yych == 'Y') goto yy1336;
19253 	if (yych != 'y') goto yy55;
19254 yy1336:
19255 	YYDEBUG(1336, *YYCURSOR);
19256 	yych = *++YYCURSOR;
19257 	if (yych == 'S') goto yy225;
19258 	if (yych == 's') goto yy225;
19259 	goto yy219;
19260 yy1337:
19261 	YYDEBUG(1337, *YYCURSOR);
19262 	yych = *++YYCURSOR;
19263 	if (yych <= 'O') {
19264 		if (yych <= ')') {
19265 			if (yych <= '(') goto yy3;
19266 			goto yy181;
19267 		} else {
19268 			if (yych <= '@') goto yy3;
19269 			if (yych <= 'N') goto yy184;
19270 			goto yy1348;
19271 		}
19272 	} else {
19273 		if (yych <= 'n') {
19274 			if (yych <= 'Z') goto yy184;
19275 			if (yych <= '`') goto yy3;
19276 			goto yy184;
19277 		} else {
19278 			if (yych <= 'o') goto yy1348;
19279 			if (yych <= 'z') goto yy184;
19280 			goto yy3;
19281 		}
19282 	}
19283 yy1338:
19284 	YYDEBUG(1338, *YYCURSOR);
19285 	yych = *++YYCURSOR;
19286 	if (yych <= 'E') {
19287 		if (yych <= ')') {
19288 			if (yych <= '(') goto yy3;
19289 			goto yy181;
19290 		} else {
19291 			if (yych <= '@') goto yy3;
19292 			if (yych <= 'D') goto yy184;
19293 			goto yy1345;
19294 		}
19295 	} else {
19296 		if (yych <= 'd') {
19297 			if (yych <= 'Z') goto yy184;
19298 			if (yych <= '`') goto yy3;
19299 			goto yy184;
19300 		} else {
19301 			if (yych <= 'e') goto yy1345;
19302 			if (yych <= 'z') goto yy184;
19303 			goto yy3;
19304 		}
19305 	}
19306 yy1339:
19307 	YYDEBUG(1339, *YYCURSOR);
19308 	yyaccept = 5;
19309 	yych = *(YYMARKER = ++YYCURSOR);
19310 	if (yych <= '/') {
19311 		if (yych <= '(') {
19312 			if (yych <= '\t') {
19313 				if (yych <= 0x08) goto yy248;
19314 				goto yy250;
19315 			} else {
19316 				if (yych == ' ') goto yy250;
19317 				goto yy248;
19318 			}
19319 		} else {
19320 			if (yych <= ',') {
19321 				if (yych <= ')') goto yy181;
19322 				goto yy248;
19323 			} else {
19324 				if (yych <= '-') goto yy251;
19325 				if (yych <= '.') goto yy250;
19326 				goto yy248;
19327 			}
19328 		}
19329 	} else {
19330 		if (yych <= 'Z') {
19331 			if (yych <= '@') {
19332 				if (yych <= '9') goto yy250;
19333 				goto yy248;
19334 			} else {
19335 				if (yych != 'T') goto yy184;
19336 			}
19337 		} else {
19338 			if (yych <= 's') {
19339 				if (yych <= '`') goto yy248;
19340 				goto yy184;
19341 			} else {
19342 				if (yych <= 't') goto yy1340;
19343 				if (yych <= 'z') goto yy184;
19344 				goto yy248;
19345 			}
19346 		}
19347 	}
19348 yy1340:
19349 	YYDEBUG(1340, *YYCURSOR);
19350 	yyaccept = 5;
19351 	yych = *(YYMARKER = ++YYCURSOR);
19352 	if (yych <= '/') {
19353 		if (yych <= '(') {
19354 			if (yych <= '\t') {
19355 				if (yych <= 0x08) goto yy248;
19356 				goto yy250;
19357 			} else {
19358 				if (yych == ' ') goto yy250;
19359 				goto yy248;
19360 			}
19361 		} else {
19362 			if (yych <= ',') {
19363 				if (yych <= ')') goto yy181;
19364 				goto yy248;
19365 			} else {
19366 				if (yych <= '-') goto yy251;
19367 				if (yych <= '.') goto yy250;
19368 				goto yy248;
19369 			}
19370 		}
19371 	} else {
19372 		if (yych <= 'Z') {
19373 			if (yych <= '@') {
19374 				if (yych <= '9') goto yy250;
19375 				goto yy248;
19376 			} else {
19377 				if (yych != 'E') goto yy185;
19378 			}
19379 		} else {
19380 			if (yych <= 'd') {
19381 				if (yych <= '`') goto yy248;
19382 				goto yy185;
19383 			} else {
19384 				if (yych <= 'e') goto yy1341;
19385 				if (yych <= 'z') goto yy185;
19386 				goto yy248;
19387 			}
19388 		}
19389 	}
19390 yy1341:
19391 	YYDEBUG(1341, *YYCURSOR);
19392 	yych = *++YYCURSOR;
19393 	if (yych <= 'M') {
19394 		if (yych <= ')') {
19395 			if (yych <= '(') goto yy3;
19396 			goto yy181;
19397 		} else {
19398 			if (yych <= '@') goto yy3;
19399 			if (yych <= 'L') goto yy186;
19400 		}
19401 	} else {
19402 		if (yych <= 'l') {
19403 			if (yych <= 'Z') goto yy186;
19404 			if (yych <= '`') goto yy3;
19405 			goto yy186;
19406 		} else {
19407 			if (yych <= 'm') goto yy1342;
19408 			if (yych <= 'z') goto yy186;
19409 			goto yy3;
19410 		}
19411 	}
19412 yy1342:
19413 	YYDEBUG(1342, *YYCURSOR);
19414 	yyaccept = 1;
19415 	yych = *(YYMARKER = ++YYCURSOR);
19416 	if (yych <= 'A') {
19417 		if (yych == ')') goto yy181;
19418 		goto yy3;
19419 	} else {
19420 		if (yych <= 'B') goto yy1343;
19421 		if (yych != 'b') goto yy3;
19422 	}
19423 yy1343:
19424 	YYDEBUG(1343, *YYCURSOR);
19425 	yych = *++YYCURSOR;
19426 	if (yych == 'E') goto yy1344;
19427 	if (yych != 'e') goto yy55;
19428 yy1344:
19429 	YYDEBUG(1344, *YYCURSOR);
19430 	yych = *++YYCURSOR;
19431 	if (yych == 'R') goto yy259;
19432 	if (yych == 'r') goto yy259;
19433 	goto yy55;
19434 yy1345:
19435 	YYDEBUG(1345, *YYCURSOR);
19436 	yych = *++YYCURSOR;
19437 	if (yych <= 'N') {
19438 		if (yych <= ')') {
19439 			if (yych <= '(') goto yy3;
19440 			goto yy181;
19441 		} else {
19442 			if (yych <= '@') goto yy3;
19443 			if (yych <= 'M') goto yy185;
19444 		}
19445 	} else {
19446 		if (yych <= 'm') {
19447 			if (yych <= 'Z') goto yy185;
19448 			if (yych <= '`') goto yy3;
19449 			goto yy185;
19450 		} else {
19451 			if (yych <= 'n') goto yy1346;
19452 			if (yych <= 'z') goto yy185;
19453 			goto yy3;
19454 		}
19455 	}
19456 yy1346:
19457 	YYDEBUG(1346, *YYCURSOR);
19458 	yych = *++YYCURSOR;
19459 	if (yych <= 'T') {
19460 		if (yych <= ')') {
19461 			if (yych <= '(') goto yy3;
19462 			goto yy181;
19463 		} else {
19464 			if (yych <= '@') goto yy3;
19465 			if (yych <= 'S') goto yy186;
19466 		}
19467 	} else {
19468 		if (yych <= 's') {
19469 			if (yych <= 'Z') goto yy186;
19470 			if (yych <= '`') goto yy3;
19471 			goto yy186;
19472 		} else {
19473 			if (yych <= 't') goto yy1347;
19474 			if (yych <= 'z') goto yy186;
19475 			goto yy3;
19476 		}
19477 	}
19478 yy1347:
19479 	YYDEBUG(1347, *YYCURSOR);
19480 	yyaccept = 1;
19481 	yych = *(YYMARKER = ++YYCURSOR);
19482 	if (yych <= 'G') {
19483 		if (yych == ')') goto yy181;
19484 		goto yy3;
19485 	} else {
19486 		if (yych <= 'H') goto yy1297;
19487 		if (yych == 'h') goto yy1297;
19488 		goto yy3;
19489 	}
19490 yy1348:
19491 	YYDEBUG(1348, *YYCURSOR);
19492 	yych = *++YYCURSOR;
19493 	if (yych <= 'N') {
19494 		if (yych <= ')') {
19495 			if (yych <= '(') goto yy3;
19496 			goto yy181;
19497 		} else {
19498 			if (yych <= '@') goto yy3;
19499 			if (yych <= 'M') goto yy185;
19500 		}
19501 	} else {
19502 		if (yych <= 'm') {
19503 			if (yych <= 'Z') goto yy185;
19504 			if (yych <= '`') goto yy3;
19505 			goto yy185;
19506 		} else {
19507 			if (yych <= 'n') goto yy1349;
19508 			if (yych <= 'z') goto yy185;
19509 			goto yy3;
19510 		}
19511 	}
19512 yy1349:
19513 	YYDEBUG(1349, *YYCURSOR);
19514 	yych = *++YYCURSOR;
19515 	if (yych <= 'D') {
19516 		if (yych <= ')') {
19517 			if (yych <= '(') goto yy3;
19518 			goto yy181;
19519 		} else {
19520 			if (yych <= '@') goto yy3;
19521 			if (yych <= 'C') goto yy186;
19522 			goto yy1307;
19523 		}
19524 	} else {
19525 		if (yych <= 'c') {
19526 			if (yych <= 'Z') goto yy186;
19527 			if (yych <= '`') goto yy3;
19528 			goto yy186;
19529 		} else {
19530 			if (yych <= 'd') goto yy1307;
19531 			if (yych <= 'z') goto yy186;
19532 			goto yy3;
19533 		}
19534 	}
19535 yy1350:
19536 	YYDEBUG(1350, *YYCURSOR);
19537 	yyaccept = 1;
19538 	yych = *(YYMARKER = ++YYCURSOR);
19539 	if (yych <= 'U') {
19540 		if (yych <= '/') {
19541 			if (yych <= ',') {
19542 				if (yych == ')') goto yy181;
19543 				goto yy3;
19544 			} else {
19545 				if (yych == '.') goto yy3;
19546 				goto yy189;
19547 			}
19548 		} else {
19549 			if (yych <= 'C') {
19550 				if (yych <= '@') goto yy3;
19551 				if (yych <= 'B') goto yy183;
19552 				goto yy1337;
19553 			} else {
19554 				if (yych == 'P') goto yy1339;
19555 				goto yy183;
19556 			}
19557 		}
19558 	} else {
19559 		if (yych <= 'b') {
19560 			if (yych <= '^') {
19561 				if (yych <= 'V') goto yy1338;
19562 				if (yych <= 'Z') goto yy183;
19563 				goto yy3;
19564 			} else {
19565 				if (yych <= '_') goto yy189;
19566 				if (yych <= '`') goto yy3;
19567 				goto yy188;
19568 			}
19569 		} else {
19570 			if (yych <= 'p') {
19571 				if (yych <= 'c') goto yy1367;
19572 				if (yych <= 'o') goto yy188;
19573 				goto yy1369;
19574 			} else {
19575 				if (yych == 'v') goto yy1368;
19576 				if (yych <= 'z') goto yy188;
19577 				goto yy3;
19578 			}
19579 		}
19580 	}
19581 yy1351:
19582 	YYDEBUG(1351, *YYCURSOR);
19583 	yyaccept = 1;
19584 	yych = *(YYMARKER = ++YYCURSOR);
19585 	if (yych <= 'S') {
19586 		if (yych <= '-') {
19587 			if (yych == ')') goto yy181;
19588 			if (yych <= ',') goto yy3;
19589 			goto yy189;
19590 		} else {
19591 			if (yych == '/') goto yy189;
19592 			if (yych <= '@') goto yy3;
19593 			goto yy183;
19594 		}
19595 	} else {
19596 		if (yych <= '_') {
19597 			if (yych <= 'T') goto yy1331;
19598 			if (yych <= 'Z') goto yy183;
19599 			if (yych <= '^') goto yy3;
19600 			goto yy189;
19601 		} else {
19602 			if (yych <= 's') {
19603 				if (yych <= '`') goto yy3;
19604 				goto yy188;
19605 			} else {
19606 				if (yych <= 't') goto yy1361;
19607 				if (yych <= 'z') goto yy188;
19608 				goto yy3;
19609 			}
19610 		}
19611 	}
19612 yy1352:
19613 	YYDEBUG(1352, *YYCURSOR);
19614 	yyaccept = 1;
19615 	yych = *(YYMARKER = ++YYCURSOR);
19616 	if (yych <= 'W') {
19617 		if (yych <= '-') {
19618 			if (yych == ')') goto yy181;
19619 			if (yych <= ',') goto yy3;
19620 			goto yy189;
19621 		} else {
19622 			if (yych == '/') goto yy189;
19623 			if (yych <= '@') goto yy3;
19624 			goto yy183;
19625 		}
19626 	} else {
19627 		if (yych <= '_') {
19628 			if (yych <= 'X') goto yy1328;
19629 			if (yych <= 'Z') goto yy183;
19630 			if (yych <= '^') goto yy3;
19631 			goto yy189;
19632 		} else {
19633 			if (yych <= 'w') {
19634 				if (yych <= '`') goto yy3;
19635 				goto yy188;
19636 			} else {
19637 				if (yych <= 'x') goto yy1358;
19638 				if (yych <= 'z') goto yy188;
19639 				goto yy3;
19640 			}
19641 		}
19642 	}
19643 yy1353:
19644 	YYDEBUG(1353, *YYCURSOR);
19645 	yyaccept = 1;
19646 	yych = *(YYMARKER = ++YYCURSOR);
19647 	if (yych <= 'M') {
19648 		if (yych <= '-') {
19649 			if (yych == ')') goto yy181;
19650 			if (yych <= ',') goto yy3;
19651 			goto yy189;
19652 		} else {
19653 			if (yych == '/') goto yy189;
19654 			if (yych <= '@') goto yy3;
19655 			goto yy183;
19656 		}
19657 	} else {
19658 		if (yych <= '_') {
19659 			if (yych <= 'N') goto yy1324;
19660 			if (yych <= 'Z') goto yy183;
19661 			if (yych <= '^') goto yy3;
19662 			goto yy189;
19663 		} else {
19664 			if (yych <= 'm') {
19665 				if (yych <= '`') goto yy3;
19666 				goto yy188;
19667 			} else {
19668 				if (yych <= 'n') goto yy1354;
19669 				if (yych <= 'z') goto yy188;
19670 				goto yy3;
19671 			}
19672 		}
19673 	}
19674 yy1354:
19675 	YYDEBUG(1354, *YYCURSOR);
19676 	yyaccept = 4;
19677 	yych = *(YYMARKER = ++YYCURSOR);
19678 	if (yych <= 'C') {
19679 		if (yych <= '-') {
19680 			if (yych == ')') goto yy181;
19681 			if (yych <= ',') goto yy219;
19682 			goto yy189;
19683 		} else {
19684 			if (yych == '/') goto yy189;
19685 			if (yych <= '@') goto yy219;
19686 			goto yy184;
19687 		}
19688 	} else {
19689 		if (yych <= '_') {
19690 			if (yych <= 'D') goto yy1325;
19691 			if (yych <= 'Z') goto yy184;
19692 			if (yych <= '^') goto yy219;
19693 			goto yy189;
19694 		} else {
19695 			if (yych <= 'c') {
19696 				if (yych <= '`') goto yy219;
19697 				goto yy192;
19698 			} else {
19699 				if (yych <= 'd') goto yy1355;
19700 				if (yych <= 'z') goto yy192;
19701 				goto yy219;
19702 			}
19703 		}
19704 	}
19705 yy1355:
19706 	YYDEBUG(1355, *YYCURSOR);
19707 	yyaccept = 1;
19708 	yych = *(YYMARKER = ++YYCURSOR);
19709 	if (yych <= '@') {
19710 		if (yych <= ',') {
19711 			if (yych == ')') goto yy181;
19712 			goto yy3;
19713 		} else {
19714 			if (yych == '.') goto yy3;
19715 			if (yych <= '/') goto yy189;
19716 			goto yy3;
19717 		}
19718 	} else {
19719 		if (yych <= '_') {
19720 			if (yych <= 'A') goto yy1326;
19721 			if (yych <= 'Z') goto yy185;
19722 			if (yych <= '^') goto yy3;
19723 			goto yy189;
19724 		} else {
19725 			if (yych <= '`') goto yy3;
19726 			if (yych <= 'a') goto yy1356;
19727 			if (yych <= 'z') goto yy193;
19728 			goto yy3;
19729 		}
19730 	}
19731 yy1356:
19732 	YYDEBUG(1356, *YYCURSOR);
19733 	yyaccept = 1;
19734 	yych = *(YYMARKER = ++YYCURSOR);
19735 	if (yych <= 'X') {
19736 		if (yych <= '-') {
19737 			if (yych == ')') goto yy181;
19738 			if (yych <= ',') goto yy3;
19739 			goto yy189;
19740 		} else {
19741 			if (yych == '/') goto yy189;
19742 			if (yych <= '@') goto yy3;
19743 			goto yy186;
19744 		}
19745 	} else {
19746 		if (yych <= '_') {
19747 			if (yych <= 'Y') goto yy1327;
19748 			if (yych <= 'Z') goto yy186;
19749 			if (yych <= '^') goto yy3;
19750 			goto yy189;
19751 		} else {
19752 			if (yych <= 'x') {
19753 				if (yych <= '`') goto yy3;
19754 				goto yy194;
19755 			} else {
19756 				if (yych <= 'y') goto yy1357;
19757 				if (yych <= 'z') goto yy194;
19758 				goto yy3;
19759 			}
19760 		}
19761 	}
19762 yy1357:
19763 	YYDEBUG(1357, *YYCURSOR);
19764 	yyaccept = 4;
19765 	yych = *(YYMARKER = ++YYCURSOR);
19766 	if (yych <= 'R') {
19767 		if (yych <= ',') {
19768 			if (yych == ')') goto yy181;
19769 			goto yy219;
19770 		} else {
19771 			if (yych == '.') goto yy219;
19772 			if (yych <= '/') goto yy189;
19773 			goto yy219;
19774 		}
19775 	} else {
19776 		if (yych <= '`') {
19777 			if (yych <= 'S') goto yy225;
19778 			if (yych == '_') goto yy189;
19779 			goto yy219;
19780 		} else {
19781 			if (yych == 's') goto yy239;
19782 			if (yych <= 'z') goto yy195;
19783 			goto yy219;
19784 		}
19785 	}
19786 yy1358:
19787 	YYDEBUG(1358, *YYCURSOR);
19788 	yyaccept = 1;
19789 	yych = *(YYMARKER = ++YYCURSOR);
19790 	if (yych <= 'S') {
19791 		if (yych <= '-') {
19792 			if (yych == ')') goto yy181;
19793 			if (yych <= ',') goto yy3;
19794 			goto yy189;
19795 		} else {
19796 			if (yych == '/') goto yy189;
19797 			if (yych <= '@') goto yy3;
19798 			goto yy184;
19799 		}
19800 	} else {
19801 		if (yych <= '_') {
19802 			if (yych <= 'T') goto yy1329;
19803 			if (yych <= 'Z') goto yy184;
19804 			if (yych <= '^') goto yy3;
19805 			goto yy189;
19806 		} else {
19807 			if (yych <= 's') {
19808 				if (yych <= '`') goto yy3;
19809 				goto yy192;
19810 			} else {
19811 				if (yych <= 't') goto yy1359;
19812 				if (yych <= 'z') goto yy192;
19813 				goto yy3;
19814 			}
19815 		}
19816 	}
19817 yy1359:
19818 	YYDEBUG(1359, *YYCURSOR);
19819 	yyaccept = 1;
19820 	yych = *(YYMARKER = ++YYCURSOR);
19821 	if (yych <= 'G') {
19822 		if (yych <= '-') {
19823 			if (yych == ')') goto yy181;
19824 			if (yych <= ',') goto yy3;
19825 			goto yy189;
19826 		} else {
19827 			if (yych == '/') goto yy189;
19828 			if (yych <= '@') goto yy3;
19829 			goto yy185;
19830 		}
19831 	} else {
19832 		if (yych <= '_') {
19833 			if (yych <= 'H') goto yy1330;
19834 			if (yych <= 'Z') goto yy185;
19835 			if (yych <= '^') goto yy3;
19836 			goto yy189;
19837 		} else {
19838 			if (yych <= 'g') {
19839 				if (yych <= '`') goto yy3;
19840 				goto yy193;
19841 			} else {
19842 				if (yych <= 'h') goto yy1360;
19843 				if (yych <= 'z') goto yy193;
19844 				goto yy3;
19845 			}
19846 		}
19847 	}
19848 yy1360:
19849 	YYDEBUG(1360, *YYCURSOR);
19850 	yyaccept = 1;
19851 	yych = *(YYMARKER = ++YYCURSOR);
19852 	if (yych <= '-') {
19853 		if (yych <= ' ') {
19854 			if (yych == '\t') goto yy1298;
19855 			if (yych <= 0x1F) goto yy3;
19856 			goto yy1298;
19857 		} else {
19858 			if (yych == ')') goto yy181;
19859 			if (yych <= ',') goto yy3;
19860 			goto yy189;
19861 		}
19862 	} else {
19863 		if (yych <= 'Z') {
19864 			if (yych == '/') goto yy189;
19865 			if (yych <= '@') goto yy3;
19866 			goto yy186;
19867 		} else {
19868 			if (yych <= '_') {
19869 				if (yych <= '^') goto yy3;
19870 				goto yy189;
19871 			} else {
19872 				if (yych <= '`') goto yy3;
19873 				if (yych <= 'z') goto yy194;
19874 				goto yy3;
19875 			}
19876 		}
19877 	}
19878 yy1361:
19879 	YYDEBUG(1361, *YYCURSOR);
19880 	yyaccept = 4;
19881 	yych = *(YYMARKER = ++YYCURSOR);
19882 	if (yych <= 'T') {
19883 		if (yych <= '-') {
19884 			if (yych == ')') goto yy181;
19885 			if (yych <= ',') goto yy219;
19886 			goto yy189;
19887 		} else {
19888 			if (yych == '/') goto yy189;
19889 			if (yych <= '@') goto yy219;
19890 			goto yy184;
19891 		}
19892 	} else {
19893 		if (yych <= '_') {
19894 			if (yych <= 'U') goto yy1332;
19895 			if (yych <= 'Z') goto yy184;
19896 			if (yych <= '^') goto yy219;
19897 			goto yy189;
19898 		} else {
19899 			if (yych <= 't') {
19900 				if (yych <= '`') goto yy219;
19901 				goto yy192;
19902 			} else {
19903 				if (yych <= 'u') goto yy1362;
19904 				if (yych <= 'z') goto yy192;
19905 				goto yy219;
19906 			}
19907 		}
19908 	}
19909 yy1362:
19910 	YYDEBUG(1362, *YYCURSOR);
19911 	yyaccept = 1;
19912 	yych = *(YYMARKER = ++YYCURSOR);
19913 	if (yych <= 'Q') {
19914 		if (yych <= '-') {
19915 			if (yych == ')') goto yy181;
19916 			if (yych <= ',') goto yy3;
19917 			goto yy189;
19918 		} else {
19919 			if (yych == '/') goto yy189;
19920 			if (yych <= '@') goto yy3;
19921 			goto yy185;
19922 		}
19923 	} else {
19924 		if (yych <= '_') {
19925 			if (yych <= 'R') goto yy1333;
19926 			if (yych <= 'Z') goto yy185;
19927 			if (yych <= '^') goto yy3;
19928 			goto yy189;
19929 		} else {
19930 			if (yych <= 'q') {
19931 				if (yych <= '`') goto yy3;
19932 				goto yy193;
19933 			} else {
19934 				if (yych <= 'r') goto yy1363;
19935 				if (yych <= 'z') goto yy193;
19936 				goto yy3;
19937 			}
19938 		}
19939 	}
19940 yy1363:
19941 	YYDEBUG(1363, *YYCURSOR);
19942 	yyaccept = 1;
19943 	yych = *(YYMARKER = ++YYCURSOR);
19944 	if (yych <= 'C') {
19945 		if (yych <= '-') {
19946 			if (yych == ')') goto yy181;
19947 			if (yych <= ',') goto yy3;
19948 			goto yy189;
19949 		} else {
19950 			if (yych == '/') goto yy189;
19951 			if (yych <= '@') goto yy3;
19952 			goto yy186;
19953 		}
19954 	} else {
19955 		if (yych <= '_') {
19956 			if (yych <= 'D') goto yy1334;
19957 			if (yych <= 'Z') goto yy186;
19958 			if (yych <= '^') goto yy3;
19959 			goto yy189;
19960 		} else {
19961 			if (yych <= 'c') {
19962 				if (yych <= '`') goto yy3;
19963 				goto yy194;
19964 			} else {
19965 				if (yych <= 'd') goto yy1364;
19966 				if (yych <= 'z') goto yy194;
19967 				goto yy3;
19968 			}
19969 		}
19970 	}
19971 yy1364:
19972 	YYDEBUG(1364, *YYCURSOR);
19973 	yyaccept = 1;
19974 	yych = *(YYMARKER = ++YYCURSOR);
19975 	if (yych <= '@') {
19976 		if (yych <= ',') {
19977 			if (yych == ')') goto yy181;
19978 			goto yy3;
19979 		} else {
19980 			if (yych == '.') goto yy3;
19981 			if (yych <= '/') goto yy189;
19982 			goto yy3;
19983 		}
19984 	} else {
19985 		if (yych <= '_') {
19986 			if (yych <= 'A') goto yy1335;
19987 			if (yych <= '^') goto yy3;
19988 			goto yy189;
19989 		} else {
19990 			if (yych <= '`') goto yy3;
19991 			if (yych <= 'a') goto yy1365;
19992 			if (yych <= 'z') goto yy195;
19993 			goto yy3;
19994 		}
19995 	}
19996 yy1365:
19997 	YYDEBUG(1365, *YYCURSOR);
19998 	yych = *++YYCURSOR;
19999 	if (yych == 'Y') goto yy1336;
20000 	if (yych != 'y') goto yy196;
20001 	YYDEBUG(1366, *YYCURSOR);
20002 	yyaccept = 4;
20003 	yych = *(YYMARKER = ++YYCURSOR);
20004 	if (yych <= 'S') {
20005 		if (yych <= '.') {
20006 			if (yych == '-') goto yy189;
20007 			goto yy219;
20008 		} else {
20009 			if (yych <= '/') goto yy189;
20010 			if (yych <= 'R') goto yy219;
20011 			goto yy225;
20012 		}
20013 	} else {
20014 		if (yych <= '`') {
20015 			if (yych == '_') goto yy189;
20016 			goto yy219;
20017 		} else {
20018 			if (yych == 's') goto yy239;
20019 			if (yych <= 'z') goto yy195;
20020 			goto yy219;
20021 		}
20022 	}
20023 yy1367:
20024 	YYDEBUG(1367, *YYCURSOR);
20025 	yyaccept = 1;
20026 	yych = *(YYMARKER = ++YYCURSOR);
20027 	if (yych <= 'N') {
20028 		if (yych <= '-') {
20029 			if (yych == ')') goto yy181;
20030 			if (yych <= ',') goto yy3;
20031 			goto yy189;
20032 		} else {
20033 			if (yych == '/') goto yy189;
20034 			if (yych <= '@') goto yy3;
20035 			goto yy184;
20036 		}
20037 	} else {
20038 		if (yych <= '_') {
20039 			if (yych <= 'O') goto yy1348;
20040 			if (yych <= 'Z') goto yy184;
20041 			if (yych <= '^') goto yy3;
20042 			goto yy189;
20043 		} else {
20044 			if (yych <= 'n') {
20045 				if (yych <= '`') goto yy3;
20046 				goto yy192;
20047 			} else {
20048 				if (yych <= 'o') goto yy1378;
20049 				if (yych <= 'z') goto yy192;
20050 				goto yy3;
20051 			}
20052 		}
20053 	}
20054 yy1368:
20055 	YYDEBUG(1368, *YYCURSOR);
20056 	yyaccept = 1;
20057 	yych = *(YYMARKER = ++YYCURSOR);
20058 	if (yych <= 'D') {
20059 		if (yych <= '-') {
20060 			if (yych == ')') goto yy181;
20061 			if (yych <= ',') goto yy3;
20062 			goto yy189;
20063 		} else {
20064 			if (yych == '/') goto yy189;
20065 			if (yych <= '@') goto yy3;
20066 			goto yy184;
20067 		}
20068 	} else {
20069 		if (yych <= '_') {
20070 			if (yych <= 'E') goto yy1345;
20071 			if (yych <= 'Z') goto yy184;
20072 			if (yych <= '^') goto yy3;
20073 			goto yy189;
20074 		} else {
20075 			if (yych <= 'd') {
20076 				if (yych <= '`') goto yy3;
20077 				goto yy192;
20078 			} else {
20079 				if (yych <= 'e') goto yy1375;
20080 				if (yych <= 'z') goto yy192;
20081 				goto yy3;
20082 			}
20083 		}
20084 	}
20085 yy1369:
20086 	YYDEBUG(1369, *YYCURSOR);
20087 	yyaccept = 5;
20088 	yych = *(YYMARKER = ++YYCURSOR);
20089 	if (yych <= '9') {
20090 		if (yych <= '(') {
20091 			if (yych <= '\t') {
20092 				if (yych <= 0x08) goto yy248;
20093 				goto yy250;
20094 			} else {
20095 				if (yych == ' ') goto yy250;
20096 				goto yy248;
20097 			}
20098 		} else {
20099 			if (yych <= '-') {
20100 				if (yych <= ')') goto yy181;
20101 				if (yych <= ',') goto yy248;
20102 				goto yy377;
20103 			} else {
20104 				if (yych == '/') goto yy189;
20105 				goto yy250;
20106 			}
20107 		}
20108 	} else {
20109 		if (yych <= '^') {
20110 			if (yych <= 'S') {
20111 				if (yych <= '@') goto yy248;
20112 				goto yy184;
20113 			} else {
20114 				if (yych <= 'T') goto yy1340;
20115 				if (yych <= 'Z') goto yy184;
20116 				goto yy248;
20117 			}
20118 		} else {
20119 			if (yych <= 's') {
20120 				if (yych <= '_') goto yy189;
20121 				if (yych <= '`') goto yy248;
20122 				goto yy192;
20123 			} else {
20124 				if (yych <= 't') goto yy1370;
20125 				if (yych <= 'z') goto yy192;
20126 				goto yy248;
20127 			}
20128 		}
20129 	}
20130 yy1370:
20131 	YYDEBUG(1370, *YYCURSOR);
20132 	yyaccept = 5;
20133 	yych = *(YYMARKER = ++YYCURSOR);
20134 	if (yych <= '9') {
20135 		if (yych <= '(') {
20136 			if (yych <= '\t') {
20137 				if (yych <= 0x08) goto yy248;
20138 				goto yy250;
20139 			} else {
20140 				if (yych == ' ') goto yy250;
20141 				goto yy248;
20142 			}
20143 		} else {
20144 			if (yych <= '-') {
20145 				if (yych <= ')') goto yy181;
20146 				if (yych <= ',') goto yy248;
20147 				goto yy377;
20148 			} else {
20149 				if (yych == '/') goto yy189;
20150 				goto yy250;
20151 			}
20152 		}
20153 	} else {
20154 		if (yych <= '^') {
20155 			if (yych <= 'D') {
20156 				if (yych <= '@') goto yy248;
20157 				goto yy185;
20158 			} else {
20159 				if (yych <= 'E') goto yy1341;
20160 				if (yych <= 'Z') goto yy185;
20161 				goto yy248;
20162 			}
20163 		} else {
20164 			if (yych <= 'd') {
20165 				if (yych <= '_') goto yy189;
20166 				if (yych <= '`') goto yy248;
20167 				goto yy193;
20168 			} else {
20169 				if (yych <= 'e') goto yy1371;
20170 				if (yych <= 'z') goto yy193;
20171 				goto yy248;
20172 			}
20173 		}
20174 	}
20175 yy1371:
20176 	YYDEBUG(1371, *YYCURSOR);
20177 	yyaccept = 1;
20178 	yych = *(YYMARKER = ++YYCURSOR);
20179 	if (yych <= 'L') {
20180 		if (yych <= '-') {
20181 			if (yych == ')') goto yy181;
20182 			if (yych <= ',') goto yy3;
20183 			goto yy189;
20184 		} else {
20185 			if (yych == '/') goto yy189;
20186 			if (yych <= '@') goto yy3;
20187 			goto yy186;
20188 		}
20189 	} else {
20190 		if (yych <= '_') {
20191 			if (yych <= 'M') goto yy1342;
20192 			if (yych <= 'Z') goto yy186;
20193 			if (yych <= '^') goto yy3;
20194 			goto yy189;
20195 		} else {
20196 			if (yych <= 'l') {
20197 				if (yych <= '`') goto yy3;
20198 				goto yy194;
20199 			} else {
20200 				if (yych <= 'm') goto yy1372;
20201 				if (yych <= 'z') goto yy194;
20202 				goto yy3;
20203 			}
20204 		}
20205 	}
20206 yy1372:
20207 	YYDEBUG(1372, *YYCURSOR);
20208 	yyaccept = 1;
20209 	yych = *(YYMARKER = ++YYCURSOR);
20210 	if (yych <= 'A') {
20211 		if (yych <= ',') {
20212 			if (yych == ')') goto yy181;
20213 			goto yy3;
20214 		} else {
20215 			if (yych == '.') goto yy3;
20216 			if (yych <= '/') goto yy189;
20217 			goto yy3;
20218 		}
20219 	} else {
20220 		if (yych <= '`') {
20221 			if (yych <= 'B') goto yy1343;
20222 			if (yych == '_') goto yy189;
20223 			goto yy3;
20224 		} else {
20225 			if (yych == 'b') goto yy1373;
20226 			if (yych <= 'z') goto yy195;
20227 			goto yy3;
20228 		}
20229 	}
20230 yy1373:
20231 	YYDEBUG(1373, *YYCURSOR);
20232 	yych = *++YYCURSOR;
20233 	if (yych == 'E') goto yy1344;
20234 	if (yych != 'e') goto yy196;
20235 	YYDEBUG(1374, *YYCURSOR);
20236 	yych = *++YYCURSOR;
20237 	if (yych == 'R') goto yy259;
20238 	if (yych == 'r') goto yy382;
20239 	goto yy196;
20240 yy1375:
20241 	YYDEBUG(1375, *YYCURSOR);
20242 	yyaccept = 1;
20243 	yych = *(YYMARKER = ++YYCURSOR);
20244 	if (yych <= 'M') {
20245 		if (yych <= '-') {
20246 			if (yych == ')') goto yy181;
20247 			if (yych <= ',') goto yy3;
20248 			goto yy189;
20249 		} else {
20250 			if (yych == '/') goto yy189;
20251 			if (yych <= '@') goto yy3;
20252 			goto yy185;
20253 		}
20254 	} else {
20255 		if (yych <= '_') {
20256 			if (yych <= 'N') goto yy1346;
20257 			if (yych <= 'Z') goto yy185;
20258 			if (yych <= '^') goto yy3;
20259 			goto yy189;
20260 		} else {
20261 			if (yych <= 'm') {
20262 				if (yych <= '`') goto yy3;
20263 				goto yy193;
20264 			} else {
20265 				if (yych <= 'n') goto yy1376;
20266 				if (yych <= 'z') goto yy193;
20267 				goto yy3;
20268 			}
20269 		}
20270 	}
20271 yy1376:
20272 	YYDEBUG(1376, *YYCURSOR);
20273 	yyaccept = 1;
20274 	yych = *(YYMARKER = ++YYCURSOR);
20275 	if (yych <= 'S') {
20276 		if (yych <= '-') {
20277 			if (yych == ')') goto yy181;
20278 			if (yych <= ',') goto yy3;
20279 			goto yy189;
20280 		} else {
20281 			if (yych == '/') goto yy189;
20282 			if (yych <= '@') goto yy3;
20283 			goto yy186;
20284 		}
20285 	} else {
20286 		if (yych <= '_') {
20287 			if (yych <= 'T') goto yy1347;
20288 			if (yych <= 'Z') goto yy186;
20289 			if (yych <= '^') goto yy3;
20290 			goto yy189;
20291 		} else {
20292 			if (yych <= 's') {
20293 				if (yych <= '`') goto yy3;
20294 				goto yy194;
20295 			} else {
20296 				if (yych <= 't') goto yy1377;
20297 				if (yych <= 'z') goto yy194;
20298 				goto yy3;
20299 			}
20300 		}
20301 	}
20302 yy1377:
20303 	YYDEBUG(1377, *YYCURSOR);
20304 	yyaccept = 1;
20305 	yych = *(YYMARKER = ++YYCURSOR);
20306 	if (yych <= 'G') {
20307 		if (yych <= ',') {
20308 			if (yych == ')') goto yy181;
20309 			goto yy3;
20310 		} else {
20311 			if (yych == '.') goto yy3;
20312 			if (yych <= '/') goto yy189;
20313 			goto yy3;
20314 		}
20315 	} else {
20316 		if (yych <= '`') {
20317 			if (yych <= 'H') goto yy1297;
20318 			if (yych == '_') goto yy189;
20319 			goto yy3;
20320 		} else {
20321 			if (yych == 'h') goto yy1315;
20322 			if (yych <= 'z') goto yy195;
20323 			goto yy3;
20324 		}
20325 	}
20326 yy1378:
20327 	YYDEBUG(1378, *YYCURSOR);
20328 	yyaccept = 1;
20329 	yych = *(YYMARKER = ++YYCURSOR);
20330 	if (yych <= 'M') {
20331 		if (yych <= '-') {
20332 			if (yych == ')') goto yy181;
20333 			if (yych <= ',') goto yy3;
20334 			goto yy189;
20335 		} else {
20336 			if (yych == '/') goto yy189;
20337 			if (yych <= '@') goto yy3;
20338 			goto yy185;
20339 		}
20340 	} else {
20341 		if (yych <= '_') {
20342 			if (yych <= 'N') goto yy1349;
20343 			if (yych <= 'Z') goto yy185;
20344 			if (yych <= '^') goto yy3;
20345 			goto yy189;
20346 		} else {
20347 			if (yych <= 'm') {
20348 				if (yych <= '`') goto yy3;
20349 				goto yy193;
20350 			} else {
20351 				if (yych <= 'n') goto yy1379;
20352 				if (yych <= 'z') goto yy193;
20353 				goto yy3;
20354 			}
20355 		}
20356 	}
20357 yy1379:
20358 	YYDEBUG(1379, *YYCURSOR);
20359 	yyaccept = 1;
20360 	yych = *(YYMARKER = ++YYCURSOR);
20361 	if (yych <= 'C') {
20362 		if (yych <= '-') {
20363 			if (yych == ')') goto yy181;
20364 			if (yych <= ',') goto yy3;
20365 			goto yy189;
20366 		} else {
20367 			if (yych == '/') goto yy189;
20368 			if (yych <= '@') goto yy3;
20369 			goto yy186;
20370 		}
20371 	} else {
20372 		if (yych <= '_') {
20373 			if (yych <= 'D') goto yy1307;
20374 			if (yych <= 'Z') goto yy186;
20375 			if (yych <= '^') goto yy3;
20376 			goto yy189;
20377 		} else {
20378 			if (yych <= 'c') {
20379 				if (yych <= '`') goto yy3;
20380 				goto yy194;
20381 			} else {
20382 				if (yych <= 'd') goto yy1319;
20383 				if (yych <= 'z') goto yy194;
20384 				goto yy3;
20385 			}
20386 		}
20387 	}
20388 yy1380:
20389 	YYDEBUG(1380, *YYCURSOR);
20390 	yych = *++YYCURSOR;
20391 	if (yych <= 'C') {
20392 		if (yych <= ')') {
20393 			if (yych <= '(') goto yy3;
20394 			goto yy181;
20395 		} else {
20396 			if (yych <= '@') goto yy3;
20397 			if (yych <= 'B') goto yy183;
20398 		}
20399 	} else {
20400 		if (yych <= 'b') {
20401 			if (yych <= 'Z') goto yy183;
20402 			if (yych <= '`') goto yy3;
20403 			goto yy183;
20404 		} else {
20405 			if (yych <= 'c') goto yy1381;
20406 			if (yych <= 'z') goto yy183;
20407 			goto yy3;
20408 		}
20409 	}
20410 yy1381:
20411 	YYDEBUG(1381, *YYCURSOR);
20412 	yych = *++YYCURSOR;
20413 	if (yych <= 'K') {
20414 		if (yych <= ')') {
20415 			if (yych <= '(') goto yy3;
20416 			goto yy181;
20417 		} else {
20418 			if (yych <= '@') goto yy3;
20419 			if (yych <= 'J') goto yy184;
20420 		}
20421 	} else {
20422 		if (yych <= 'j') {
20423 			if (yych <= 'Z') goto yy184;
20424 			if (yych <= '`') goto yy3;
20425 			goto yy184;
20426 		} else {
20427 			if (yych <= 'k') goto yy1382;
20428 			if (yych <= 'z') goto yy184;
20429 			goto yy3;
20430 		}
20431 	}
20432 yy1382:
20433 	YYDEBUG(1382, *YYCURSOR);
20434 	yyaccept = 1;
20435 	yych = *(YYMARKER = ++YYCURSOR);
20436 	if (yych <= ')') {
20437 		if (yych == ' ') goto yy1383;
20438 		if (yych <= '(') goto yy3;
20439 		goto yy181;
20440 	} else {
20441 		if (yych <= 'Z') {
20442 			if (yych <= '@') goto yy3;
20443 			goto yy185;
20444 		} else {
20445 			if (yych <= '`') goto yy3;
20446 			if (yych <= 'z') goto yy185;
20447 			goto yy3;
20448 		}
20449 	}
20450 yy1383:
20451 	YYDEBUG(1383, *YYCURSOR);
20452 	yych = *++YYCURSOR;
20453 	if (yych == 'O') goto yy1384;
20454 	if (yych != 'o') goto yy55;
20455 yy1384:
20456 	YYDEBUG(1384, *YYCURSOR);
20457 	yych = *++YYCURSOR;
20458 	if (yych == 'F') goto yy1385;
20459 	if (yych != 'f') goto yy55;
20460 yy1385:
20461 	YYDEBUG(1385, *YYCURSOR);
20462 	yych = *++YYCURSOR;
20463 	if (yych != ' ') goto yy55;
20464 	YYDEBUG(1386, *YYCURSOR);
20465 	yych = *++YYCURSOR;
20466 	if (yych <= '/') goto yy55;
20467 	if (yych <= '1') goto yy1387;
20468 	if (yych <= '2') goto yy1389;
20469 	if (yych <= '9') goto yy1390;
20470 	goto yy55;
20471 yy1387:
20472 	YYDEBUG(1387, *YYCURSOR);
20473 	yyaccept = 28;
20474 	yych = *(YYMARKER = ++YYCURSOR);
20475 	if (yych <= '@') {
20476 		if (yych <= 0x1F) {
20477 			if (yych == '\t') goto yy1391;
20478 		} else {
20479 			if (yych <= ' ') goto yy1391;
20480 			if (yych <= '/') goto yy1388;
20481 			if (yych <= '9') goto yy1390;
20482 		}
20483 	} else {
20484 		if (yych <= '`') {
20485 			if (yych <= 'A') goto yy1393;
20486 			if (yych == 'P') goto yy1393;
20487 		} else {
20488 			if (yych <= 'a') goto yy1393;
20489 			if (yych == 'p') goto yy1393;
20490 		}
20491 	}
20492 yy1388:
20493 	YYDEBUG(1388, *YYCURSOR);
20494 #line 1232 "ext/date/lib/parse_date.re"
20495 	{
20496 		DEBUG_OUTPUT("backof | frontof");
20497 		TIMELIB_INIT;
20498 		TIMELIB_UNHAVE_TIME();
20499 		TIMELIB_HAVE_TIME();
20500 
20501 		if (*ptr == 'b') {
20502 			s->time->h = timelib_get_nr(&ptr, 2);
20503 			s->time->i = 15;
20504 		} else {
20505 			s->time->h = timelib_get_nr(&ptr, 2) - 1;
20506 			s->time->i = 45;
20507 		}
20508 		if (*ptr != '\0' ) {
20509 			timelib_eat_spaces(&ptr);
20510 			s->time->h += timelib_meridian(&ptr, s->time->h);
20511 		}
20512 
20513 		TIMELIB_DEINIT;
20514 		return TIMELIB_LF_DAY_OF_MONTH;
20515 	}
20516 #line 20517 "<stdout>"
20517 yy1389:
20518 	YYDEBUG(1389, *YYCURSOR);
20519 	yyaccept = 28;
20520 	yych = *(YYMARKER = ++YYCURSOR);
20521 	if (yych <= '@') {
20522 		if (yych <= 0x1F) {
20523 			if (yych == '\t') goto yy1391;
20524 			goto yy1388;
20525 		} else {
20526 			if (yych <= ' ') goto yy1391;
20527 			if (yych <= '/') goto yy1388;
20528 			if (yych >= '5') goto yy1388;
20529 		}
20530 	} else {
20531 		if (yych <= '`') {
20532 			if (yych <= 'A') goto yy1393;
20533 			if (yych == 'P') goto yy1393;
20534 			goto yy1388;
20535 		} else {
20536 			if (yych <= 'a') goto yy1393;
20537 			if (yych == 'p') goto yy1393;
20538 			goto yy1388;
20539 		}
20540 	}
20541 yy1390:
20542 	YYDEBUG(1390, *YYCURSOR);
20543 	yyaccept = 28;
20544 	yych = *(YYMARKER = ++YYCURSOR);
20545 	if (yych <= 'A') {
20546 		if (yych <= 0x1F) {
20547 			if (yych != '\t') goto yy1388;
20548 		} else {
20549 			if (yych <= ' ') goto yy1391;
20550 			if (yych <= '@') goto yy1388;
20551 			goto yy1393;
20552 		}
20553 	} else {
20554 		if (yych <= '`') {
20555 			if (yych == 'P') goto yy1393;
20556 			goto yy1388;
20557 		} else {
20558 			if (yych <= 'a') goto yy1393;
20559 			if (yych == 'p') goto yy1393;
20560 			goto yy1388;
20561 		}
20562 	}
20563 yy1391:
20564 	YYDEBUG(1391, *YYCURSOR);
20565 	++YYCURSOR;
20566 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
20567 	yych = *YYCURSOR;
20568 	YYDEBUG(1392, *YYCURSOR);
20569 	if (yych <= 'A') {
20570 		if (yych <= 0x1F) {
20571 			if (yych == '\t') goto yy1391;
20572 			goto yy55;
20573 		} else {
20574 			if (yych <= ' ') goto yy1391;
20575 			if (yych <= '@') goto yy55;
20576 		}
20577 	} else {
20578 		if (yych <= '`') {
20579 			if (yych != 'P') goto yy55;
20580 		} else {
20581 			if (yych <= 'a') goto yy1393;
20582 			if (yych != 'p') goto yy55;
20583 		}
20584 	}
20585 yy1393:
20586 	YYDEBUG(1393, *YYCURSOR);
20587 	yych = *++YYCURSOR;
20588 	if (yych <= 'L') {
20589 		if (yych != '.') goto yy55;
20590 	} else {
20591 		if (yych <= 'M') goto yy1395;
20592 		if (yych == 'm') goto yy1395;
20593 		goto yy55;
20594 	}
20595 	YYDEBUG(1394, *YYCURSOR);
20596 	yych = *++YYCURSOR;
20597 	if (yych == 'M') goto yy1395;
20598 	if (yych != 'm') goto yy55;
20599 yy1395:
20600 	YYDEBUG(1395, *YYCURSOR);
20601 	yych = *++YYCURSOR;
20602 	if (yych <= 0x1F) {
20603 		if (yych <= 0x00) goto yy1397;
20604 		if (yych == '\t') goto yy1397;
20605 		goto yy55;
20606 	} else {
20607 		if (yych <= ' ') goto yy1397;
20608 		if (yych != '.') goto yy55;
20609 	}
20610 	YYDEBUG(1396, *YYCURSOR);
20611 	yych = *++YYCURSOR;
20612 	if (yych <= '\t') {
20613 		if (yych <= 0x00) goto yy1397;
20614 		if (yych <= 0x08) goto yy55;
20615 	} else {
20616 		if (yych != ' ') goto yy55;
20617 	}
20618 yy1397:
20619 	YYDEBUG(1397, *YYCURSOR);
20620 	yych = *++YYCURSOR;
20621 	goto yy1388;
20622 yy1398:
20623 	YYDEBUG(1398, *YYCURSOR);
20624 	yyaccept = 1;
20625 	yych = *(YYMARKER = ++YYCURSOR);
20626 	if (yych <= 'B') {
20627 		if (yych <= '-') {
20628 			if (yych == ')') goto yy181;
20629 			if (yych <= ',') goto yy3;
20630 			goto yy189;
20631 		} else {
20632 			if (yych == '/') goto yy189;
20633 			if (yych <= '@') goto yy3;
20634 			goto yy183;
20635 		}
20636 	} else {
20637 		if (yych <= '_') {
20638 			if (yych <= 'C') goto yy1381;
20639 			if (yych <= 'Z') goto yy183;
20640 			if (yych <= '^') goto yy3;
20641 			goto yy189;
20642 		} else {
20643 			if (yych <= 'b') {
20644 				if (yych <= '`') goto yy3;
20645 				goto yy188;
20646 			} else {
20647 				if (yych <= 'c') goto yy1399;
20648 				if (yych <= 'z') goto yy188;
20649 				goto yy3;
20650 			}
20651 		}
20652 	}
20653 yy1399:
20654 	YYDEBUG(1399, *YYCURSOR);
20655 	yyaccept = 1;
20656 	yych = *(YYMARKER = ++YYCURSOR);
20657 	if (yych <= 'J') {
20658 		if (yych <= '-') {
20659 			if (yych == ')') goto yy181;
20660 			if (yych <= ',') goto yy3;
20661 			goto yy189;
20662 		} else {
20663 			if (yych == '/') goto yy189;
20664 			if (yych <= '@') goto yy3;
20665 			goto yy184;
20666 		}
20667 	} else {
20668 		if (yych <= '_') {
20669 			if (yych <= 'K') goto yy1382;
20670 			if (yych <= 'Z') goto yy184;
20671 			if (yych <= '^') goto yy3;
20672 			goto yy189;
20673 		} else {
20674 			if (yych <= 'j') {
20675 				if (yych <= '`') goto yy3;
20676 				goto yy192;
20677 			} else {
20678 				if (yych <= 'k') goto yy1400;
20679 				if (yych <= 'z') goto yy192;
20680 				goto yy3;
20681 			}
20682 		}
20683 	}
20684 yy1400:
20685 	YYDEBUG(1400, *YYCURSOR);
20686 	yyaccept = 1;
20687 	yych = *(YYMARKER = ++YYCURSOR);
20688 	if (yych <= '.') {
20689 		if (yych <= '(') {
20690 			if (yych == ' ') goto yy1383;
20691 			goto yy3;
20692 		} else {
20693 			if (yych <= ')') goto yy181;
20694 			if (yych == '-') goto yy189;
20695 			goto yy3;
20696 		}
20697 	} else {
20698 		if (yych <= '^') {
20699 			if (yych <= '/') goto yy189;
20700 			if (yych <= '@') goto yy3;
20701 			if (yych <= 'Z') goto yy185;
20702 			goto yy3;
20703 		} else {
20704 			if (yych <= '_') goto yy189;
20705 			if (yych <= '`') goto yy3;
20706 			if (yych <= 'z') goto yy193;
20707 			goto yy3;
20708 		}
20709 	}
20710 yy1401:
20711 	YYDEBUG(1401, *YYCURSOR);
20712 	yych = *++YYCURSOR;
20713 	if (yych <= 'S') {
20714 		if (yych <= ')') {
20715 			if (yych <= '(') goto yy3;
20716 			goto yy181;
20717 		} else {
20718 			if (yych <= '@') goto yy3;
20719 			if (yych <= 'R') goto yy183;
20720 		}
20721 	} else {
20722 		if (yych <= 'r') {
20723 			if (yych <= 'Z') goto yy183;
20724 			if (yych <= '`') goto yy3;
20725 			goto yy183;
20726 		} else {
20727 			if (yych <= 's') goto yy1402;
20728 			if (yych <= 'z') goto yy183;
20729 			goto yy3;
20730 		}
20731 	}
20732 yy1402:
20733 	YYDEBUG(1402, *YYCURSOR);
20734 	yych = *++YYCURSOR;
20735 	if (yych <= 'T') {
20736 		if (yych <= ')') {
20737 			if (yych <= '(') goto yy3;
20738 			goto yy181;
20739 		} else {
20740 			if (yych <= '@') goto yy3;
20741 			if (yych <= 'S') goto yy184;
20742 		}
20743 	} else {
20744 		if (yych <= 's') {
20745 			if (yych <= 'Z') goto yy184;
20746 			if (yych <= '`') goto yy3;
20747 			goto yy184;
20748 		} else {
20749 			if (yych <= 't') goto yy1403;
20750 			if (yych <= 'z') goto yy184;
20751 			goto yy3;
20752 		}
20753 	}
20754 yy1403:
20755 	YYDEBUG(1403, *YYCURSOR);
20756 	yyaccept = 1;
20757 	yych = *(YYMARKER = ++YYCURSOR);
20758 	if (yych <= '(') {
20759 		if (yych <= '\t') {
20760 			if (yych <= 0x08) goto yy3;
20761 			goto yy1164;
20762 		} else {
20763 			if (yych != ' ') goto yy3;
20764 		}
20765 	} else {
20766 		if (yych <= 'Z') {
20767 			if (yych <= ')') goto yy181;
20768 			if (yych <= '@') goto yy3;
20769 			goto yy185;
20770 		} else {
20771 			if (yych <= '`') goto yy3;
20772 			if (yych <= 'z') goto yy185;
20773 			goto yy3;
20774 		}
20775 	}
20776 yy1404:
20777 	YYDEBUG(1404, *YYCURSOR);
20778 	yych = *++YYCURSOR;
20779 	if (yych == 'D') goto yy1405;
20780 	if (yych != 'd') goto yy1165;
20781 yy1405:
20782 	YYDEBUG(1405, *YYCURSOR);
20783 	yych = *++YYCURSOR;
20784 	if (yych == 'A') goto yy1406;
20785 	if (yych != 'a') goto yy55;
20786 yy1406:
20787 	YYDEBUG(1406, *YYCURSOR);
20788 	yych = *++YYCURSOR;
20789 	if (yych == 'Y') goto yy1407;
20790 	if (yych != 'y') goto yy55;
20791 yy1407:
20792 	YYDEBUG(1407, *YYCURSOR);
20793 	yyaccept = 26;
20794 	yych = *(YYMARKER = ++YYCURSOR);
20795 	if (yych <= 'R') {
20796 		if (yych != ' ') goto yy1179;
20797 	} else {
20798 		if (yych <= 'S') goto yy1207;
20799 		if (yych == 's') goto yy1207;
20800 		goto yy1179;
20801 	}
20802 	YYDEBUG(1408, *YYCURSOR);
20803 	yych = *++YYCURSOR;
20804 	if (yych == 'O') goto yy1409;
20805 	if (yych != 'o') goto yy55;
20806 yy1409:
20807 	YYDEBUG(1409, *YYCURSOR);
20808 	yych = *++YYCURSOR;
20809 	if (yych == 'F') goto yy1410;
20810 	if (yych != 'f') goto yy55;
20811 yy1410:
20812 	YYDEBUG(1410, *YYCURSOR);
20813 	++YYCURSOR;
20814 	YYDEBUG(1411, *YYCURSOR);
20815 #line 1215 "ext/date/lib/parse_date.re"
20816 	{
20817 		DEBUG_OUTPUT("firstdayof | lastdayof");
20818 		TIMELIB_INIT;
20819 		TIMELIB_HAVE_RELATIVE();
20820 
20821 		/* skip "last day of" or "first day of" */
20822 		if (*ptr == 'l' || *ptr == 'L') {
20823 			s->time->relative.first_last_day_of = TIMELIB_SPECIAL_LAST_DAY_OF_MONTH;
20824 		} else {
20825 			s->time->relative.first_last_day_of = TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH;
20826 		}
20827 
20828 		TIMELIB_DEINIT;
20829 		return TIMELIB_LF_DAY_OF_MONTH;
20830 	}
20831 #line 20832 "<stdout>"
20832 yy1412:
20833 	YYDEBUG(1412, *YYCURSOR);
20834 	yyaccept = 1;
20835 	yych = *(YYMARKER = ++YYCURSOR);
20836 	if (yych <= 'R') {
20837 		if (yych <= '-') {
20838 			if (yych == ')') goto yy181;
20839 			if (yych <= ',') goto yy3;
20840 			goto yy189;
20841 		} else {
20842 			if (yych == '/') goto yy189;
20843 			if (yych <= '@') goto yy3;
20844 			goto yy183;
20845 		}
20846 	} else {
20847 		if (yych <= '_') {
20848 			if (yych <= 'S') goto yy1402;
20849 			if (yych <= 'Z') goto yy183;
20850 			if (yych <= '^') goto yy3;
20851 			goto yy189;
20852 		} else {
20853 			if (yych <= 'r') {
20854 				if (yych <= '`') goto yy3;
20855 				goto yy188;
20856 			} else {
20857 				if (yych <= 's') goto yy1413;
20858 				if (yych <= 'z') goto yy188;
20859 				goto yy3;
20860 			}
20861 		}
20862 	}
20863 yy1413:
20864 	YYDEBUG(1413, *YYCURSOR);
20865 	yyaccept = 1;
20866 	yych = *(YYMARKER = ++YYCURSOR);
20867 	if (yych <= 'S') {
20868 		if (yych <= '-') {
20869 			if (yych == ')') goto yy181;
20870 			if (yych <= ',') goto yy3;
20871 			goto yy189;
20872 		} else {
20873 			if (yych == '/') goto yy189;
20874 			if (yych <= '@') goto yy3;
20875 			goto yy184;
20876 		}
20877 	} else {
20878 		if (yych <= '_') {
20879 			if (yych <= 'T') goto yy1403;
20880 			if (yych <= 'Z') goto yy184;
20881 			if (yych <= '^') goto yy3;
20882 			goto yy189;
20883 		} else {
20884 			if (yych <= 's') {
20885 				if (yych <= '`') goto yy3;
20886 				goto yy192;
20887 			} else {
20888 				if (yych <= 't') goto yy1414;
20889 				if (yych <= 'z') goto yy192;
20890 				goto yy3;
20891 			}
20892 		}
20893 	}
20894 yy1414:
20895 	YYDEBUG(1414, *YYCURSOR);
20896 	yyaccept = 1;
20897 	yych = *(YYMARKER = ++YYCURSOR);
20898 	if (yych <= '-') {
20899 		if (yych <= ' ') {
20900 			if (yych == '\t') goto yy1164;
20901 			if (yych <= 0x1F) goto yy3;
20902 			goto yy1404;
20903 		} else {
20904 			if (yych == ')') goto yy181;
20905 			if (yych <= ',') goto yy3;
20906 			goto yy189;
20907 		}
20908 	} else {
20909 		if (yych <= 'Z') {
20910 			if (yych == '/') goto yy189;
20911 			if (yych <= '@') goto yy3;
20912 			goto yy185;
20913 		} else {
20914 			if (yych <= '_') {
20915 				if (yych <= '^') goto yy3;
20916 				goto yy189;
20917 			} else {
20918 				if (yych <= '`') goto yy3;
20919 				if (yych <= 'z') goto yy193;
20920 				goto yy3;
20921 			}
20922 		}
20923 	}
20924 yy1415:
20925 	YYDEBUG(1415, *YYCURSOR);
20926 	yych = *++YYCURSOR;
20927 	if (yych <= 'B') {
20928 		if (yych <= ')') {
20929 			if (yych <= '(') goto yy3;
20930 			goto yy181;
20931 		} else {
20932 			if (yych <= '@') goto yy3;
20933 			if (yych <= 'A') goto yy183;
20934 			goto yy1453;
20935 		}
20936 	} else {
20937 		if (yych <= 'a') {
20938 			if (yych <= 'Z') goto yy183;
20939 			if (yych <= '`') goto yy3;
20940 			goto yy183;
20941 		} else {
20942 			if (yych <= 'b') goto yy1453;
20943 			if (yych <= 'z') goto yy183;
20944 			goto yy3;
20945 		}
20946 	}
20947 yy1416:
20948 	YYDEBUG(1416, *YYCURSOR);
20949 	yych = *++YYCURSOR;
20950 	if (yych <= 'R') {
20951 		if (yych <= '@') {
20952 			if (yych == ')') goto yy181;
20953 			goto yy3;
20954 		} else {
20955 			if (yych == 'F') goto yy1443;
20956 			if (yych <= 'Q') goto yy183;
20957 			goto yy1442;
20958 		}
20959 	} else {
20960 		if (yych <= 'f') {
20961 			if (yych <= 'Z') goto yy183;
20962 			if (yych <= '`') goto yy3;
20963 			if (yych <= 'e') goto yy183;
20964 			goto yy1443;
20965 		} else {
20966 			if (yych == 'r') goto yy1442;
20967 			if (yych <= 'z') goto yy183;
20968 			goto yy3;
20969 		}
20970 	}
20971 yy1417:
20972 	YYDEBUG(1417, *YYCURSOR);
20973 	yych = *++YYCURSOR;
20974 	if (yych <= 'U') {
20975 		if (yych <= ')') {
20976 			if (yych <= '(') goto yy3;
20977 			goto yy181;
20978 		} else {
20979 			if (yych <= '@') goto yy3;
20980 			if (yych <= 'T') goto yy183;
20981 			goto yy1439;
20982 		}
20983 	} else {
20984 		if (yych <= 't') {
20985 			if (yych <= 'Z') goto yy183;
20986 			if (yych <= '`') goto yy3;
20987 			goto yy183;
20988 		} else {
20989 			if (yych <= 'u') goto yy1439;
20990 			if (yych <= 'z') goto yy183;
20991 			goto yy3;
20992 		}
20993 	}
20994 yy1418:
20995 	YYDEBUG(1418, *YYCURSOR);
20996 	yych = *++YYCURSOR;
20997 	if (yych <= 'O') {
20998 		if (yych <= '@') {
20999 			if (yych == ')') goto yy181;
21000 			goto yy3;
21001 		} else {
21002 			if (yych == 'I') goto yy1420;
21003 			if (yych <= 'N') goto yy183;
21004 		}
21005 	} else {
21006 		if (yych <= 'i') {
21007 			if (yych <= 'Z') goto yy183;
21008 			if (yych <= '`') goto yy3;
21009 			if (yych <= 'h') goto yy183;
21010 			goto yy1420;
21011 		} else {
21012 			if (yych == 'o') goto yy1419;
21013 			if (yych <= 'z') goto yy183;
21014 			goto yy3;
21015 		}
21016 	}
21017 yy1419:
21018 	YYDEBUG(1419, *YYCURSOR);
21019 	yych = *++YYCURSOR;
21020 	if (yych <= 'N') {
21021 		if (yych <= ')') {
21022 			if (yych <= '(') goto yy3;
21023 			goto yy181;
21024 		} else {
21025 			if (yych <= '@') goto yy3;
21026 			if (yych <= 'M') goto yy184;
21027 			goto yy1424;
21028 		}
21029 	} else {
21030 		if (yych <= 'm') {
21031 			if (yych <= 'Z') goto yy184;
21032 			if (yych <= '`') goto yy3;
21033 			goto yy184;
21034 		} else {
21035 			if (yych <= 'n') goto yy1424;
21036 			if (yych <= 'z') goto yy184;
21037 			goto yy3;
21038 		}
21039 	}
21040 yy1420:
21041 	YYDEBUG(1420, *YYCURSOR);
21042 	yych = *++YYCURSOR;
21043 	if (yych <= 'D') {
21044 		if (yych <= ')') {
21045 			if (yych <= '(') goto yy219;
21046 			goto yy181;
21047 		} else {
21048 			if (yych <= '@') goto yy219;
21049 			if (yych <= 'C') goto yy184;
21050 		}
21051 	} else {
21052 		if (yych <= 'c') {
21053 			if (yych <= 'Z') goto yy184;
21054 			if (yych <= '`') goto yy219;
21055 			goto yy184;
21056 		} else {
21057 			if (yych <= 'd') goto yy1421;
21058 			if (yych <= 'z') goto yy184;
21059 			goto yy219;
21060 		}
21061 	}
21062 yy1421:
21063 	YYDEBUG(1421, *YYCURSOR);
21064 	yych = *++YYCURSOR;
21065 	if (yych <= 'A') {
21066 		if (yych == ')') goto yy181;
21067 		if (yych <= '@') goto yy3;
21068 	} else {
21069 		if (yych <= '`') {
21070 			if (yych <= 'Z') goto yy185;
21071 			goto yy3;
21072 		} else {
21073 			if (yych <= 'a') goto yy1422;
21074 			if (yych <= 'z') goto yy185;
21075 			goto yy3;
21076 		}
21077 	}
21078 yy1422:
21079 	YYDEBUG(1422, *YYCURSOR);
21080 	yych = *++YYCURSOR;
21081 	if (yych <= 'Y') {
21082 		if (yych <= ')') {
21083 			if (yych <= '(') goto yy3;
21084 			goto yy181;
21085 		} else {
21086 			if (yych <= '@') goto yy3;
21087 			if (yych <= 'X') goto yy186;
21088 		}
21089 	} else {
21090 		if (yych <= 'x') {
21091 			if (yych <= 'Z') goto yy186;
21092 			if (yych <= '`') goto yy3;
21093 			goto yy186;
21094 		} else {
21095 			if (yych <= 'y') goto yy1423;
21096 			if (yych <= 'z') goto yy186;
21097 			goto yy3;
21098 		}
21099 	}
21100 yy1423:
21101 	YYDEBUG(1423, *YYCURSOR);
21102 	yych = *++YYCURSOR;
21103 	if (yych <= 'R') {
21104 		if (yych == ')') goto yy181;
21105 		goto yy219;
21106 	} else {
21107 		if (yych <= 'S') goto yy225;
21108 		if (yych == 's') goto yy225;
21109 		goto yy219;
21110 	}
21111 yy1424:
21112 	YYDEBUG(1424, *YYCURSOR);
21113 	yych = *++YYCURSOR;
21114 	if (yych <= 'T') {
21115 		if (yych <= ')') {
21116 			if (yych <= '(') goto yy3;
21117 			goto yy181;
21118 		} else {
21119 			if (yych <= '@') goto yy3;
21120 			if (yych <= 'S') goto yy185;
21121 		}
21122 	} else {
21123 		if (yych <= 's') {
21124 			if (yych <= 'Z') goto yy185;
21125 			if (yych <= '`') goto yy3;
21126 			goto yy185;
21127 		} else {
21128 			if (yych <= 't') goto yy1425;
21129 			if (yych <= 'z') goto yy185;
21130 			goto yy3;
21131 		}
21132 	}
21133 yy1425:
21134 	YYDEBUG(1425, *YYCURSOR);
21135 	yyaccept = 1;
21136 	yych = *(YYMARKER = ++YYCURSOR);
21137 	if (yych <= ')') {
21138 		if (yych == ' ') goto yy1426;
21139 		if (yych <= '(') goto yy3;
21140 		goto yy181;
21141 	} else {
21142 		if (yych <= 'Z') {
21143 			if (yych <= '@') goto yy3;
21144 			goto yy186;
21145 		} else {
21146 			if (yych <= '`') goto yy3;
21147 			if (yych <= 'z') goto yy186;
21148 			goto yy3;
21149 		}
21150 	}
21151 yy1426:
21152 	YYDEBUG(1426, *YYCURSOR);
21153 	yych = *++YYCURSOR;
21154 	if (yych == 'O') goto yy1427;
21155 	if (yych != 'o') goto yy55;
21156 yy1427:
21157 	YYDEBUG(1427, *YYCURSOR);
21158 	yych = *++YYCURSOR;
21159 	if (yych == 'F') goto yy1428;
21160 	if (yych != 'f') goto yy55;
21161 yy1428:
21162 	YYDEBUG(1428, *YYCURSOR);
21163 	yych = *++YYCURSOR;
21164 	if (yych != ' ') goto yy55;
21165 	YYDEBUG(1429, *YYCURSOR);
21166 	yych = *++YYCURSOR;
21167 	if (yych <= '/') goto yy55;
21168 	if (yych <= '1') goto yy1430;
21169 	if (yych <= '2') goto yy1431;
21170 	if (yych <= '9') goto yy1432;
21171 	goto yy55;
21172 yy1430:
21173 	YYDEBUG(1430, *YYCURSOR);
21174 	yyaccept = 28;
21175 	yych = *(YYMARKER = ++YYCURSOR);
21176 	if (yych <= '@') {
21177 		if (yych <= 0x1F) {
21178 			if (yych == '\t') goto yy1433;
21179 			goto yy1388;
21180 		} else {
21181 			if (yych <= ' ') goto yy1433;
21182 			if (yych <= '/') goto yy1388;
21183 			if (yych <= '9') goto yy1432;
21184 			goto yy1388;
21185 		}
21186 	} else {
21187 		if (yych <= '`') {
21188 			if (yych <= 'A') goto yy1435;
21189 			if (yych == 'P') goto yy1435;
21190 			goto yy1388;
21191 		} else {
21192 			if (yych <= 'a') goto yy1435;
21193 			if (yych == 'p') goto yy1435;
21194 			goto yy1388;
21195 		}
21196 	}
21197 yy1431:
21198 	YYDEBUG(1431, *YYCURSOR);
21199 	yyaccept = 28;
21200 	yych = *(YYMARKER = ++YYCURSOR);
21201 	if (yych <= '@') {
21202 		if (yych <= 0x1F) {
21203 			if (yych == '\t') goto yy1433;
21204 			goto yy1388;
21205 		} else {
21206 			if (yych <= ' ') goto yy1433;
21207 			if (yych <= '/') goto yy1388;
21208 			if (yych >= '5') goto yy1388;
21209 		}
21210 	} else {
21211 		if (yych <= '`') {
21212 			if (yych <= 'A') goto yy1435;
21213 			if (yych == 'P') goto yy1435;
21214 			goto yy1388;
21215 		} else {
21216 			if (yych <= 'a') goto yy1435;
21217 			if (yych == 'p') goto yy1435;
21218 			goto yy1388;
21219 		}
21220 	}
21221 yy1432:
21222 	YYDEBUG(1432, *YYCURSOR);
21223 	yyaccept = 28;
21224 	yych = *(YYMARKER = ++YYCURSOR);
21225 	if (yych <= 'A') {
21226 		if (yych <= 0x1F) {
21227 			if (yych != '\t') goto yy1388;
21228 		} else {
21229 			if (yych <= ' ') goto yy1433;
21230 			if (yych <= '@') goto yy1388;
21231 			goto yy1435;
21232 		}
21233 	} else {
21234 		if (yych <= '`') {
21235 			if (yych == 'P') goto yy1435;
21236 			goto yy1388;
21237 		} else {
21238 			if (yych <= 'a') goto yy1435;
21239 			if (yych == 'p') goto yy1435;
21240 			goto yy1388;
21241 		}
21242 	}
21243 yy1433:
21244 	YYDEBUG(1433, *YYCURSOR);
21245 	++YYCURSOR;
21246 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
21247 	yych = *YYCURSOR;
21248 	YYDEBUG(1434, *YYCURSOR);
21249 	if (yych <= 'A') {
21250 		if (yych <= 0x1F) {
21251 			if (yych == '\t') goto yy1433;
21252 			goto yy55;
21253 		} else {
21254 			if (yych <= ' ') goto yy1433;
21255 			if (yych <= '@') goto yy55;
21256 		}
21257 	} else {
21258 		if (yych <= '`') {
21259 			if (yych != 'P') goto yy55;
21260 		} else {
21261 			if (yych <= 'a') goto yy1435;
21262 			if (yych != 'p') goto yy55;
21263 		}
21264 	}
21265 yy1435:
21266 	YYDEBUG(1435, *YYCURSOR);
21267 	yych = *++YYCURSOR;
21268 	if (yych <= 'L') {
21269 		if (yych != '.') goto yy55;
21270 	} else {
21271 		if (yych <= 'M') goto yy1437;
21272 		if (yych == 'm') goto yy1437;
21273 		goto yy55;
21274 	}
21275 	YYDEBUG(1436, *YYCURSOR);
21276 	yych = *++YYCURSOR;
21277 	if (yych == 'M') goto yy1437;
21278 	if (yych != 'm') goto yy55;
21279 yy1437:
21280 	YYDEBUG(1437, *YYCURSOR);
21281 	yych = *++YYCURSOR;
21282 	if (yych <= 0x1F) {
21283 		if (yych <= 0x00) goto yy1397;
21284 		if (yych == '\t') goto yy1397;
21285 		goto yy55;
21286 	} else {
21287 		if (yych <= ' ') goto yy1397;
21288 		if (yych != '.') goto yy55;
21289 	}
21290 	YYDEBUG(1438, *YYCURSOR);
21291 	yych = *++YYCURSOR;
21292 	if (yych <= '\t') {
21293 		if (yych <= 0x00) goto yy1397;
21294 		if (yych <= 0x08) goto yy55;
21295 		goto yy1397;
21296 	} else {
21297 		if (yych == ' ') goto yy1397;
21298 		goto yy55;
21299 	}
21300 yy1439:
21301 	YYDEBUG(1439, *YYCURSOR);
21302 	yych = *++YYCURSOR;
21303 	if (yych <= 'R') {
21304 		if (yych <= ')') {
21305 			if (yych <= '(') goto yy3;
21306 			goto yy181;
21307 		} else {
21308 			if (yych <= '@') goto yy3;
21309 			if (yych <= 'Q') goto yy184;
21310 		}
21311 	} else {
21312 		if (yych <= 'q') {
21313 			if (yych <= 'Z') goto yy184;
21314 			if (yych <= '`') goto yy3;
21315 			goto yy184;
21316 		} else {
21317 			if (yych <= 'r') goto yy1440;
21318 			if (yych <= 'z') goto yy184;
21319 			goto yy3;
21320 		}
21321 	}
21322 yy1440:
21323 	YYDEBUG(1440, *YYCURSOR);
21324 	yych = *++YYCURSOR;
21325 	if (yych <= 'T') {
21326 		if (yych <= ')') {
21327 			if (yych <= '(') goto yy3;
21328 			goto yy181;
21329 		} else {
21330 			if (yych <= '@') goto yy3;
21331 			if (yych <= 'S') goto yy185;
21332 		}
21333 	} else {
21334 		if (yych <= 's') {
21335 			if (yych <= 'Z') goto yy185;
21336 			if (yych <= '`') goto yy3;
21337 			goto yy185;
21338 		} else {
21339 			if (yych <= 't') goto yy1441;
21340 			if (yych <= 'z') goto yy185;
21341 			goto yy3;
21342 		}
21343 	}
21344 yy1441:
21345 	YYDEBUG(1441, *YYCURSOR);
21346 	yych = *++YYCURSOR;
21347 	if (yych <= 'H') {
21348 		if (yych <= ')') {
21349 			if (yych <= '(') goto yy3;
21350 			goto yy181;
21351 		} else {
21352 			if (yych <= '@') goto yy3;
21353 			if (yych <= 'G') goto yy186;
21354 			goto yy1307;
21355 		}
21356 	} else {
21357 		if (yych <= 'g') {
21358 			if (yych <= 'Z') goto yy186;
21359 			if (yych <= '`') goto yy3;
21360 			goto yy186;
21361 		} else {
21362 			if (yych <= 'h') goto yy1307;
21363 			if (yych <= 'z') goto yy186;
21364 			goto yy3;
21365 		}
21366 	}
21367 yy1442:
21368 	YYDEBUG(1442, *YYCURSOR);
21369 	yych = *++YYCURSOR;
21370 	if (yych <= 'S') {
21371 		if (yych <= ')') {
21372 			if (yych <= '(') goto yy3;
21373 			goto yy181;
21374 		} else {
21375 			if (yych <= '@') goto yy3;
21376 			if (yych <= 'R') goto yy184;
21377 			goto yy1445;
21378 		}
21379 	} else {
21380 		if (yych <= 'r') {
21381 			if (yych <= 'Z') goto yy184;
21382 			if (yych <= '`') goto yy3;
21383 			goto yy184;
21384 		} else {
21385 			if (yych <= 's') goto yy1445;
21386 			if (yych <= 'z') goto yy184;
21387 			goto yy3;
21388 		}
21389 	}
21390 yy1443:
21391 	YYDEBUG(1443, *YYCURSOR);
21392 	yych = *++YYCURSOR;
21393 	if (yych <= 'T') {
21394 		if (yych <= ')') {
21395 			if (yych <= '(') goto yy3;
21396 			goto yy181;
21397 		} else {
21398 			if (yych <= '@') goto yy3;
21399 			if (yych <= 'S') goto yy184;
21400 		}
21401 	} else {
21402 		if (yych <= 's') {
21403 			if (yych <= 'Z') goto yy184;
21404 			if (yych <= '`') goto yy3;
21405 			goto yy184;
21406 		} else {
21407 			if (yych <= 't') goto yy1444;
21408 			if (yych <= 'z') goto yy184;
21409 			goto yy3;
21410 		}
21411 	}
21412 yy1444:
21413 	YYDEBUG(1444, *YYCURSOR);
21414 	yych = *++YYCURSOR;
21415 	if (yych <= 'H') {
21416 		if (yych <= ')') {
21417 			if (yych <= '(') goto yy3;
21418 			goto yy181;
21419 		} else {
21420 			if (yych <= '@') goto yy3;
21421 			if (yych <= 'G') goto yy185;
21422 			goto yy1330;
21423 		}
21424 	} else {
21425 		if (yych <= 'g') {
21426 			if (yych <= 'Z') goto yy185;
21427 			if (yych <= '`') goto yy3;
21428 			goto yy185;
21429 		} else {
21430 			if (yych <= 'h') goto yy1330;
21431 			if (yych <= 'z') goto yy185;
21432 			goto yy3;
21433 		}
21434 	}
21435 yy1445:
21436 	YYDEBUG(1445, *YYCURSOR);
21437 	yych = *++YYCURSOR;
21438 	if (yych <= 'T') {
21439 		if (yych <= ')') {
21440 			if (yych <= '(') goto yy3;
21441 			goto yy181;
21442 		} else {
21443 			if (yych <= '@') goto yy3;
21444 			if (yych <= 'S') goto yy185;
21445 		}
21446 	} else {
21447 		if (yych <= 's') {
21448 			if (yych <= 'Z') goto yy185;
21449 			if (yych <= '`') goto yy3;
21450 			goto yy185;
21451 		} else {
21452 			if (yych <= 't') goto yy1446;
21453 			if (yych <= 'z') goto yy185;
21454 			goto yy3;
21455 		}
21456 	}
21457 yy1446:
21458 	YYDEBUG(1446, *YYCURSOR);
21459 	yyaccept = 1;
21460 	yych = *(YYMARKER = ++YYCURSOR);
21461 	if (yych <= '(') {
21462 		if (yych <= '\t') {
21463 			if (yych <= 0x08) goto yy3;
21464 			goto yy1298;
21465 		} else {
21466 			if (yych != ' ') goto yy3;
21467 		}
21468 	} else {
21469 		if (yych <= 'Z') {
21470 			if (yych <= ')') goto yy181;
21471 			if (yych <= '@') goto yy3;
21472 			goto yy186;
21473 		} else {
21474 			if (yych <= '`') goto yy3;
21475 			if (yych <= 'z') goto yy186;
21476 			goto yy3;
21477 		}
21478 	}
21479 yy1447:
21480 	YYDEBUG(1447, *YYCURSOR);
21481 	yych = *++YYCURSOR;
21482 	if (yych == 'D') goto yy1448;
21483 	if (yych != 'd') goto yy1299;
21484 yy1448:
21485 	YYDEBUG(1448, *YYCURSOR);
21486 	yych = *++YYCURSOR;
21487 	if (yych == 'A') goto yy1449;
21488 	if (yych != 'a') goto yy55;
21489 yy1449:
21490 	YYDEBUG(1449, *YYCURSOR);
21491 	yych = *++YYCURSOR;
21492 	if (yych == 'Y') goto yy1450;
21493 	if (yych != 'y') goto yy55;
21494 yy1450:
21495 	YYDEBUG(1450, *YYCURSOR);
21496 	yyaccept = 26;
21497 	yych = *(YYMARKER = ++YYCURSOR);
21498 	if (yych <= 'R') {
21499 		if (yych != ' ') goto yy1179;
21500 	} else {
21501 		if (yych <= 'S') goto yy1207;
21502 		if (yych == 's') goto yy1207;
21503 		goto yy1179;
21504 	}
21505 	YYDEBUG(1451, *YYCURSOR);
21506 	yych = *++YYCURSOR;
21507 	if (yych == 'O') goto yy1452;
21508 	if (yych != 'o') goto yy55;
21509 yy1452:
21510 	YYDEBUG(1452, *YYCURSOR);
21511 	yych = *++YYCURSOR;
21512 	if (yych == 'F') goto yy1410;
21513 	if (yych == 'f') goto yy1410;
21514 	goto yy55;
21515 yy1453:
21516 	YYDEBUG(1453, *YYCURSOR);
21517 	yyaccept = 5;
21518 	yych = *(YYMARKER = ++YYCURSOR);
21519 	if (yych <= '/') {
21520 		if (yych <= '(') {
21521 			if (yych <= '\t') {
21522 				if (yych <= 0x08) goto yy248;
21523 				goto yy250;
21524 			} else {
21525 				if (yych == ' ') goto yy250;
21526 				goto yy248;
21527 			}
21528 		} else {
21529 			if (yych <= ',') {
21530 				if (yych <= ')') goto yy181;
21531 				goto yy248;
21532 			} else {
21533 				if (yych <= '-') goto yy251;
21534 				if (yych <= '.') goto yy250;
21535 				goto yy248;
21536 			}
21537 		}
21538 	} else {
21539 		if (yych <= 'Z') {
21540 			if (yych <= '@') {
21541 				if (yych <= '9') goto yy250;
21542 				goto yy248;
21543 			} else {
21544 				if (yych != 'R') goto yy184;
21545 			}
21546 		} else {
21547 			if (yych <= 'q') {
21548 				if (yych <= '`') goto yy248;
21549 				goto yy184;
21550 			} else {
21551 				if (yych <= 'r') goto yy1454;
21552 				if (yych <= 'z') goto yy184;
21553 				goto yy248;
21554 			}
21555 		}
21556 	}
21557 yy1454:
21558 	YYDEBUG(1454, *YYCURSOR);
21559 	yych = *++YYCURSOR;
21560 	if (yych <= 'U') {
21561 		if (yych <= ')') {
21562 			if (yych <= '(') goto yy3;
21563 			goto yy181;
21564 		} else {
21565 			if (yych <= '@') goto yy3;
21566 			if (yych <= 'T') goto yy185;
21567 		}
21568 	} else {
21569 		if (yych <= 't') {
21570 			if (yych <= 'Z') goto yy185;
21571 			if (yych <= '`') goto yy3;
21572 			goto yy185;
21573 		} else {
21574 			if (yych <= 'u') goto yy1455;
21575 			if (yych <= 'z') goto yy185;
21576 			goto yy3;
21577 		}
21578 	}
21579 yy1455:
21580 	YYDEBUG(1455, *YYCURSOR);
21581 	yych = *++YYCURSOR;
21582 	if (yych <= 'A') {
21583 		if (yych == ')') goto yy181;
21584 		if (yych <= '@') goto yy3;
21585 	} else {
21586 		if (yych <= '`') {
21587 			if (yych <= 'Z') goto yy186;
21588 			goto yy3;
21589 		} else {
21590 			if (yych <= 'a') goto yy1456;
21591 			if (yych <= 'z') goto yy186;
21592 			goto yy3;
21593 		}
21594 	}
21595 yy1456:
21596 	YYDEBUG(1456, *YYCURSOR);
21597 	yyaccept = 1;
21598 	yych = *(YYMARKER = ++YYCURSOR);
21599 	if (yych <= 'Q') {
21600 		if (yych == ')') goto yy181;
21601 		goto yy3;
21602 	} else {
21603 		if (yych <= 'R') goto yy1457;
21604 		if (yych != 'r') goto yy3;
21605 	}
21606 yy1457:
21607 	YYDEBUG(1457, *YYCURSOR);
21608 	yych = *++YYCURSOR;
21609 	if (yych == 'Y') goto yy259;
21610 	if (yych == 'y') goto yy259;
21611 	goto yy55;
21612 yy1458:
21613 	YYDEBUG(1458, *YYCURSOR);
21614 	yyaccept = 1;
21615 	yych = *(YYMARKER = ++YYCURSOR);
21616 	if (yych <= 'A') {
21617 		if (yych <= '-') {
21618 			if (yych == ')') goto yy181;
21619 			if (yych <= ',') goto yy3;
21620 			goto yy189;
21621 		} else {
21622 			if (yych == '/') goto yy189;
21623 			if (yych <= '@') goto yy3;
21624 			goto yy183;
21625 		}
21626 	} else {
21627 		if (yych <= '_') {
21628 			if (yych <= 'B') goto yy1453;
21629 			if (yych <= 'Z') goto yy183;
21630 			if (yych <= '^') goto yy3;
21631 			goto yy189;
21632 		} else {
21633 			if (yych <= 'a') {
21634 				if (yych <= '`') goto yy3;
21635 				goto yy188;
21636 			} else {
21637 				if (yych <= 'b') goto yy1477;
21638 				if (yych <= 'z') goto yy188;
21639 				goto yy3;
21640 			}
21641 		}
21642 	}
21643 yy1459:
21644 	YYDEBUG(1459, *YYCURSOR);
21645 	yyaccept = 1;
21646 	yych = *(YYMARKER = ++YYCURSOR);
21647 	if (yych <= 'Q') {
21648 		if (yych <= '.') {
21649 			if (yych <= ')') {
21650 				if (yych <= '(') goto yy3;
21651 				goto yy181;
21652 			} else {
21653 				if (yych == '-') goto yy189;
21654 				goto yy3;
21655 			}
21656 		} else {
21657 			if (yych <= '@') {
21658 				if (yych <= '/') goto yy189;
21659 				goto yy3;
21660 			} else {
21661 				if (yych == 'F') goto yy1443;
21662 				goto yy183;
21663 			}
21664 		}
21665 	} else {
21666 		if (yych <= '`') {
21667 			if (yych <= 'Z') {
21668 				if (yych <= 'R') goto yy1442;
21669 				goto yy183;
21670 			} else {
21671 				if (yych == '_') goto yy189;
21672 				goto yy3;
21673 			}
21674 		} else {
21675 			if (yych <= 'q') {
21676 				if (yych == 'f') goto yy1473;
21677 				goto yy188;
21678 			} else {
21679 				if (yych <= 'r') goto yy1472;
21680 				if (yych <= 'z') goto yy188;
21681 				goto yy3;
21682 			}
21683 		}
21684 	}
21685 yy1460:
21686 	YYDEBUG(1460, *YYCURSOR);
21687 	yyaccept = 1;
21688 	yych = *(YYMARKER = ++YYCURSOR);
21689 	if (yych <= 'T') {
21690 		if (yych <= '-') {
21691 			if (yych == ')') goto yy181;
21692 			if (yych <= ',') goto yy3;
21693 			goto yy189;
21694 		} else {
21695 			if (yych == '/') goto yy189;
21696 			if (yych <= '@') goto yy3;
21697 			goto yy183;
21698 		}
21699 	} else {
21700 		if (yych <= '_') {
21701 			if (yych <= 'U') goto yy1439;
21702 			if (yych <= 'Z') goto yy183;
21703 			if (yych <= '^') goto yy3;
21704 			goto yy189;
21705 		} else {
21706 			if (yych <= 't') {
21707 				if (yych <= '`') goto yy3;
21708 				goto yy188;
21709 			} else {
21710 				if (yych <= 'u') goto yy1469;
21711 				if (yych <= 'z') goto yy188;
21712 				goto yy3;
21713 			}
21714 		}
21715 	}
21716 yy1461:
21717 	YYDEBUG(1461, *YYCURSOR);
21718 	yyaccept = 1;
21719 	yych = *(YYMARKER = ++YYCURSOR);
21720 	if (yych <= 'N') {
21721 		if (yych <= '.') {
21722 			if (yych <= ')') {
21723 				if (yych <= '(') goto yy3;
21724 				goto yy181;
21725 			} else {
21726 				if (yych == '-') goto yy189;
21727 				goto yy3;
21728 			}
21729 		} else {
21730 			if (yych <= '@') {
21731 				if (yych <= '/') goto yy189;
21732 				goto yy3;
21733 			} else {
21734 				if (yych == 'I') goto yy1420;
21735 				goto yy183;
21736 			}
21737 		}
21738 	} else {
21739 		if (yych <= '`') {
21740 			if (yych <= 'Z') {
21741 				if (yych <= 'O') goto yy1419;
21742 				goto yy183;
21743 			} else {
21744 				if (yych == '_') goto yy189;
21745 				goto yy3;
21746 			}
21747 		} else {
21748 			if (yych <= 'n') {
21749 				if (yych == 'i') goto yy1463;
21750 				goto yy188;
21751 			} else {
21752 				if (yych <= 'o') goto yy1462;
21753 				if (yych <= 'z') goto yy188;
21754 				goto yy3;
21755 			}
21756 		}
21757 	}
21758 yy1462:
21759 	YYDEBUG(1462, *YYCURSOR);
21760 	yyaccept = 1;
21761 	yych = *(YYMARKER = ++YYCURSOR);
21762 	if (yych <= 'M') {
21763 		if (yych <= '-') {
21764 			if (yych == ')') goto yy181;
21765 			if (yych <= ',') goto yy3;
21766 			goto yy189;
21767 		} else {
21768 			if (yych == '/') goto yy189;
21769 			if (yych <= '@') goto yy3;
21770 			goto yy184;
21771 		}
21772 	} else {
21773 		if (yych <= '_') {
21774 			if (yych <= 'N') goto yy1424;
21775 			if (yych <= 'Z') goto yy184;
21776 			if (yych <= '^') goto yy3;
21777 			goto yy189;
21778 		} else {
21779 			if (yych <= 'm') {
21780 				if (yych <= '`') goto yy3;
21781 				goto yy192;
21782 			} else {
21783 				if (yych <= 'n') goto yy1467;
21784 				if (yych <= 'z') goto yy192;
21785 				goto yy3;
21786 			}
21787 		}
21788 	}
21789 yy1463:
21790 	YYDEBUG(1463, *YYCURSOR);
21791 	yyaccept = 4;
21792 	yych = *(YYMARKER = ++YYCURSOR);
21793 	if (yych <= 'C') {
21794 		if (yych <= '-') {
21795 			if (yych == ')') goto yy181;
21796 			if (yych <= ',') goto yy219;
21797 			goto yy189;
21798 		} else {
21799 			if (yych == '/') goto yy189;
21800 			if (yych <= '@') goto yy219;
21801 			goto yy184;
21802 		}
21803 	} else {
21804 		if (yych <= '_') {
21805 			if (yych <= 'D') goto yy1421;
21806 			if (yych <= 'Z') goto yy184;
21807 			if (yych <= '^') goto yy219;
21808 			goto yy189;
21809 		} else {
21810 			if (yych <= 'c') {
21811 				if (yych <= '`') goto yy219;
21812 				goto yy192;
21813 			} else {
21814 				if (yych <= 'd') goto yy1464;
21815 				if (yych <= 'z') goto yy192;
21816 				goto yy219;
21817 			}
21818 		}
21819 	}
21820 yy1464:
21821 	YYDEBUG(1464, *YYCURSOR);
21822 	yyaccept = 1;
21823 	yych = *(YYMARKER = ++YYCURSOR);
21824 	if (yych <= '@') {
21825 		if (yych <= ',') {
21826 			if (yych == ')') goto yy181;
21827 			goto yy3;
21828 		} else {
21829 			if (yych == '.') goto yy3;
21830 			if (yych <= '/') goto yy189;
21831 			goto yy3;
21832 		}
21833 	} else {
21834 		if (yych <= '_') {
21835 			if (yych <= 'A') goto yy1422;
21836 			if (yych <= 'Z') goto yy185;
21837 			if (yych <= '^') goto yy3;
21838 			goto yy189;
21839 		} else {
21840 			if (yych <= '`') goto yy3;
21841 			if (yych <= 'a') goto yy1465;
21842 			if (yych <= 'z') goto yy193;
21843 			goto yy3;
21844 		}
21845 	}
21846 yy1465:
21847 	YYDEBUG(1465, *YYCURSOR);
21848 	yyaccept = 1;
21849 	yych = *(YYMARKER = ++YYCURSOR);
21850 	if (yych <= 'X') {
21851 		if (yych <= '-') {
21852 			if (yych == ')') goto yy181;
21853 			if (yych <= ',') goto yy3;
21854 			goto yy189;
21855 		} else {
21856 			if (yych == '/') goto yy189;
21857 			if (yych <= '@') goto yy3;
21858 			goto yy186;
21859 		}
21860 	} else {
21861 		if (yych <= '_') {
21862 			if (yych <= 'Y') goto yy1423;
21863 			if (yych <= 'Z') goto yy186;
21864 			if (yych <= '^') goto yy3;
21865 			goto yy189;
21866 		} else {
21867 			if (yych <= 'x') {
21868 				if (yych <= '`') goto yy3;
21869 				goto yy194;
21870 			} else {
21871 				if (yych <= 'y') goto yy1466;
21872 				if (yych <= 'z') goto yy194;
21873 				goto yy3;
21874 			}
21875 		}
21876 	}
21877 yy1466:
21878 	YYDEBUG(1466, *YYCURSOR);
21879 	yyaccept = 4;
21880 	yych = *(YYMARKER = ++YYCURSOR);
21881 	if (yych <= 'R') {
21882 		if (yych <= ',') {
21883 			if (yych == ')') goto yy181;
21884 			goto yy219;
21885 		} else {
21886 			if (yych == '.') goto yy219;
21887 			if (yych <= '/') goto yy189;
21888 			goto yy219;
21889 		}
21890 	} else {
21891 		if (yych <= '`') {
21892 			if (yych <= 'S') goto yy225;
21893 			if (yych == '_') goto yy189;
21894 			goto yy219;
21895 		} else {
21896 			if (yych == 's') goto yy239;
21897 			if (yych <= 'z') goto yy195;
21898 			goto yy219;
21899 		}
21900 	}
21901 yy1467:
21902 	YYDEBUG(1467, *YYCURSOR);
21903 	yyaccept = 1;
21904 	yych = *(YYMARKER = ++YYCURSOR);
21905 	if (yych <= 'S') {
21906 		if (yych <= '-') {
21907 			if (yych == ')') goto yy181;
21908 			if (yych <= ',') goto yy3;
21909 			goto yy189;
21910 		} else {
21911 			if (yych == '/') goto yy189;
21912 			if (yych <= '@') goto yy3;
21913 			goto yy185;
21914 		}
21915 	} else {
21916 		if (yych <= '_') {
21917 			if (yych <= 'T') goto yy1425;
21918 			if (yych <= 'Z') goto yy185;
21919 			if (yych <= '^') goto yy3;
21920 			goto yy189;
21921 		} else {
21922 			if (yych <= 's') {
21923 				if (yych <= '`') goto yy3;
21924 				goto yy193;
21925 			} else {
21926 				if (yych <= 't') goto yy1468;
21927 				if (yych <= 'z') goto yy193;
21928 				goto yy3;
21929 			}
21930 		}
21931 	}
21932 yy1468:
21933 	YYDEBUG(1468, *YYCURSOR);
21934 	yyaccept = 1;
21935 	yych = *(YYMARKER = ++YYCURSOR);
21936 	if (yych <= '.') {
21937 		if (yych <= '(') {
21938 			if (yych == ' ') goto yy1426;
21939 			goto yy3;
21940 		} else {
21941 			if (yych <= ')') goto yy181;
21942 			if (yych == '-') goto yy189;
21943 			goto yy3;
21944 		}
21945 	} else {
21946 		if (yych <= '^') {
21947 			if (yych <= '/') goto yy189;
21948 			if (yych <= '@') goto yy3;
21949 			if (yych <= 'Z') goto yy186;
21950 			goto yy3;
21951 		} else {
21952 			if (yych <= '_') goto yy189;
21953 			if (yych <= '`') goto yy3;
21954 			if (yych <= 'z') goto yy194;
21955 			goto yy3;
21956 		}
21957 	}
21958 yy1469:
21959 	YYDEBUG(1469, *YYCURSOR);
21960 	yyaccept = 1;
21961 	yych = *(YYMARKER = ++YYCURSOR);
21962 	if (yych <= 'Q') {
21963 		if (yych <= '-') {
21964 			if (yych == ')') goto yy181;
21965 			if (yych <= ',') goto yy3;
21966 			goto yy189;
21967 		} else {
21968 			if (yych == '/') goto yy189;
21969 			if (yych <= '@') goto yy3;
21970 			goto yy184;
21971 		}
21972 	} else {
21973 		if (yych <= '_') {
21974 			if (yych <= 'R') goto yy1440;
21975 			if (yych <= 'Z') goto yy184;
21976 			if (yych <= '^') goto yy3;
21977 			goto yy189;
21978 		} else {
21979 			if (yych <= 'q') {
21980 				if (yych <= '`') goto yy3;
21981 				goto yy192;
21982 			} else {
21983 				if (yych <= 'r') goto yy1470;
21984 				if (yych <= 'z') goto yy192;
21985 				goto yy3;
21986 			}
21987 		}
21988 	}
21989 yy1470:
21990 	YYDEBUG(1470, *YYCURSOR);
21991 	yyaccept = 1;
21992 	yych = *(YYMARKER = ++YYCURSOR);
21993 	if (yych <= 'S') {
21994 		if (yych <= '-') {
21995 			if (yych == ')') goto yy181;
21996 			if (yych <= ',') goto yy3;
21997 			goto yy189;
21998 		} else {
21999 			if (yych == '/') goto yy189;
22000 			if (yych <= '@') goto yy3;
22001 			goto yy185;
22002 		}
22003 	} else {
22004 		if (yych <= '_') {
22005 			if (yych <= 'T') goto yy1441;
22006 			if (yych <= 'Z') goto yy185;
22007 			if (yych <= '^') goto yy3;
22008 			goto yy189;
22009 		} else {
22010 			if (yych <= 's') {
22011 				if (yych <= '`') goto yy3;
22012 				goto yy193;
22013 			} else {
22014 				if (yych <= 't') goto yy1471;
22015 				if (yych <= 'z') goto yy193;
22016 				goto yy3;
22017 			}
22018 		}
22019 	}
22020 yy1471:
22021 	YYDEBUG(1471, *YYCURSOR);
22022 	yyaccept = 1;
22023 	yych = *(YYMARKER = ++YYCURSOR);
22024 	if (yych <= 'G') {
22025 		if (yych <= '-') {
22026 			if (yych == ')') goto yy181;
22027 			if (yych <= ',') goto yy3;
22028 			goto yy189;
22029 		} else {
22030 			if (yych == '/') goto yy189;
22031 			if (yych <= '@') goto yy3;
22032 			goto yy186;
22033 		}
22034 	} else {
22035 		if (yych <= '_') {
22036 			if (yych <= 'H') goto yy1307;
22037 			if (yych <= 'Z') goto yy186;
22038 			if (yych <= '^') goto yy3;
22039 			goto yy189;
22040 		} else {
22041 			if (yych <= 'g') {
22042 				if (yych <= '`') goto yy3;
22043 				goto yy194;
22044 			} else {
22045 				if (yych <= 'h') goto yy1319;
22046 				if (yych <= 'z') goto yy194;
22047 				goto yy3;
22048 			}
22049 		}
22050 	}
22051 yy1472:
22052 	YYDEBUG(1472, *YYCURSOR);
22053 	yyaccept = 1;
22054 	yych = *(YYMARKER = ++YYCURSOR);
22055 	if (yych <= 'R') {
22056 		if (yych <= '-') {
22057 			if (yych == ')') goto yy181;
22058 			if (yych <= ',') goto yy3;
22059 			goto yy189;
22060 		} else {
22061 			if (yych == '/') goto yy189;
22062 			if (yych <= '@') goto yy3;
22063 			goto yy184;
22064 		}
22065 	} else {
22066 		if (yych <= '_') {
22067 			if (yych <= 'S') goto yy1445;
22068 			if (yych <= 'Z') goto yy184;
22069 			if (yych <= '^') goto yy3;
22070 			goto yy189;
22071 		} else {
22072 			if (yych <= 'r') {
22073 				if (yych <= '`') goto yy3;
22074 				goto yy192;
22075 			} else {
22076 				if (yych <= 's') goto yy1475;
22077 				if (yych <= 'z') goto yy192;
22078 				goto yy3;
22079 			}
22080 		}
22081 	}
22082 yy1473:
22083 	YYDEBUG(1473, *YYCURSOR);
22084 	yyaccept = 1;
22085 	yych = *(YYMARKER = ++YYCURSOR);
22086 	if (yych <= 'S') {
22087 		if (yych <= '-') {
22088 			if (yych == ')') goto yy181;
22089 			if (yych <= ',') goto yy3;
22090 			goto yy189;
22091 		} else {
22092 			if (yych == '/') goto yy189;
22093 			if (yych <= '@') goto yy3;
22094 			goto yy184;
22095 		}
22096 	} else {
22097 		if (yych <= '_') {
22098 			if (yych <= 'T') goto yy1444;
22099 			if (yych <= 'Z') goto yy184;
22100 			if (yych <= '^') goto yy3;
22101 			goto yy189;
22102 		} else {
22103 			if (yych <= 's') {
22104 				if (yych <= '`') goto yy3;
22105 				goto yy192;
22106 			} else {
22107 				if (yych <= 't') goto yy1474;
22108 				if (yych <= 'z') goto yy192;
22109 				goto yy3;
22110 			}
22111 		}
22112 	}
22113 yy1474:
22114 	YYDEBUG(1474, *YYCURSOR);
22115 	yyaccept = 1;
22116 	yych = *(YYMARKER = ++YYCURSOR);
22117 	if (yych <= 'G') {
22118 		if (yych <= '-') {
22119 			if (yych == ')') goto yy181;
22120 			if (yych <= ',') goto yy3;
22121 			goto yy189;
22122 		} else {
22123 			if (yych == '/') goto yy189;
22124 			if (yych <= '@') goto yy3;
22125 			goto yy185;
22126 		}
22127 	} else {
22128 		if (yych <= '_') {
22129 			if (yych <= 'H') goto yy1330;
22130 			if (yych <= 'Z') goto yy185;
22131 			if (yych <= '^') goto yy3;
22132 			goto yy189;
22133 		} else {
22134 			if (yych <= 'g') {
22135 				if (yych <= '`') goto yy3;
22136 				goto yy193;
22137 			} else {
22138 				if (yych <= 'h') goto yy1360;
22139 				if (yych <= 'z') goto yy193;
22140 				goto yy3;
22141 			}
22142 		}
22143 	}
22144 yy1475:
22145 	YYDEBUG(1475, *YYCURSOR);
22146 	yyaccept = 1;
22147 	yych = *(YYMARKER = ++YYCURSOR);
22148 	if (yych <= 'S') {
22149 		if (yych <= '-') {
22150 			if (yych == ')') goto yy181;
22151 			if (yych <= ',') goto yy3;
22152 			goto yy189;
22153 		} else {
22154 			if (yych == '/') goto yy189;
22155 			if (yych <= '@') goto yy3;
22156 			goto yy185;
22157 		}
22158 	} else {
22159 		if (yych <= '_') {
22160 			if (yych <= 'T') goto yy1446;
22161 			if (yych <= 'Z') goto yy185;
22162 			if (yych <= '^') goto yy3;
22163 			goto yy189;
22164 		} else {
22165 			if (yych <= 's') {
22166 				if (yych <= '`') goto yy3;
22167 				goto yy193;
22168 			} else {
22169 				if (yych <= 't') goto yy1476;
22170 				if (yych <= 'z') goto yy193;
22171 				goto yy3;
22172 			}
22173 		}
22174 	}
22175 yy1476:
22176 	YYDEBUG(1476, *YYCURSOR);
22177 	yyaccept = 1;
22178 	yych = *(YYMARKER = ++YYCURSOR);
22179 	if (yych <= '-') {
22180 		if (yych <= ' ') {
22181 			if (yych == '\t') goto yy1298;
22182 			if (yych <= 0x1F) goto yy3;
22183 			goto yy1447;
22184 		} else {
22185 			if (yych == ')') goto yy181;
22186 			if (yych <= ',') goto yy3;
22187 			goto yy189;
22188 		}
22189 	} else {
22190 		if (yych <= 'Z') {
22191 			if (yych == '/') goto yy189;
22192 			if (yych <= '@') goto yy3;
22193 			goto yy186;
22194 		} else {
22195 			if (yych <= '_') {
22196 				if (yych <= '^') goto yy3;
22197 				goto yy189;
22198 			} else {
22199 				if (yych <= '`') goto yy3;
22200 				if (yych <= 'z') goto yy194;
22201 				goto yy3;
22202 			}
22203 		}
22204 	}
22205 yy1477:
22206 	YYDEBUG(1477, *YYCURSOR);
22207 	yyaccept = 5;
22208 	yych = *(YYMARKER = ++YYCURSOR);
22209 	if (yych <= '9') {
22210 		if (yych <= '(') {
22211 			if (yych <= '\t') {
22212 				if (yych <= 0x08) goto yy248;
22213 				goto yy250;
22214 			} else {
22215 				if (yych == ' ') goto yy250;
22216 				goto yy248;
22217 			}
22218 		} else {
22219 			if (yych <= '-') {
22220 				if (yych <= ')') goto yy181;
22221 				if (yych <= ',') goto yy248;
22222 				goto yy377;
22223 			} else {
22224 				if (yych == '/') goto yy189;
22225 				goto yy250;
22226 			}
22227 		}
22228 	} else {
22229 		if (yych <= '^') {
22230 			if (yych <= 'Q') {
22231 				if (yych <= '@') goto yy248;
22232 				goto yy184;
22233 			} else {
22234 				if (yych <= 'R') goto yy1454;
22235 				if (yych <= 'Z') goto yy184;
22236 				goto yy248;
22237 			}
22238 		} else {
22239 			if (yych <= 'q') {
22240 				if (yych <= '_') goto yy189;
22241 				if (yych <= '`') goto yy248;
22242 				goto yy192;
22243 			} else {
22244 				if (yych <= 'r') goto yy1478;
22245 				if (yych <= 'z') goto yy192;
22246 				goto yy248;
22247 			}
22248 		}
22249 	}
22250 yy1478:
22251 	YYDEBUG(1478, *YYCURSOR);
22252 	yyaccept = 1;
22253 	yych = *(YYMARKER = ++YYCURSOR);
22254 	if (yych <= 'T') {
22255 		if (yych <= '-') {
22256 			if (yych == ')') goto yy181;
22257 			if (yych <= ',') goto yy3;
22258 			goto yy189;
22259 		} else {
22260 			if (yych == '/') goto yy189;
22261 			if (yych <= '@') goto yy3;
22262 			goto yy185;
22263 		}
22264 	} else {
22265 		if (yych <= '_') {
22266 			if (yych <= 'U') goto yy1455;
22267 			if (yych <= 'Z') goto yy185;
22268 			if (yych <= '^') goto yy3;
22269 			goto yy189;
22270 		} else {
22271 			if (yych <= 't') {
22272 				if (yych <= '`') goto yy3;
22273 				goto yy193;
22274 			} else {
22275 				if (yych <= 'u') goto yy1479;
22276 				if (yych <= 'z') goto yy193;
22277 				goto yy3;
22278 			}
22279 		}
22280 	}
22281 yy1479:
22282 	YYDEBUG(1479, *YYCURSOR);
22283 	yyaccept = 1;
22284 	yych = *(YYMARKER = ++YYCURSOR);
22285 	if (yych <= '@') {
22286 		if (yych <= ',') {
22287 			if (yych == ')') goto yy181;
22288 			goto yy3;
22289 		} else {
22290 			if (yych == '.') goto yy3;
22291 			if (yych <= '/') goto yy189;
22292 			goto yy3;
22293 		}
22294 	} else {
22295 		if (yych <= '_') {
22296 			if (yych <= 'A') goto yy1456;
22297 			if (yych <= 'Z') goto yy186;
22298 			if (yych <= '^') goto yy3;
22299 			goto yy189;
22300 		} else {
22301 			if (yych <= '`') goto yy3;
22302 			if (yych <= 'a') goto yy1480;
22303 			if (yych <= 'z') goto yy194;
22304 			goto yy3;
22305 		}
22306 	}
22307 yy1480:
22308 	YYDEBUG(1480, *YYCURSOR);
22309 	yyaccept = 1;
22310 	yych = *(YYMARKER = ++YYCURSOR);
22311 	if (yych <= 'Q') {
22312 		if (yych <= ',') {
22313 			if (yych == ')') goto yy181;
22314 			goto yy3;
22315 		} else {
22316 			if (yych == '.') goto yy3;
22317 			if (yych <= '/') goto yy189;
22318 			goto yy3;
22319 		}
22320 	} else {
22321 		if (yych <= '`') {
22322 			if (yych <= 'R') goto yy1457;
22323 			if (yych == '_') goto yy189;
22324 			goto yy3;
22325 		} else {
22326 			if (yych == 'r') goto yy1481;
22327 			if (yych <= 'z') goto yy195;
22328 			goto yy3;
22329 		}
22330 	}
22331 yy1481:
22332 	YYDEBUG(1481, *YYCURSOR);
22333 	yych = *++YYCURSOR;
22334 	if (yych == 'Y') goto yy259;
22335 	if (yych == 'y') goto yy382;
22336 	goto yy196;
22337 yy1482:
22338 	YYDEBUG(1482, *YYCURSOR);
22339 	yych = *++YYCURSOR;
22340 	if (yych <= '/') goto yy55;
22341 	if (yych >= ':') goto yy55;
22342 yy1483:
22343 	YYDEBUG(1483, *YYCURSOR);
22344 	++YYCURSOR;
22345 	if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
22346 	yych = *YYCURSOR;
22347 	YYDEBUG(1484, *YYCURSOR);
22348 	if (yych == '.') goto yy1486;
22349 	if (yych <= '/') goto yy1485;
22350 	if (yych <= '9') goto yy1483;
22351 yy1485:
22352 	YYDEBUG(1485, *YYCURSOR);
22353 #line 1149 "ext/date/lib/parse_date.re"
22354 	{
22355 		timelib_ull i;
22356 
22357 		TIMELIB_INIT;
22358 		TIMELIB_HAVE_RELATIVE();
22359 		TIMELIB_UNHAVE_DATE();
22360 		TIMELIB_UNHAVE_TIME();
22361 		TIMELIB_HAVE_TZ();
22362 
22363 		i = timelib_get_signed_nr(s, &ptr, 24);
22364 		s->time->y = 1970;
22365 		s->time->m = 1;
22366 		s->time->d = 1;
22367 		s->time->h = s->time->i = s->time->s = 0;
22368 		s->time->us = 0;
22369 		s->time->relative.s += i;
22370 		s->time->is_localtime = 1;
22371 		s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
22372 		s->time->z = 0;
22373 		s->time->dst = 0;
22374 
22375 		TIMELIB_DEINIT;
22376 		return TIMELIB_RELATIVE;
22377 	}
22378 #line 22379 "<stdout>"
22379 yy1486:
22380 	YYDEBUG(1486, *YYCURSOR);
22381 	++YYCURSOR;
22382 	if ((yych = *YYCURSOR) <= '/') goto yy1487;
22383 	if (yych <= '9') goto yy1488;
22384 yy1487:
22385 	YYDEBUG(1487, *YYCURSOR);
22386 #line 1175 "ext/date/lib/parse_date.re"
22387 	{
22388 		timelib_sll i;
22389 		timelib_ull us;
22390 		const char *ptr_before;
22391 		bool is_negative;
22392 
22393 		TIMELIB_INIT;
22394 		TIMELIB_HAVE_RELATIVE();
22395 		TIMELIB_UNHAVE_DATE();
22396 		TIMELIB_UNHAVE_TIME();
22397 		TIMELIB_HAVE_TZ();
22398 
22399 		is_negative = *(ptr + 1) == '-';
22400 
22401 		i = timelib_get_signed_nr(s, &ptr, 24);
22402 
22403 		ptr_before = ptr;
22404 		us = timelib_get_signed_nr(s, &ptr, 6);
22405 		us = us * pow(10, 7 - (ptr - ptr_before));
22406 		if (is_negative) {
22407 			us *= -1;
22408 		}
22409 
22410 		s->time->y = 1970;
22411 		s->time->m = 1;
22412 		s->time->d = 1;
22413 		s->time->h = s->time->i = s->time->s = 0;
22414 		s->time->us = 0;
22415 		s->time->relative.s += i;
22416 		s->time->relative.us = us;
22417 		s->time->is_localtime = 1;
22418 		s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
22419 		s->time->z = 0;
22420 		s->time->dst = 0;
22421 
22422 		TIMELIB_DEINIT;
22423 		return TIMELIB_RELATIVE;
22424 	}
22425 #line 22426 "<stdout>"
22426 yy1488:
22427 	YYDEBUG(1488, *YYCURSOR);
22428 	yych = *++YYCURSOR;
22429 	if (yych <= '/') goto yy1487;
22430 	if (yych >= ':') goto yy1487;
22431 	YYDEBUG(1489, *YYCURSOR);
22432 	yych = *++YYCURSOR;
22433 	if (yych <= '/') goto yy1487;
22434 	if (yych >= ':') goto yy1487;
22435 	YYDEBUG(1490, *YYCURSOR);
22436 	yych = *++YYCURSOR;
22437 	if (yych <= '/') goto yy1487;
22438 	if (yych >= ':') goto yy1487;
22439 	YYDEBUG(1491, *YYCURSOR);
22440 	yych = *++YYCURSOR;
22441 	if (yych <= '/') goto yy1487;
22442 	if (yych >= ':') goto yy1487;
22443 	YYDEBUG(1492, *YYCURSOR);
22444 	yych = *++YYCURSOR;
22445 	if (yych <= '/') goto yy1487;
22446 	if (yych >= ':') goto yy1487;
22447 	YYDEBUG(1493, *YYCURSOR);
22448 	yych = *++YYCURSOR;
22449 	goto yy1487;
22450 yy1494:
22451 	YYDEBUG(1494, *YYCURSOR);
22452 	yych = *++YYCURSOR;
22453 	if (yych <= 'N') {
22454 		if (yych <= ')') {
22455 			if (yych <= '(') goto yy3;
22456 			goto yy181;
22457 		} else {
22458 			if (yych <= '@') goto yy3;
22459 			if (yych <= 'M') goto yy183;
22460 			goto yy1537;
22461 		}
22462 	} else {
22463 		if (yych <= 'm') {
22464 			if (yych <= 'Z') goto yy183;
22465 			if (yych <= '`') goto yy3;
22466 			goto yy183;
22467 		} else {
22468 			if (yych <= 'n') goto yy1537;
22469 			if (yych <= 'z') goto yy183;
22470 			goto yy3;
22471 		}
22472 	}
22473 yy1495:
22474 	YYDEBUG(1495, *YYCURSOR);
22475 	yych = *++YYCURSOR;
22476 	if (yych <= 'U') {
22477 		if (yych <= '@') {
22478 			if (yych == ')') goto yy181;
22479 			goto yy3;
22480 		} else {
22481 			if (yych == 'I') goto yy1528;
22482 			if (yych <= 'T') goto yy183;
22483 			goto yy1529;
22484 		}
22485 	} else {
22486 		if (yych <= 'i') {
22487 			if (yych <= 'Z') goto yy183;
22488 			if (yych <= '`') goto yy3;
22489 			if (yych <= 'h') goto yy183;
22490 			goto yy1528;
22491 		} else {
22492 			if (yych == 'u') goto yy1529;
22493 			if (yych <= 'z') goto yy183;
22494 			goto yy3;
22495 		}
22496 	}
22497 yy1496:
22498 	YYDEBUG(1496, *YYCURSOR);
22499 	yych = *++YYCURSOR;
22500 	if (yych <= 'M') {
22501 		if (yych <= '@') {
22502 			if (yych == ')') goto yy181;
22503 			goto yy3;
22504 		} else {
22505 			if (yych == 'D') goto yy1517;
22506 			if (yych <= 'L') goto yy183;
22507 			goto yy1518;
22508 		}
22509 	} else {
22510 		if (yych <= 'd') {
22511 			if (yych <= 'Z') goto yy183;
22512 			if (yych <= '`') goto yy3;
22513 			if (yych <= 'c') goto yy183;
22514 			goto yy1517;
22515 		} else {
22516 			if (yych == 'm') goto yy1518;
22517 			if (yych <= 'z') goto yy183;
22518 			goto yy3;
22519 		}
22520 	}
22521 yy1497:
22522 	YYDEBUG(1497, *YYCURSOR);
22523 	yych = *++YYCURSOR;
22524 	if (yych <= 'E') {
22525 		if (yych <= ')') {
22526 			if (yych <= '(') goto yy3;
22527 			goto yy181;
22528 		} else {
22529 			if (yych <= '@') goto yy3;
22530 			if (yych <= 'D') goto yy183;
22531 			goto yy1512;
22532 		}
22533 	} else {
22534 		if (yych <= 'd') {
22535 			if (yych <= 'Z') goto yy183;
22536 			if (yych <= '`') goto yy3;
22537 			goto yy183;
22538 		} else {
22539 			if (yych <= 'e') goto yy1512;
22540 			if (yych <= 'z') goto yy183;
22541 			goto yy3;
22542 		}
22543 	}
22544 yy1498:
22545 	YYDEBUG(1498, *YYCURSOR);
22546 	yych = *++YYCURSOR;
22547 	if (yych <= 'E') {
22548 		if (yych <= ')') {
22549 			if (yych <= '(') goto yy3;
22550 			goto yy181;
22551 		} else {
22552 			if (yych <= '@') goto yy3;
22553 			if (yych <= 'D') goto yy183;
22554 			goto yy1508;
22555 		}
22556 	} else {
22557 		if (yych <= 'd') {
22558 			if (yych <= 'Z') goto yy183;
22559 			if (yych <= '`') goto yy3;
22560 			goto yy183;
22561 		} else {
22562 			if (yych <= 'e') goto yy1508;
22563 			if (yych <= 'z') goto yy183;
22564 			goto yy3;
22565 		}
22566 	}
22567 yy1499:
22568 	YYDEBUG(1499, *YYCURSOR);
22569 	yyaccept = 10;
22570 	yych = *(YYMARKER = ++YYCURSOR);
22571 	if (yych <= '/') {
22572 		if (yych == '.') goto yy1124;
22573 		goto yy524;
22574 	} else {
22575 		if (yych <= '9') goto yy1502;
22576 		if (yych <= ':') goto yy1124;
22577 		goto yy524;
22578 	}
22579 yy1500:
22580 	YYDEBUG(1500, *YYCURSOR);
22581 	yyaccept = 10;
22582 	yych = *(YYMARKER = ++YYCURSOR);
22583 	if (yych <= '/') {
22584 		if (yych == '.') goto yy1124;
22585 		goto yy524;
22586 	} else {
22587 		if (yych <= '4') goto yy1502;
22588 		if (yych == ':') goto yy1124;
22589 		goto yy524;
22590 	}
22591 yy1501:
22592 	YYDEBUG(1501, *YYCURSOR);
22593 	yyaccept = 10;
22594 	yych = *(YYMARKER = ++YYCURSOR);
22595 	if (yych == '.') goto yy1124;
22596 	if (yych == ':') goto yy1124;
22597 	goto yy524;
22598 yy1502:
22599 	YYDEBUG(1502, *YYCURSOR);
22600 	yyaccept = 10;
22601 	yych = *(YYMARKER = ++YYCURSOR);
22602 	if (yych <= '/') {
22603 		if (yych == '.') goto yy1124;
22604 		goto yy524;
22605 	} else {
22606 		if (yych <= '5') goto yy1503;
22607 		if (yych == ':') goto yy1124;
22608 		goto yy524;
22609 	}
22610 yy1503:
22611 	YYDEBUG(1503, *YYCURSOR);
22612 	yych = *++YYCURSOR;
22613 	if (yych <= '/') goto yy55;
22614 	if (yych >= ':') goto yy55;
22615 	YYDEBUG(1504, *YYCURSOR);
22616 	yyaccept = 24;
22617 	yych = *(YYMARKER = ++YYCURSOR);
22618 	if (yych <= '/') goto yy1127;
22619 	if (yych <= '5') goto yy1505;
22620 	if (yych <= '6') goto yy1506;
22621 	goto yy1127;
22622 yy1505:
22623 	YYDEBUG(1505, *YYCURSOR);
22624 	yych = *++YYCURSOR;
22625 	if (yych <= '/') goto yy55;
22626 	if (yych <= '9') goto yy1507;
22627 	goto yy55;
22628 yy1506:
22629 	YYDEBUG(1506, *YYCURSOR);
22630 	yych = *++YYCURSOR;
22631 	if (yych != '0') goto yy55;
22632 yy1507:
22633 	YYDEBUG(1507, *YYCURSOR);
22634 	yych = *++YYCURSOR;
22635 	goto yy1135;
22636 yy1508:
22637 	YYDEBUG(1508, *YYCURSOR);
22638 	yych = *++YYCURSOR;
22639 	if (yych <= 'L') {
22640 		if (yych <= ')') {
22641 			if (yych <= '(') goto yy3;
22642 			goto yy181;
22643 		} else {
22644 			if (yych <= '@') goto yy3;
22645 			if (yych <= 'K') goto yy184;
22646 		}
22647 	} else {
22648 		if (yych <= 'k') {
22649 			if (yych <= 'Z') goto yy184;
22650 			if (yych <= '`') goto yy3;
22651 			goto yy184;
22652 		} else {
22653 			if (yych <= 'l') goto yy1509;
22654 			if (yych <= 'z') goto yy184;
22655 			goto yy3;
22656 		}
22657 	}
22658 yy1509:
22659 	YYDEBUG(1509, *YYCURSOR);
22660 	yych = *++YYCURSOR;
22661 	if (yych <= 'F') {
22662 		if (yych <= ')') {
22663 			if (yych <= '(') goto yy3;
22664 			goto yy181;
22665 		} else {
22666 			if (yych <= '@') goto yy3;
22667 			if (yych <= 'E') goto yy185;
22668 		}
22669 	} else {
22670 		if (yych <= 'e') {
22671 			if (yych <= 'Z') goto yy185;
22672 			if (yych <= '`') goto yy3;
22673 			goto yy185;
22674 		} else {
22675 			if (yych <= 'f') goto yy1510;
22676 			if (yych <= 'z') goto yy185;
22677 			goto yy3;
22678 		}
22679 	}
22680 yy1510:
22681 	YYDEBUG(1510, *YYCURSOR);
22682 	yych = *++YYCURSOR;
22683 	if (yych <= 'T') {
22684 		if (yych <= ')') {
22685 			if (yych <= '(') goto yy3;
22686 			goto yy181;
22687 		} else {
22688 			if (yych <= '@') goto yy3;
22689 			if (yych <= 'S') goto yy186;
22690 		}
22691 	} else {
22692 		if (yych <= 's') {
22693 			if (yych <= 'Z') goto yy186;
22694 			if (yych <= '`') goto yy3;
22695 			goto yy186;
22696 		} else {
22697 			if (yych <= 't') goto yy1511;
22698 			if (yych <= 'z') goto yy186;
22699 			goto yy3;
22700 		}
22701 	}
22702 yy1511:
22703 	YYDEBUG(1511, *YYCURSOR);
22704 	yyaccept = 1;
22705 	yych = *(YYMARKER = ++YYCURSOR);
22706 	if (yych <= 'G') {
22707 		if (yych == ')') goto yy181;
22708 		goto yy3;
22709 	} else {
22710 		if (yych <= 'H') goto yy1297;
22711 		if (yych == 'h') goto yy1297;
22712 		goto yy3;
22713 	}
22714 yy1512:
22715 	YYDEBUG(1512, *YYCURSOR);
22716 	yych = *++YYCURSOR;
22717 	if (yych <= 'S') {
22718 		if (yych <= ')') {
22719 			if (yych <= '(') goto yy219;
22720 			goto yy181;
22721 		} else {
22722 			if (yych <= '@') goto yy219;
22723 			if (yych <= 'R') goto yy184;
22724 		}
22725 	} else {
22726 		if (yych <= 'r') {
22727 			if (yych <= 'Z') goto yy184;
22728 			if (yych <= '`') goto yy219;
22729 			goto yy184;
22730 		} else {
22731 			if (yych <= 's') goto yy1513;
22732 			if (yych <= 'z') goto yy184;
22733 			goto yy219;
22734 		}
22735 	}
22736 yy1513:
22737 	YYDEBUG(1513, *YYCURSOR);
22738 	yych = *++YYCURSOR;
22739 	if (yych <= 'D') {
22740 		if (yych <= ')') {
22741 			if (yych <= '(') goto yy3;
22742 			goto yy181;
22743 		} else {
22744 			if (yych <= '@') goto yy3;
22745 			if (yych <= 'C') goto yy185;
22746 		}
22747 	} else {
22748 		if (yych <= 'c') {
22749 			if (yych <= 'Z') goto yy185;
22750 			if (yych <= '`') goto yy3;
22751 			goto yy185;
22752 		} else {
22753 			if (yych <= 'd') goto yy1514;
22754 			if (yych <= 'z') goto yy185;
22755 			goto yy3;
22756 		}
22757 	}
22758 yy1514:
22759 	YYDEBUG(1514, *YYCURSOR);
22760 	yych = *++YYCURSOR;
22761 	if (yych <= 'A') {
22762 		if (yych == ')') goto yy181;
22763 		if (yych <= '@') goto yy3;
22764 	} else {
22765 		if (yych <= '`') {
22766 			if (yych <= 'Z') goto yy186;
22767 			goto yy3;
22768 		} else {
22769 			if (yych <= 'a') goto yy1515;
22770 			if (yych <= 'z') goto yy186;
22771 			goto yy3;
22772 		}
22773 	}
22774 yy1515:
22775 	YYDEBUG(1515, *YYCURSOR);
22776 	yych = *++YYCURSOR;
22777 	if (yych <= 'X') {
22778 		if (yych == ')') goto yy181;
22779 		goto yy3;
22780 	} else {
22781 		if (yych <= 'Y') goto yy1516;
22782 		if (yych != 'y') goto yy3;
22783 	}
22784 yy1516:
22785 	YYDEBUG(1516, *YYCURSOR);
22786 	yych = *++YYCURSOR;
22787 	if (yych == 'S') goto yy225;
22788 	if (yych == 's') goto yy225;
22789 	goto yy219;
22790 yy1517:
22791 	YYDEBUG(1517, *YYCURSOR);
22792 	yych = *++YYCURSOR;
22793 	if (yych <= 'A') {
22794 		if (yych == ')') goto yy181;
22795 		if (yych <= '@') goto yy3;
22796 		goto yy1525;
22797 	} else {
22798 		if (yych <= '`') {
22799 			if (yych <= 'Z') goto yy184;
22800 			goto yy3;
22801 		} else {
22802 			if (yych <= 'a') goto yy1525;
22803 			if (yych <= 'z') goto yy184;
22804 			goto yy3;
22805 		}
22806 	}
22807 yy1518:
22808 	YYDEBUG(1518, *YYCURSOR);
22809 	yych = *++YYCURSOR;
22810 	if (yych <= 'O') {
22811 		if (yych <= ')') {
22812 			if (yych <= '(') goto yy3;
22813 			goto yy181;
22814 		} else {
22815 			if (yych <= '@') goto yy3;
22816 			if (yych <= 'N') goto yy184;
22817 		}
22818 	} else {
22819 		if (yych <= 'n') {
22820 			if (yych <= 'Z') goto yy184;
22821 			if (yych <= '`') goto yy3;
22822 			goto yy184;
22823 		} else {
22824 			if (yych <= 'o') goto yy1519;
22825 			if (yych <= 'z') goto yy184;
22826 			goto yy3;
22827 		}
22828 	}
22829 yy1519:
22830 	YYDEBUG(1519, *YYCURSOR);
22831 	yych = *++YYCURSOR;
22832 	if (yych <= 'R') {
22833 		if (yych <= ')') {
22834 			if (yych <= '(') goto yy3;
22835 			goto yy181;
22836 		} else {
22837 			if (yych <= '@') goto yy3;
22838 			if (yych <= 'Q') goto yy185;
22839 		}
22840 	} else {
22841 		if (yych <= 'q') {
22842 			if (yych <= 'Z') goto yy185;
22843 			if (yych <= '`') goto yy3;
22844 			goto yy185;
22845 		} else {
22846 			if (yych <= 'r') goto yy1520;
22847 			if (yych <= 'z') goto yy185;
22848 			goto yy3;
22849 		}
22850 	}
22851 yy1520:
22852 	YYDEBUG(1520, *YYCURSOR);
22853 	yych = *++YYCURSOR;
22854 	if (yych <= 'R') {
22855 		if (yych <= ')') {
22856 			if (yych <= '(') goto yy3;
22857 			goto yy181;
22858 		} else {
22859 			if (yych <= '@') goto yy3;
22860 			if (yych <= 'Q') goto yy186;
22861 		}
22862 	} else {
22863 		if (yych <= 'q') {
22864 			if (yych <= 'Z') goto yy186;
22865 			if (yych <= '`') goto yy3;
22866 			goto yy186;
22867 		} else {
22868 			if (yych <= 'r') goto yy1521;
22869 			if (yych <= 'z') goto yy186;
22870 			goto yy3;
22871 		}
22872 	}
22873 yy1521:
22874 	YYDEBUG(1521, *YYCURSOR);
22875 	yyaccept = 1;
22876 	yych = *(YYMARKER = ++YYCURSOR);
22877 	if (yych <= 'N') {
22878 		if (yych == ')') goto yy181;
22879 		goto yy3;
22880 	} else {
22881 		if (yych <= 'O') goto yy1522;
22882 		if (yych != 'o') goto yy3;
22883 	}
22884 yy1522:
22885 	YYDEBUG(1522, *YYCURSOR);
22886 	yych = *++YYCURSOR;
22887 	if (yych == 'W') goto yy1523;
22888 	if (yych != 'w') goto yy55;
22889 yy1523:
22890 	YYDEBUG(1523, *YYCURSOR);
22891 	++YYCURSOR;
22892 yy1524:
22893 	YYDEBUG(1524, *YYCURSOR);
22894 #line 1137 "ext/date/lib/parse_date.re"
22895 	{
22896 		DEBUG_OUTPUT("tomorrow");
22897 		TIMELIB_INIT;
22898 		TIMELIB_HAVE_RELATIVE();
22899 		TIMELIB_UNHAVE_TIME();
22900 
22901 		s->time->relative.d = 1;
22902 		TIMELIB_DEINIT;
22903 		return TIMELIB_RELATIVE;
22904 	}
22905 #line 22906 "<stdout>"
22906 yy1525:
22907 	YYDEBUG(1525, *YYCURSOR);
22908 	yych = *++YYCURSOR;
22909 	if (yych <= 'Y') {
22910 		if (yych <= ')') {
22911 			if (yych <= '(') goto yy3;
22912 			goto yy181;
22913 		} else {
22914 			if (yych <= '@') goto yy3;
22915 			if (yych <= 'X') goto yy185;
22916 		}
22917 	} else {
22918 		if (yych <= 'x') {
22919 			if (yych <= 'Z') goto yy185;
22920 			if (yych <= '`') goto yy3;
22921 			goto yy185;
22922 		} else {
22923 			if (yych <= 'y') goto yy1526;
22924 			if (yych <= 'z') goto yy185;
22925 			goto yy3;
22926 		}
22927 	}
22928 yy1526:
22929 	YYDEBUG(1526, *YYCURSOR);
22930 	++YYCURSOR;
22931 	if ((yych = *YYCURSOR) <= '@') {
22932 		if (yych == ')') goto yy181;
22933 	} else {
22934 		if (yych <= 'Z') goto yy186;
22935 		if (yych <= '`') goto yy1527;
22936 		if (yych <= 'z') goto yy186;
22937 	}
22938 yy1527:
22939 	YYDEBUG(1527, *YYCURSOR);
22940 #line 1127 "ext/date/lib/parse_date.re"
22941 	{
22942 		DEBUG_OUTPUT("midnight | today");
22943 		TIMELIB_INIT;
22944 		TIMELIB_UNHAVE_TIME();
22945 
22946 		TIMELIB_DEINIT;
22947 		return TIMELIB_RELATIVE;
22948 	}
22949 #line 22950 "<stdout>"
22950 yy1528:
22951 	YYDEBUG(1528, *YYCURSOR);
22952 	yych = *++YYCURSOR;
22953 	if (yych <= 'S') {
22954 		if (yych <= '@') {
22955 			if (yych == ')') goto yy181;
22956 			goto yy3;
22957 		} else {
22958 			if (yych <= 'Q') goto yy184;
22959 			if (yych <= 'R') goto yy1535;
22960 			goto yy1536;
22961 		}
22962 	} else {
22963 		if (yych <= 'q') {
22964 			if (yych <= 'Z') goto yy184;
22965 			if (yych <= '`') goto yy3;
22966 			goto yy184;
22967 		} else {
22968 			if (yych <= 'r') goto yy1535;
22969 			if (yych <= 's') goto yy1536;
22970 			if (yych <= 'z') goto yy184;
22971 			goto yy3;
22972 		}
22973 	}
22974 yy1529:
22975 	YYDEBUG(1529, *YYCURSOR);
22976 	yych = *++YYCURSOR;
22977 	if (yych <= 'R') {
22978 		if (yych <= ')') {
22979 			if (yych <= '(') goto yy219;
22980 			goto yy181;
22981 		} else {
22982 			if (yych <= '@') goto yy219;
22983 			if (yych <= 'Q') goto yy184;
22984 		}
22985 	} else {
22986 		if (yych <= 'q') {
22987 			if (yych <= 'Z') goto yy184;
22988 			if (yych <= '`') goto yy219;
22989 			goto yy184;
22990 		} else {
22991 			if (yych <= 'r') goto yy1530;
22992 			if (yych <= 'z') goto yy184;
22993 			goto yy219;
22994 		}
22995 	}
22996 yy1530:
22997 	YYDEBUG(1530, *YYCURSOR);
22998 	yych = *++YYCURSOR;
22999 	if (yych <= 'S') {
23000 		if (yych <= ')') {
23001 			if (yych <= '(') goto yy3;
23002 			goto yy181;
23003 		} else {
23004 			if (yych <= '@') goto yy3;
23005 			if (yych <= 'R') goto yy185;
23006 		}
23007 	} else {
23008 		if (yych <= 'r') {
23009 			if (yych <= 'Z') goto yy185;
23010 			if (yych <= '`') goto yy3;
23011 			goto yy185;
23012 		} else {
23013 			if (yych <= 's') goto yy1531;
23014 			if (yych <= 'z') goto yy185;
23015 			goto yy3;
23016 		}
23017 	}
23018 yy1531:
23019 	YYDEBUG(1531, *YYCURSOR);
23020 	yych = *++YYCURSOR;
23021 	if (yych <= 'D') {
23022 		if (yych <= ')') {
23023 			if (yych <= '(') goto yy3;
23024 			goto yy181;
23025 		} else {
23026 			if (yych <= '@') goto yy3;
23027 			if (yych <= 'C') goto yy186;
23028 		}
23029 	} else {
23030 		if (yych <= 'c') {
23031 			if (yych <= 'Z') goto yy186;
23032 			if (yych <= '`') goto yy3;
23033 			goto yy186;
23034 		} else {
23035 			if (yych <= 'd') goto yy1532;
23036 			if (yych <= 'z') goto yy186;
23037 			goto yy3;
23038 		}
23039 	}
23040 yy1532:
23041 	YYDEBUG(1532, *YYCURSOR);
23042 	yyaccept = 1;
23043 	yych = *(YYMARKER = ++YYCURSOR);
23044 	if (yych <= '@') {
23045 		if (yych == ')') goto yy181;
23046 		goto yy3;
23047 	} else {
23048 		if (yych <= 'A') goto yy1533;
23049 		if (yych != 'a') goto yy3;
23050 	}
23051 yy1533:
23052 	YYDEBUG(1533, *YYCURSOR);
23053 	yych = *++YYCURSOR;
23054 	if (yych == 'Y') goto yy1534;
23055 	if (yych != 'y') goto yy55;
23056 yy1534:
23057 	YYDEBUG(1534, *YYCURSOR);
23058 	yych = *++YYCURSOR;
23059 	if (yych == 'S') goto yy225;
23060 	if (yych == 's') goto yy225;
23061 	goto yy219;
23062 yy1535:
23063 	YYDEBUG(1535, *YYCURSOR);
23064 	yych = *++YYCURSOR;
23065 	if (yych <= 'D') {
23066 		if (yych <= ')') {
23067 			if (yych <= '(') goto yy3;
23068 			goto yy181;
23069 		} else {
23070 			if (yych <= '@') goto yy3;
23071 			if (yych <= 'C') goto yy185;
23072 			goto yy1330;
23073 		}
23074 	} else {
23075 		if (yych <= 'c') {
23076 			if (yych <= 'Z') goto yy185;
23077 			if (yych <= '`') goto yy3;
23078 			goto yy185;
23079 		} else {
23080 			if (yych <= 'd') goto yy1330;
23081 			if (yych <= 'z') goto yy185;
23082 			goto yy3;
23083 		}
23084 	}
23085 yy1536:
23086 	YYDEBUG(1536, *YYCURSOR);
23087 	yyaccept = 1;
23088 	yych = *(YYMARKER = ++YYCURSOR);
23089 	if (yych <= '(') {
23090 		if (yych <= '\t') {
23091 			if (yych <= 0x08) goto yy3;
23092 			goto yy1164;
23093 		} else {
23094 			if (yych == ' ') goto yy1164;
23095 			goto yy3;
23096 		}
23097 	} else {
23098 		if (yych <= 'Z') {
23099 			if (yych <= ')') goto yy181;
23100 			if (yych <= '@') goto yy3;
23101 			goto yy185;
23102 		} else {
23103 			if (yych <= '`') goto yy3;
23104 			if (yych <= 'z') goto yy185;
23105 			goto yy3;
23106 		}
23107 	}
23108 yy1537:
23109 	YYDEBUG(1537, *YYCURSOR);
23110 	yych = *++YYCURSOR;
23111 	if (yych <= 'T') {
23112 		if (yych <= ')') {
23113 			if (yych <= '(') goto yy3;
23114 			goto yy181;
23115 		} else {
23116 			if (yych <= '@') goto yy3;
23117 			if (yych <= 'S') goto yy184;
23118 		}
23119 	} else {
23120 		if (yych <= 's') {
23121 			if (yych <= 'Z') goto yy184;
23122 			if (yych <= '`') goto yy3;
23123 			goto yy184;
23124 		} else {
23125 			if (yych <= 't') goto yy1538;
23126 			if (yych <= 'z') goto yy184;
23127 			goto yy3;
23128 		}
23129 	}
23130 yy1538:
23131 	YYDEBUG(1538, *YYCURSOR);
23132 	yych = *++YYCURSOR;
23133 	if (yych <= 'H') {
23134 		if (yych <= ')') {
23135 			if (yych <= '(') goto yy3;
23136 			goto yy181;
23137 		} else {
23138 			if (yych <= '@') goto yy3;
23139 			if (yych <= 'G') goto yy185;
23140 			goto yy1330;
23141 		}
23142 	} else {
23143 		if (yych <= 'g') {
23144 			if (yych <= 'Z') goto yy185;
23145 			if (yych <= '`') goto yy3;
23146 			goto yy185;
23147 		} else {
23148 			if (yych <= 'h') goto yy1330;
23149 			if (yych <= 'z') goto yy185;
23150 			goto yy3;
23151 		}
23152 	}
23153 yy1539:
23154 	YYDEBUG(1539, *YYCURSOR);
23155 	yyaccept = 1;
23156 	yych = *(YYMARKER = ++YYCURSOR);
23157 	if (yych <= 'M') {
23158 		if (yych <= '-') {
23159 			if (yych == ')') goto yy181;
23160 			if (yych <= ',') goto yy3;
23161 			goto yy189;
23162 		} else {
23163 			if (yych == '/') goto yy189;
23164 			if (yych <= '@') goto yy3;
23165 			goto yy183;
23166 		}
23167 	} else {
23168 		if (yych <= '_') {
23169 			if (yych <= 'N') goto yy1537;
23170 			if (yych <= 'Z') goto yy183;
23171 			if (yych <= '^') goto yy3;
23172 			goto yy189;
23173 		} else {
23174 			if (yych <= 'm') {
23175 				if (yych <= '`') goto yy3;
23176 				goto yy188;
23177 			} else {
23178 				if (yych <= 'n') goto yy1571;
23179 				if (yych <= 'z') goto yy188;
23180 				goto yy3;
23181 			}
23182 		}
23183 	}
23184 yy1540:
23185 	YYDEBUG(1540, *YYCURSOR);
23186 	yyaccept = 1;
23187 	yych = *(YYMARKER = ++YYCURSOR);
23188 	if (yych <= 'T') {
23189 		if (yych <= '.') {
23190 			if (yych <= ')') {
23191 				if (yych <= '(') goto yy3;
23192 				goto yy181;
23193 			} else {
23194 				if (yych == '-') goto yy189;
23195 				goto yy3;
23196 			}
23197 		} else {
23198 			if (yych <= '@') {
23199 				if (yych <= '/') goto yy189;
23200 				goto yy3;
23201 			} else {
23202 				if (yych == 'I') goto yy1528;
23203 				goto yy183;
23204 			}
23205 		}
23206 	} else {
23207 		if (yych <= '`') {
23208 			if (yych <= 'Z') {
23209 				if (yych <= 'U') goto yy1529;
23210 				goto yy183;
23211 			} else {
23212 				if (yych == '_') goto yy189;
23213 				goto yy3;
23214 			}
23215 		} else {
23216 			if (yych <= 't') {
23217 				if (yych == 'i') goto yy1562;
23218 				goto yy188;
23219 			} else {
23220 				if (yych <= 'u') goto yy1563;
23221 				if (yych <= 'z') goto yy188;
23222 				goto yy3;
23223 			}
23224 		}
23225 	}
23226 yy1541:
23227 	YYDEBUG(1541, *YYCURSOR);
23228 	yyaccept = 1;
23229 	yych = *(YYMARKER = ++YYCURSOR);
23230 	if (yych <= 'L') {
23231 		if (yych <= '.') {
23232 			if (yych <= ')') {
23233 				if (yych <= '(') goto yy3;
23234 				goto yy181;
23235 			} else {
23236 				if (yych == '-') goto yy189;
23237 				goto yy3;
23238 			}
23239 		} else {
23240 			if (yych <= '@') {
23241 				if (yych <= '/') goto yy189;
23242 				goto yy3;
23243 			} else {
23244 				if (yych == 'D') goto yy1517;
23245 				goto yy183;
23246 			}
23247 		}
23248 	} else {
23249 		if (yych <= '`') {
23250 			if (yych <= 'Z') {
23251 				if (yych <= 'M') goto yy1518;
23252 				goto yy183;
23253 			} else {
23254 				if (yych == '_') goto yy189;
23255 				goto yy3;
23256 			}
23257 		} else {
23258 			if (yych <= 'l') {
23259 				if (yych == 'd') goto yy1553;
23260 				goto yy188;
23261 			} else {
23262 				if (yych <= 'm') goto yy1554;
23263 				if (yych <= 'z') goto yy188;
23264 				goto yy3;
23265 			}
23266 		}
23267 	}
23268 yy1542:
23269 	YYDEBUG(1542, *YYCURSOR);
23270 	yyaccept = 1;
23271 	yych = *(YYMARKER = ++YYCURSOR);
23272 	if (yych <= 'D') {
23273 		if (yych <= '-') {
23274 			if (yych == ')') goto yy181;
23275 			if (yych <= ',') goto yy3;
23276 			goto yy189;
23277 		} else {
23278 			if (yych == '/') goto yy189;
23279 			if (yych <= '@') goto yy3;
23280 			goto yy183;
23281 		}
23282 	} else {
23283 		if (yych <= '_') {
23284 			if (yych <= 'E') goto yy1512;
23285 			if (yych <= 'Z') goto yy183;
23286 			if (yych <= '^') goto yy3;
23287 			goto yy189;
23288 		} else {
23289 			if (yych <= 'd') {
23290 				if (yych <= '`') goto yy3;
23291 				goto yy188;
23292 			} else {
23293 				if (yych <= 'e') goto yy1548;
23294 				if (yych <= 'z') goto yy188;
23295 				goto yy3;
23296 			}
23297 		}
23298 	}
23299 yy1543:
23300 	YYDEBUG(1543, *YYCURSOR);
23301 	yyaccept = 1;
23302 	yych = *(YYMARKER = ++YYCURSOR);
23303 	if (yych <= 'D') {
23304 		if (yych <= '-') {
23305 			if (yych == ')') goto yy181;
23306 			if (yych <= ',') goto yy3;
23307 			goto yy189;
23308 		} else {
23309 			if (yych == '/') goto yy189;
23310 			if (yych <= '@') goto yy3;
23311 			goto yy183;
23312 		}
23313 	} else {
23314 		if (yych <= '_') {
23315 			if (yych <= 'E') goto yy1508;
23316 			if (yych <= 'Z') goto yy183;
23317 			if (yych <= '^') goto yy3;
23318 			goto yy189;
23319 		} else {
23320 			if (yych <= 'd') {
23321 				if (yych <= '`') goto yy3;
23322 				goto yy188;
23323 			} else {
23324 				if (yych <= 'e') goto yy1544;
23325 				if (yych <= 'z') goto yy188;
23326 				goto yy3;
23327 			}
23328 		}
23329 	}
23330 yy1544:
23331 	YYDEBUG(1544, *YYCURSOR);
23332 	yyaccept = 1;
23333 	yych = *(YYMARKER = ++YYCURSOR);
23334 	if (yych <= 'K') {
23335 		if (yych <= '-') {
23336 			if (yych == ')') goto yy181;
23337 			if (yych <= ',') goto yy3;
23338 			goto yy189;
23339 		} else {
23340 			if (yych == '/') goto yy189;
23341 			if (yych <= '@') goto yy3;
23342 			goto yy184;
23343 		}
23344 	} else {
23345 		if (yych <= '_') {
23346 			if (yych <= 'L') goto yy1509;
23347 			if (yych <= 'Z') goto yy184;
23348 			if (yych <= '^') goto yy3;
23349 			goto yy189;
23350 		} else {
23351 			if (yych <= 'k') {
23352 				if (yych <= '`') goto yy3;
23353 				goto yy192;
23354 			} else {
23355 				if (yych <= 'l') goto yy1545;
23356 				if (yych <= 'z') goto yy192;
23357 				goto yy3;
23358 			}
23359 		}
23360 	}
23361 yy1545:
23362 	YYDEBUG(1545, *YYCURSOR);
23363 	yyaccept = 1;
23364 	yych = *(YYMARKER = ++YYCURSOR);
23365 	if (yych <= 'E') {
23366 		if (yych <= '-') {
23367 			if (yych == ')') goto yy181;
23368 			if (yych <= ',') goto yy3;
23369 			goto yy189;
23370 		} else {
23371 			if (yych == '/') goto yy189;
23372 			if (yych <= '@') goto yy3;
23373 			goto yy185;
23374 		}
23375 	} else {
23376 		if (yych <= '_') {
23377 			if (yych <= 'F') goto yy1510;
23378 			if (yych <= 'Z') goto yy185;
23379 			if (yych <= '^') goto yy3;
23380 			goto yy189;
23381 		} else {
23382 			if (yych <= 'e') {
23383 				if (yych <= '`') goto yy3;
23384 				goto yy193;
23385 			} else {
23386 				if (yych <= 'f') goto yy1546;
23387 				if (yych <= 'z') goto yy193;
23388 				goto yy3;
23389 			}
23390 		}
23391 	}
23392 yy1546:
23393 	YYDEBUG(1546, *YYCURSOR);
23394 	yyaccept = 1;
23395 	yych = *(YYMARKER = ++YYCURSOR);
23396 	if (yych <= 'S') {
23397 		if (yych <= '-') {
23398 			if (yych == ')') goto yy181;
23399 			if (yych <= ',') goto yy3;
23400 			goto yy189;
23401 		} else {
23402 			if (yych == '/') goto yy189;
23403 			if (yych <= '@') goto yy3;
23404 			goto yy186;
23405 		}
23406 	} else {
23407 		if (yych <= '_') {
23408 			if (yych <= 'T') goto yy1511;
23409 			if (yych <= 'Z') goto yy186;
23410 			if (yych <= '^') goto yy3;
23411 			goto yy189;
23412 		} else {
23413 			if (yych <= 's') {
23414 				if (yych <= '`') goto yy3;
23415 				goto yy194;
23416 			} else {
23417 				if (yych <= 't') goto yy1547;
23418 				if (yych <= 'z') goto yy194;
23419 				goto yy3;
23420 			}
23421 		}
23422 	}
23423 yy1547:
23424 	YYDEBUG(1547, *YYCURSOR);
23425 	yyaccept = 1;
23426 	yych = *(YYMARKER = ++YYCURSOR);
23427 	if (yych <= 'G') {
23428 		if (yych <= ',') {
23429 			if (yych == ')') goto yy181;
23430 			goto yy3;
23431 		} else {
23432 			if (yych == '.') goto yy3;
23433 			if (yych <= '/') goto yy189;
23434 			goto yy3;
23435 		}
23436 	} else {
23437 		if (yych <= '`') {
23438 			if (yych <= 'H') goto yy1297;
23439 			if (yych == '_') goto yy189;
23440 			goto yy3;
23441 		} else {
23442 			if (yych == 'h') goto yy1315;
23443 			if (yych <= 'z') goto yy195;
23444 			goto yy3;
23445 		}
23446 	}
23447 yy1548:
23448 	YYDEBUG(1548, *YYCURSOR);
23449 	yyaccept = 4;
23450 	yych = *(YYMARKER = ++YYCURSOR);
23451 	if (yych <= 'R') {
23452 		if (yych <= '-') {
23453 			if (yych == ')') goto yy181;
23454 			if (yych <= ',') goto yy219;
23455 			goto yy189;
23456 		} else {
23457 			if (yych == '/') goto yy189;
23458 			if (yych <= '@') goto yy219;
23459 			goto yy184;
23460 		}
23461 	} else {
23462 		if (yych <= '_') {
23463 			if (yych <= 'S') goto yy1513;
23464 			if (yych <= 'Z') goto yy184;
23465 			if (yych <= '^') goto yy219;
23466 			goto yy189;
23467 		} else {
23468 			if (yych <= 'r') {
23469 				if (yych <= '`') goto yy219;
23470 				goto yy192;
23471 			} else {
23472 				if (yych <= 's') goto yy1549;
23473 				if (yych <= 'z') goto yy192;
23474 				goto yy219;
23475 			}
23476 		}
23477 	}
23478 yy1549:
23479 	YYDEBUG(1549, *YYCURSOR);
23480 	yyaccept = 1;
23481 	yych = *(YYMARKER = ++YYCURSOR);
23482 	if (yych <= 'C') {
23483 		if (yych <= '-') {
23484 			if (yych == ')') goto yy181;
23485 			if (yych <= ',') goto yy3;
23486 			goto yy189;
23487 		} else {
23488 			if (yych == '/') goto yy189;
23489 			if (yych <= '@') goto yy3;
23490 			goto yy185;
23491 		}
23492 	} else {
23493 		if (yych <= '_') {
23494 			if (yych <= 'D') goto yy1514;
23495 			if (yych <= 'Z') goto yy185;
23496 			if (yych <= '^') goto yy3;
23497 			goto yy189;
23498 		} else {
23499 			if (yych <= 'c') {
23500 				if (yych <= '`') goto yy3;
23501 				goto yy193;
23502 			} else {
23503 				if (yych <= 'd') goto yy1550;
23504 				if (yych <= 'z') goto yy193;
23505 				goto yy3;
23506 			}
23507 		}
23508 	}
23509 yy1550:
23510 	YYDEBUG(1550, *YYCURSOR);
23511 	yyaccept = 1;
23512 	yych = *(YYMARKER = ++YYCURSOR);
23513 	if (yych <= '@') {
23514 		if (yych <= ',') {
23515 			if (yych == ')') goto yy181;
23516 			goto yy3;
23517 		} else {
23518 			if (yych == '.') goto yy3;
23519 			if (yych <= '/') goto yy189;
23520 			goto yy3;
23521 		}
23522 	} else {
23523 		if (yych <= '_') {
23524 			if (yych <= 'A') goto yy1515;
23525 			if (yych <= 'Z') goto yy186;
23526 			if (yych <= '^') goto yy3;
23527 			goto yy189;
23528 		} else {
23529 			if (yych <= '`') goto yy3;
23530 			if (yych <= 'a') goto yy1551;
23531 			if (yych <= 'z') goto yy194;
23532 			goto yy3;
23533 		}
23534 	}
23535 yy1551:
23536 	YYDEBUG(1551, *YYCURSOR);
23537 	yyaccept = 1;
23538 	yych = *(YYMARKER = ++YYCURSOR);
23539 	if (yych <= 'X') {
23540 		if (yych <= ',') {
23541 			if (yych == ')') goto yy181;
23542 			goto yy3;
23543 		} else {
23544 			if (yych == '.') goto yy3;
23545 			if (yych <= '/') goto yy189;
23546 			goto yy3;
23547 		}
23548 	} else {
23549 		if (yych <= '`') {
23550 			if (yych <= 'Y') goto yy1516;
23551 			if (yych == '_') goto yy189;
23552 			goto yy3;
23553 		} else {
23554 			if (yych == 'y') goto yy1552;
23555 			if (yych <= 'z') goto yy195;
23556 			goto yy3;
23557 		}
23558 	}
23559 yy1552:
23560 	YYDEBUG(1552, *YYCURSOR);
23561 	yyaccept = 4;
23562 	yych = *(YYMARKER = ++YYCURSOR);
23563 	if (yych <= 'S') {
23564 		if (yych <= '.') {
23565 			if (yych == '-') goto yy189;
23566 			goto yy219;
23567 		} else {
23568 			if (yych <= '/') goto yy189;
23569 			if (yych <= 'R') goto yy219;
23570 			goto yy225;
23571 		}
23572 	} else {
23573 		if (yych <= '`') {
23574 			if (yych == '_') goto yy189;
23575 			goto yy219;
23576 		} else {
23577 			if (yych == 's') goto yy239;
23578 			if (yych <= 'z') goto yy195;
23579 			goto yy219;
23580 		}
23581 	}
23582 yy1553:
23583 	YYDEBUG(1553, *YYCURSOR);
23584 	yyaccept = 1;
23585 	yych = *(YYMARKER = ++YYCURSOR);
23586 	if (yych <= '@') {
23587 		if (yych <= ',') {
23588 			if (yych == ')') goto yy181;
23589 			goto yy3;
23590 		} else {
23591 			if (yych == '.') goto yy3;
23592 			if (yych <= '/') goto yy189;
23593 			goto yy3;
23594 		}
23595 	} else {
23596 		if (yych <= '_') {
23597 			if (yych <= 'A') goto yy1525;
23598 			if (yych <= 'Z') goto yy184;
23599 			if (yych <= '^') goto yy3;
23600 			goto yy189;
23601 		} else {
23602 			if (yych <= '`') goto yy3;
23603 			if (yych <= 'a') goto yy1560;
23604 			if (yych <= 'z') goto yy192;
23605 			goto yy3;
23606 		}
23607 	}
23608 yy1554:
23609 	YYDEBUG(1554, *YYCURSOR);
23610 	yyaccept = 1;
23611 	yych = *(YYMARKER = ++YYCURSOR);
23612 	if (yych <= 'N') {
23613 		if (yych <= '-') {
23614 			if (yych == ')') goto yy181;
23615 			if (yych <= ',') goto yy3;
23616 			goto yy189;
23617 		} else {
23618 			if (yych == '/') goto yy189;
23619 			if (yych <= '@') goto yy3;
23620 			goto yy184;
23621 		}
23622 	} else {
23623 		if (yych <= '_') {
23624 			if (yych <= 'O') goto yy1519;
23625 			if (yych <= 'Z') goto yy184;
23626 			if (yych <= '^') goto yy3;
23627 			goto yy189;
23628 		} else {
23629 			if (yych <= 'n') {
23630 				if (yych <= '`') goto yy3;
23631 				goto yy192;
23632 			} else {
23633 				if (yych <= 'o') goto yy1555;
23634 				if (yych <= 'z') goto yy192;
23635 				goto yy3;
23636 			}
23637 		}
23638 	}
23639 yy1555:
23640 	YYDEBUG(1555, *YYCURSOR);
23641 	yyaccept = 1;
23642 	yych = *(YYMARKER = ++YYCURSOR);
23643 	if (yych <= 'Q') {
23644 		if (yych <= '-') {
23645 			if (yych == ')') goto yy181;
23646 			if (yych <= ',') goto yy3;
23647 			goto yy189;
23648 		} else {
23649 			if (yych == '/') goto yy189;
23650 			if (yych <= '@') goto yy3;
23651 			goto yy185;
23652 		}
23653 	} else {
23654 		if (yych <= '_') {
23655 			if (yych <= 'R') goto yy1520;
23656 			if (yych <= 'Z') goto yy185;
23657 			if (yych <= '^') goto yy3;
23658 			goto yy189;
23659 		} else {
23660 			if (yych <= 'q') {
23661 				if (yych <= '`') goto yy3;
23662 				goto yy193;
23663 			} else {
23664 				if (yych <= 'r') goto yy1556;
23665 				if (yych <= 'z') goto yy193;
23666 				goto yy3;
23667 			}
23668 		}
23669 	}
23670 yy1556:
23671 	YYDEBUG(1556, *YYCURSOR);
23672 	yyaccept = 1;
23673 	yych = *(YYMARKER = ++YYCURSOR);
23674 	if (yych <= 'Q') {
23675 		if (yych <= '-') {
23676 			if (yych == ')') goto yy181;
23677 			if (yych <= ',') goto yy3;
23678 			goto yy189;
23679 		} else {
23680 			if (yych == '/') goto yy189;
23681 			if (yych <= '@') goto yy3;
23682 			goto yy186;
23683 		}
23684 	} else {
23685 		if (yych <= '_') {
23686 			if (yych <= 'R') goto yy1521;
23687 			if (yych <= 'Z') goto yy186;
23688 			if (yych <= '^') goto yy3;
23689 			goto yy189;
23690 		} else {
23691 			if (yych <= 'q') {
23692 				if (yych <= '`') goto yy3;
23693 				goto yy194;
23694 			} else {
23695 				if (yych <= 'r') goto yy1557;
23696 				if (yych <= 'z') goto yy194;
23697 				goto yy3;
23698 			}
23699 		}
23700 	}
23701 yy1557:
23702 	YYDEBUG(1557, *YYCURSOR);
23703 	yyaccept = 1;
23704 	yych = *(YYMARKER = ++YYCURSOR);
23705 	if (yych <= 'N') {
23706 		if (yych <= ',') {
23707 			if (yych == ')') goto yy181;
23708 			goto yy3;
23709 		} else {
23710 			if (yych == '.') goto yy3;
23711 			if (yych <= '/') goto yy189;
23712 			goto yy3;
23713 		}
23714 	} else {
23715 		if (yych <= '`') {
23716 			if (yych <= 'O') goto yy1522;
23717 			if (yych == '_') goto yy189;
23718 			goto yy3;
23719 		} else {
23720 			if (yych == 'o') goto yy1558;
23721 			if (yych <= 'z') goto yy195;
23722 			goto yy3;
23723 		}
23724 	}
23725 yy1558:
23726 	YYDEBUG(1558, *YYCURSOR);
23727 	yych = *++YYCURSOR;
23728 	if (yych == 'W') goto yy1523;
23729 	if (yych != 'w') goto yy196;
23730 	YYDEBUG(1559, *YYCURSOR);
23731 	yyaccept = 29;
23732 	yych = *(YYMARKER = ++YYCURSOR);
23733 	if (yybm[0+yych] & 8) {
23734 		goto yy195;
23735 	}
23736 	if (yych <= '.') {
23737 		if (yych == '-') goto yy189;
23738 		goto yy1524;
23739 	} else {
23740 		if (yych <= '/') goto yy189;
23741 		if (yych == '_') goto yy189;
23742 		goto yy1524;
23743 	}
23744 yy1560:
23745 	YYDEBUG(1560, *YYCURSOR);
23746 	yyaccept = 1;
23747 	yych = *(YYMARKER = ++YYCURSOR);
23748 	if (yych <= 'X') {
23749 		if (yych <= '-') {
23750 			if (yych == ')') goto yy181;
23751 			if (yych <= ',') goto yy3;
23752 			goto yy189;
23753 		} else {
23754 			if (yych == '/') goto yy189;
23755 			if (yych <= '@') goto yy3;
23756 			goto yy185;
23757 		}
23758 	} else {
23759 		if (yych <= '_') {
23760 			if (yych <= 'Y') goto yy1526;
23761 			if (yych <= 'Z') goto yy185;
23762 			if (yych <= '^') goto yy3;
23763 			goto yy189;
23764 		} else {
23765 			if (yych <= 'x') {
23766 				if (yych <= '`') goto yy3;
23767 				goto yy193;
23768 			} else {
23769 				if (yych <= 'y') goto yy1561;
23770 				if (yych <= 'z') goto yy193;
23771 				goto yy3;
23772 			}
23773 		}
23774 	}
23775 yy1561:
23776 	YYDEBUG(1561, *YYCURSOR);
23777 	yyaccept = 30;
23778 	yych = *(YYMARKER = ++YYCURSOR);
23779 	if (yych <= '/') {
23780 		if (yych <= ',') {
23781 			if (yych == ')') goto yy181;
23782 			goto yy1527;
23783 		} else {
23784 			if (yych == '.') goto yy1527;
23785 			goto yy189;
23786 		}
23787 	} else {
23788 		if (yych <= '^') {
23789 			if (yych <= '@') goto yy1527;
23790 			if (yych <= 'Z') goto yy186;
23791 			goto yy1527;
23792 		} else {
23793 			if (yych <= '_') goto yy189;
23794 			if (yych <= '`') goto yy1527;
23795 			if (yych <= 'z') goto yy194;
23796 			goto yy1527;
23797 		}
23798 	}
23799 yy1562:
23800 	YYDEBUG(1562, *YYCURSOR);
23801 	yyaccept = 1;
23802 	yych = *(YYMARKER = ++YYCURSOR);
23803 	if (yych <= 'R') {
23804 		if (yych <= '-') {
23805 			if (yych == ')') goto yy181;
23806 			if (yych <= ',') goto yy3;
23807 			goto yy189;
23808 		} else {
23809 			if (yych <= '/') {
23810 				if (yych <= '.') goto yy3;
23811 				goto yy189;
23812 			} else {
23813 				if (yych <= '@') goto yy3;
23814 				if (yych <= 'Q') goto yy184;
23815 				goto yy1535;
23816 			}
23817 		}
23818 	} else {
23819 		if (yych <= '`') {
23820 			if (yych <= 'Z') {
23821 				if (yych <= 'S') goto yy1536;
23822 				goto yy184;
23823 			} else {
23824 				if (yych == '_') goto yy189;
23825 				goto yy3;
23826 			}
23827 		} else {
23828 			if (yych <= 'r') {
23829 				if (yych <= 'q') goto yy192;
23830 				goto yy1569;
23831 			} else {
23832 				if (yych <= 's') goto yy1570;
23833 				if (yych <= 'z') goto yy192;
23834 				goto yy3;
23835 			}
23836 		}
23837 	}
23838 yy1563:
23839 	YYDEBUG(1563, *YYCURSOR);
23840 	yyaccept = 4;
23841 	yych = *(YYMARKER = ++YYCURSOR);
23842 	if (yych <= 'Q') {
23843 		if (yych <= '-') {
23844 			if (yych == ')') goto yy181;
23845 			if (yych <= ',') goto yy219;
23846 			goto yy189;
23847 		} else {
23848 			if (yych == '/') goto yy189;
23849 			if (yych <= '@') goto yy219;
23850 			goto yy184;
23851 		}
23852 	} else {
23853 		if (yych <= '_') {
23854 			if (yych <= 'R') goto yy1530;
23855 			if (yych <= 'Z') goto yy184;
23856 			if (yych <= '^') goto yy219;
23857 			goto yy189;
23858 		} else {
23859 			if (yych <= 'q') {
23860 				if (yych <= '`') goto yy219;
23861 				goto yy192;
23862 			} else {
23863 				if (yych <= 'r') goto yy1564;
23864 				if (yych <= 'z') goto yy192;
23865 				goto yy219;
23866 			}
23867 		}
23868 	}
23869 yy1564:
23870 	YYDEBUG(1564, *YYCURSOR);
23871 	yyaccept = 1;
23872 	yych = *(YYMARKER = ++YYCURSOR);
23873 	if (yych <= 'R') {
23874 		if (yych <= '-') {
23875 			if (yych == ')') goto yy181;
23876 			if (yych <= ',') goto yy3;
23877 			goto yy189;
23878 		} else {
23879 			if (yych == '/') goto yy189;
23880 			if (yych <= '@') goto yy3;
23881 			goto yy185;
23882 		}
23883 	} else {
23884 		if (yych <= '_') {
23885 			if (yych <= 'S') goto yy1531;
23886 			if (yych <= 'Z') goto yy185;
23887 			if (yych <= '^') goto yy3;
23888 			goto yy189;
23889 		} else {
23890 			if (yych <= 'r') {
23891 				if (yych <= '`') goto yy3;
23892 				goto yy193;
23893 			} else {
23894 				if (yych <= 's') goto yy1565;
23895 				if (yych <= 'z') goto yy193;
23896 				goto yy3;
23897 			}
23898 		}
23899 	}
23900 yy1565:
23901 	YYDEBUG(1565, *YYCURSOR);
23902 	yyaccept = 1;
23903 	yych = *(YYMARKER = ++YYCURSOR);
23904 	if (yych <= 'C') {
23905 		if (yych <= '-') {
23906 			if (yych == ')') goto yy181;
23907 			if (yych <= ',') goto yy3;
23908 			goto yy189;
23909 		} else {
23910 			if (yych == '/') goto yy189;
23911 			if (yych <= '@') goto yy3;
23912 			goto yy186;
23913 		}
23914 	} else {
23915 		if (yych <= '_') {
23916 			if (yych <= 'D') goto yy1532;
23917 			if (yych <= 'Z') goto yy186;
23918 			if (yych <= '^') goto yy3;
23919 			goto yy189;
23920 		} else {
23921 			if (yych <= 'c') {
23922 				if (yych <= '`') goto yy3;
23923 				goto yy194;
23924 			} else {
23925 				if (yych <= 'd') goto yy1566;
23926 				if (yych <= 'z') goto yy194;
23927 				goto yy3;
23928 			}
23929 		}
23930 	}
23931 yy1566:
23932 	YYDEBUG(1566, *YYCURSOR);
23933 	yyaccept = 1;
23934 	yych = *(YYMARKER = ++YYCURSOR);
23935 	if (yych <= '@') {
23936 		if (yych <= ',') {
23937 			if (yych == ')') goto yy181;
23938 			goto yy3;
23939 		} else {
23940 			if (yych == '.') goto yy3;
23941 			if (yych <= '/') goto yy189;
23942 			goto yy3;
23943 		}
23944 	} else {
23945 		if (yych <= '_') {
23946 			if (yych <= 'A') goto yy1533;
23947 			if (yych <= '^') goto yy3;
23948 			goto yy189;
23949 		} else {
23950 			if (yych <= '`') goto yy3;
23951 			if (yych <= 'a') goto yy1567;
23952 			if (yych <= 'z') goto yy195;
23953 			goto yy3;
23954 		}
23955 	}
23956 yy1567:
23957 	YYDEBUG(1567, *YYCURSOR);
23958 	yych = *++YYCURSOR;
23959 	if (yych == 'Y') goto yy1534;
23960 	if (yych != 'y') goto yy196;
23961 	YYDEBUG(1568, *YYCURSOR);
23962 	yyaccept = 4;
23963 	yych = *(YYMARKER = ++YYCURSOR);
23964 	if (yych <= 'S') {
23965 		if (yych <= '.') {
23966 			if (yych == '-') goto yy189;
23967 			goto yy219;
23968 		} else {
23969 			if (yych <= '/') goto yy189;
23970 			if (yych <= 'R') goto yy219;
23971 			goto yy225;
23972 		}
23973 	} else {
23974 		if (yych <= '`') {
23975 			if (yych == '_') goto yy189;
23976 			goto yy219;
23977 		} else {
23978 			if (yych == 's') goto yy239;
23979 			if (yych <= 'z') goto yy195;
23980 			goto yy219;
23981 		}
23982 	}
23983 yy1569:
23984 	YYDEBUG(1569, *YYCURSOR);
23985 	yyaccept = 1;
23986 	yych = *(YYMARKER = ++YYCURSOR);
23987 	if (yych <= 'C') {
23988 		if (yych <= '-') {
23989 			if (yych == ')') goto yy181;
23990 			if (yych <= ',') goto yy3;
23991 			goto yy189;
23992 		} else {
23993 			if (yych == '/') goto yy189;
23994 			if (yych <= '@') goto yy3;
23995 			goto yy185;
23996 		}
23997 	} else {
23998 		if (yych <= '_') {
23999 			if (yych <= 'D') goto yy1330;
24000 			if (yych <= 'Z') goto yy185;
24001 			if (yych <= '^') goto yy3;
24002 			goto yy189;
24003 		} else {
24004 			if (yych <= 'c') {
24005 				if (yych <= '`') goto yy3;
24006 				goto yy193;
24007 			} else {
24008 				if (yych <= 'd') goto yy1360;
24009 				if (yych <= 'z') goto yy193;
24010 				goto yy3;
24011 			}
24012 		}
24013 	}
24014 yy1570:
24015 	YYDEBUG(1570, *YYCURSOR);
24016 	yyaccept = 1;
24017 	yych = *(YYMARKER = ++YYCURSOR);
24018 	if (yych <= '-') {
24019 		if (yych <= ' ') {
24020 			if (yych == '\t') goto yy1164;
24021 			if (yych <= 0x1F) goto yy3;
24022 			goto yy1164;
24023 		} else {
24024 			if (yych == ')') goto yy181;
24025 			if (yych <= ',') goto yy3;
24026 			goto yy189;
24027 		}
24028 	} else {
24029 		if (yych <= 'Z') {
24030 			if (yych == '/') goto yy189;
24031 			if (yych <= '@') goto yy3;
24032 			goto yy185;
24033 		} else {
24034 			if (yych <= '_') {
24035 				if (yych <= '^') goto yy3;
24036 				goto yy189;
24037 			} else {
24038 				if (yych <= '`') goto yy3;
24039 				if (yych <= 'z') goto yy193;
24040 				goto yy3;
24041 			}
24042 		}
24043 	}
24044 yy1571:
24045 	YYDEBUG(1571, *YYCURSOR);
24046 	yyaccept = 1;
24047 	yych = *(YYMARKER = ++YYCURSOR);
24048 	if (yych <= 'S') {
24049 		if (yych <= '-') {
24050 			if (yych == ')') goto yy181;
24051 			if (yych <= ',') goto yy3;
24052 			goto yy189;
24053 		} else {
24054 			if (yych == '/') goto yy189;
24055 			if (yych <= '@') goto yy3;
24056 			goto yy184;
24057 		}
24058 	} else {
24059 		if (yych <= '_') {
24060 			if (yych <= 'T') goto yy1538;
24061 			if (yych <= 'Z') goto yy184;
24062 			if (yych <= '^') goto yy3;
24063 			goto yy189;
24064 		} else {
24065 			if (yych <= 's') {
24066 				if (yych <= '`') goto yy3;
24067 				goto yy192;
24068 			} else {
24069 				if (yych <= 't') goto yy1572;
24070 				if (yych <= 'z') goto yy192;
24071 				goto yy3;
24072 			}
24073 		}
24074 	}
24075 yy1572:
24076 	YYDEBUG(1572, *YYCURSOR);
24077 	yyaccept = 1;
24078 	yych = *(YYMARKER = ++YYCURSOR);
24079 	if (yych <= 'G') {
24080 		if (yych <= '-') {
24081 			if (yych == ')') goto yy181;
24082 			if (yych <= ',') goto yy3;
24083 			goto yy189;
24084 		} else {
24085 			if (yych == '/') goto yy189;
24086 			if (yych <= '@') goto yy3;
24087 			goto yy185;
24088 		}
24089 	} else {
24090 		if (yych <= '_') {
24091 			if (yych <= 'H') goto yy1330;
24092 			if (yych <= 'Z') goto yy185;
24093 			if (yych <= '^') goto yy3;
24094 			goto yy189;
24095 		} else {
24096 			if (yych <= 'g') {
24097 				if (yych <= '`') goto yy3;
24098 				goto yy193;
24099 			} else {
24100 				if (yych <= 'h') goto yy1360;
24101 				if (yych <= 'z') goto yy193;
24102 				goto yy3;
24103 			}
24104 		}
24105 	}
24106 yy1573:
24107 	YYDEBUG(1573, *YYCURSOR);
24108 	yych = *++YYCURSOR;
24109 	if (yych <= 'Y') {
24110 		if (yych <= '@') {
24111 			if (yych == ')') goto yy181;
24112 			goto yy3;
24113 		} else {
24114 			if (yych == 'R') goto yy1586;
24115 			if (yych <= 'X') goto yy183;
24116 			goto yy1587;
24117 		}
24118 	} else {
24119 		if (yych <= 'r') {
24120 			if (yych <= 'Z') goto yy183;
24121 			if (yych <= '`') goto yy3;
24122 			if (yych <= 'q') goto yy183;
24123 			goto yy1586;
24124 		} else {
24125 			if (yych == 'y') goto yy1587;
24126 			if (yych <= 'z') goto yy183;
24127 			goto yy3;
24128 		}
24129 	}
24130 yy1574:
24131 	YYDEBUG(1574, *YYCURSOR);
24132 	yych = *++YYCURSOR;
24133 	if (yych <= 'D') {
24134 		if (yych <= ')') {
24135 			if (yych <= '(') goto yy3;
24136 			goto yy181;
24137 		} else {
24138 			if (yych <= '@') goto yy3;
24139 			if (yych <= 'C') goto yy183;
24140 			goto yy1580;
24141 		}
24142 	} else {
24143 		if (yych <= 'c') {
24144 			if (yych <= 'Z') goto yy183;
24145 			if (yych <= '`') goto yy3;
24146 			goto yy183;
24147 		} else {
24148 			if (yych <= 'd') goto yy1580;
24149 			if (yych <= 'z') goto yy183;
24150 			goto yy3;
24151 		}
24152 	}
24153 yy1575:
24154 	YYDEBUG(1575, *YYCURSOR);
24155 	yych = *++YYCURSOR;
24156 	if (yych <= 'N') {
24157 		if (yych <= ')') {
24158 			if (yych <= '(') goto yy3;
24159 			goto yy181;
24160 		} else {
24161 			if (yych <= '@') goto yy3;
24162 			if (yych <= 'M') goto yy183;
24163 		}
24164 	} else {
24165 		if (yych <= 'm') {
24166 			if (yych <= 'Z') goto yy183;
24167 			if (yych <= '`') goto yy3;
24168 			goto yy183;
24169 		} else {
24170 			if (yych <= 'n') goto yy1576;
24171 			if (yych <= 'z') goto yy183;
24172 			goto yy3;
24173 		}
24174 	}
24175 yy1576:
24176 	YYDEBUG(1576, *YYCURSOR);
24177 	yych = *++YYCURSOR;
24178 	if (yych <= 'D') {
24179 		if (yych <= ')') {
24180 			if (yych <= '(') goto yy219;
24181 			goto yy181;
24182 		} else {
24183 			if (yych <= '@') goto yy219;
24184 			if (yych <= 'C') goto yy184;
24185 		}
24186 	} else {
24187 		if (yych <= 'c') {
24188 			if (yych <= 'Z') goto yy184;
24189 			if (yych <= '`') goto yy219;
24190 			goto yy184;
24191 		} else {
24192 			if (yych <= 'd') goto yy1577;
24193 			if (yych <= 'z') goto yy184;
24194 			goto yy219;
24195 		}
24196 	}
24197 yy1577:
24198 	YYDEBUG(1577, *YYCURSOR);
24199 	yych = *++YYCURSOR;
24200 	if (yych <= 'A') {
24201 		if (yych == ')') goto yy181;
24202 		if (yych <= '@') goto yy3;
24203 	} else {
24204 		if (yych <= '`') {
24205 			if (yych <= 'Z') goto yy185;
24206 			goto yy3;
24207 		} else {
24208 			if (yych <= 'a') goto yy1578;
24209 			if (yych <= 'z') goto yy185;
24210 			goto yy3;
24211 		}
24212 	}
24213 yy1578:
24214 	YYDEBUG(1578, *YYCURSOR);
24215 	yych = *++YYCURSOR;
24216 	if (yych <= 'Y') {
24217 		if (yych <= ')') {
24218 			if (yych <= '(') goto yy3;
24219 			goto yy181;
24220 		} else {
24221 			if (yych <= '@') goto yy3;
24222 			if (yych <= 'X') goto yy186;
24223 		}
24224 	} else {
24225 		if (yych <= 'x') {
24226 			if (yych <= 'Z') goto yy186;
24227 			if (yych <= '`') goto yy3;
24228 			goto yy186;
24229 		} else {
24230 			if (yych <= 'y') goto yy1579;
24231 			if (yych <= 'z') goto yy186;
24232 			goto yy3;
24233 		}
24234 	}
24235 yy1579:
24236 	YYDEBUG(1579, *YYCURSOR);
24237 	yych = *++YYCURSOR;
24238 	if (yych <= 'R') {
24239 		if (yych == ')') goto yy181;
24240 		goto yy219;
24241 	} else {
24242 		if (yych <= 'S') goto yy225;
24243 		if (yych == 's') goto yy225;
24244 		goto yy219;
24245 	}
24246 yy1580:
24247 	YYDEBUG(1580, *YYCURSOR);
24248 	yych = *++YYCURSOR;
24249 	if (yych <= 'N') {
24250 		if (yych <= ')') {
24251 			if (yych <= '(') goto yy3;
24252 			goto yy181;
24253 		} else {
24254 			if (yych <= '@') goto yy3;
24255 			if (yych <= 'M') goto yy184;
24256 		}
24257 	} else {
24258 		if (yych <= 'm') {
24259 			if (yych <= 'Z') goto yy184;
24260 			if (yych <= '`') goto yy3;
24261 			goto yy184;
24262 		} else {
24263 			if (yych <= 'n') goto yy1581;
24264 			if (yych <= 'z') goto yy184;
24265 			goto yy3;
24266 		}
24267 	}
24268 yy1581:
24269 	YYDEBUG(1581, *YYCURSOR);
24270 	yych = *++YYCURSOR;
24271 	if (yych <= 'I') {
24272 		if (yych <= ')') {
24273 			if (yych <= '(') goto yy3;
24274 			goto yy181;
24275 		} else {
24276 			if (yych <= '@') goto yy3;
24277 			if (yych <= 'H') goto yy185;
24278 		}
24279 	} else {
24280 		if (yych <= 'h') {
24281 			if (yych <= 'Z') goto yy185;
24282 			if (yych <= '`') goto yy3;
24283 			goto yy185;
24284 		} else {
24285 			if (yych <= 'i') goto yy1582;
24286 			if (yych <= 'z') goto yy185;
24287 			goto yy3;
24288 		}
24289 	}
24290 yy1582:
24291 	YYDEBUG(1582, *YYCURSOR);
24292 	yych = *++YYCURSOR;
24293 	if (yych <= 'G') {
24294 		if (yych <= ')') {
24295 			if (yych <= '(') goto yy3;
24296 			goto yy181;
24297 		} else {
24298 			if (yych <= '@') goto yy3;
24299 			if (yych <= 'F') goto yy186;
24300 		}
24301 	} else {
24302 		if (yych <= 'f') {
24303 			if (yych <= 'Z') goto yy186;
24304 			if (yych <= '`') goto yy3;
24305 			goto yy186;
24306 		} else {
24307 			if (yych <= 'g') goto yy1583;
24308 			if (yych <= 'z') goto yy186;
24309 			goto yy3;
24310 		}
24311 	}
24312 yy1583:
24313 	YYDEBUG(1583, *YYCURSOR);
24314 	yyaccept = 1;
24315 	yych = *(YYMARKER = ++YYCURSOR);
24316 	if (yych <= 'G') {
24317 		if (yych == ')') goto yy181;
24318 		goto yy3;
24319 	} else {
24320 		if (yych <= 'H') goto yy1584;
24321 		if (yych != 'h') goto yy3;
24322 	}
24323 yy1584:
24324 	YYDEBUG(1584, *YYCURSOR);
24325 	yych = *++YYCURSOR;
24326 	if (yych == 'T') goto yy1585;
24327 	if (yych != 't') goto yy55;
24328 yy1585:
24329 	YYDEBUG(1585, *YYCURSOR);
24330 	yych = *++YYCURSOR;
24331 	goto yy1527;
24332 yy1586:
24333 	YYDEBUG(1586, *YYCURSOR);
24334 	yyaccept = 5;
24335 	yych = *(YYMARKER = ++YYCURSOR);
24336 	if (yych <= '/') {
24337 		if (yych <= '(') {
24338 			if (yych <= '\t') {
24339 				if (yych <= 0x08) goto yy248;
24340 				goto yy250;
24341 			} else {
24342 				if (yych == ' ') goto yy250;
24343 				goto yy248;
24344 			}
24345 		} else {
24346 			if (yych <= ',') {
24347 				if (yych <= ')') goto yy181;
24348 				goto yy248;
24349 			} else {
24350 				if (yych <= '-') goto yy251;
24351 				if (yych <= '.') goto yy250;
24352 				goto yy248;
24353 			}
24354 		}
24355 	} else {
24356 		if (yych <= 'Z') {
24357 			if (yych <= '@') {
24358 				if (yych <= '9') goto yy250;
24359 				goto yy248;
24360 			} else {
24361 				if (yych == 'C') goto yy1588;
24362 				goto yy184;
24363 			}
24364 		} else {
24365 			if (yych <= 'b') {
24366 				if (yych <= '`') goto yy248;
24367 				goto yy184;
24368 			} else {
24369 				if (yych <= 'c') goto yy1588;
24370 				if (yych <= 'z') goto yy184;
24371 				goto yy248;
24372 			}
24373 		}
24374 	}
24375 yy1587:
24376 	YYDEBUG(1587, *YYCURSOR);
24377 	yyaccept = 5;
24378 	yych = *(YYMARKER = ++YYCURSOR);
24379 	if (yych <= '-') {
24380 		if (yych <= ' ') {
24381 			if (yych == '\t') goto yy250;
24382 			if (yych <= 0x1F) goto yy248;
24383 			goto yy250;
24384 		} else {
24385 			if (yych == ')') goto yy181;
24386 			if (yych <= ',') goto yy248;
24387 			goto yy251;
24388 		}
24389 	} else {
24390 		if (yych <= '@') {
24391 			if (yych == '/') goto yy248;
24392 			if (yych <= '9') goto yy250;
24393 			goto yy248;
24394 		} else {
24395 			if (yych <= 'Z') goto yy184;
24396 			if (yych <= '`') goto yy248;
24397 			if (yych <= 'z') goto yy184;
24398 			goto yy248;
24399 		}
24400 	}
24401 yy1588:
24402 	YYDEBUG(1588, *YYCURSOR);
24403 	yych = *++YYCURSOR;
24404 	if (yych <= 'H') {
24405 		if (yych <= ')') {
24406 			if (yych <= '(') goto yy3;
24407 			goto yy181;
24408 		} else {
24409 			if (yych <= '@') goto yy3;
24410 			if (yych <= 'G') goto yy185;
24411 			goto yy401;
24412 		}
24413 	} else {
24414 		if (yych <= 'g') {
24415 			if (yych <= 'Z') goto yy185;
24416 			if (yych <= '`') goto yy3;
24417 			goto yy185;
24418 		} else {
24419 			if (yych <= 'h') goto yy401;
24420 			if (yych <= 'z') goto yy185;
24421 			goto yy3;
24422 		}
24423 	}
24424 yy1589:
24425 	YYDEBUG(1589, *YYCURSOR);
24426 	yyaccept = 1;
24427 	yych = *(YYMARKER = ++YYCURSOR);
24428 	if (yych <= 'X') {
24429 		if (yych <= '.') {
24430 			if (yych <= ')') {
24431 				if (yych <= '(') goto yy3;
24432 				goto yy181;
24433 			} else {
24434 				if (yych == '-') goto yy189;
24435 				goto yy3;
24436 			}
24437 		} else {
24438 			if (yych <= '@') {
24439 				if (yych <= '/') goto yy189;
24440 				goto yy3;
24441 			} else {
24442 				if (yych == 'R') goto yy1586;
24443 				goto yy183;
24444 			}
24445 		}
24446 	} else {
24447 		if (yych <= '`') {
24448 			if (yych <= 'Z') {
24449 				if (yych <= 'Y') goto yy1587;
24450 				goto yy183;
24451 			} else {
24452 				if (yych == '_') goto yy189;
24453 				goto yy3;
24454 			}
24455 		} else {
24456 			if (yych <= 'x') {
24457 				if (yych == 'r') goto yy1602;
24458 				goto yy188;
24459 			} else {
24460 				if (yych <= 'y') goto yy1603;
24461 				if (yych <= 'z') goto yy188;
24462 				goto yy3;
24463 			}
24464 		}
24465 	}
24466 yy1590:
24467 	YYDEBUG(1590, *YYCURSOR);
24468 	yyaccept = 1;
24469 	yych = *(YYMARKER = ++YYCURSOR);
24470 	if (yych <= 'C') {
24471 		if (yych <= '-') {
24472 			if (yych == ')') goto yy181;
24473 			if (yych <= ',') goto yy3;
24474 			goto yy189;
24475 		} else {
24476 			if (yych == '/') goto yy189;
24477 			if (yych <= '@') goto yy3;
24478 			goto yy183;
24479 		}
24480 	} else {
24481 		if (yych <= '_') {
24482 			if (yych <= 'D') goto yy1580;
24483 			if (yych <= 'Z') goto yy183;
24484 			if (yych <= '^') goto yy3;
24485 			goto yy189;
24486 		} else {
24487 			if (yych <= 'c') {
24488 				if (yych <= '`') goto yy3;
24489 				goto yy188;
24490 			} else {
24491 				if (yych <= 'd') goto yy1596;
24492 				if (yych <= 'z') goto yy188;
24493 				goto yy3;
24494 			}
24495 		}
24496 	}
24497 yy1591:
24498 	YYDEBUG(1591, *YYCURSOR);
24499 	yyaccept = 1;
24500 	yych = *(YYMARKER = ++YYCURSOR);
24501 	if (yych <= 'M') {
24502 		if (yych <= '-') {
24503 			if (yych == ')') goto yy181;
24504 			if (yych <= ',') goto yy3;
24505 			goto yy189;
24506 		} else {
24507 			if (yych == '/') goto yy189;
24508 			if (yych <= '@') goto yy3;
24509 			goto yy183;
24510 		}
24511 	} else {
24512 		if (yych <= '_') {
24513 			if (yych <= 'N') goto yy1576;
24514 			if (yych <= 'Z') goto yy183;
24515 			if (yych <= '^') goto yy3;
24516 			goto yy189;
24517 		} else {
24518 			if (yych <= 'm') {
24519 				if (yych <= '`') goto yy3;
24520 				goto yy188;
24521 			} else {
24522 				if (yych <= 'n') goto yy1592;
24523 				if (yych <= 'z') goto yy188;
24524 				goto yy3;
24525 			}
24526 		}
24527 	}
24528 yy1592:
24529 	YYDEBUG(1592, *YYCURSOR);
24530 	yyaccept = 4;
24531 	yych = *(YYMARKER = ++YYCURSOR);
24532 	if (yych <= 'C') {
24533 		if (yych <= '-') {
24534 			if (yych == ')') goto yy181;
24535 			if (yych <= ',') goto yy219;
24536 			goto yy189;
24537 		} else {
24538 			if (yych == '/') goto yy189;
24539 			if (yych <= '@') goto yy219;
24540 			goto yy184;
24541 		}
24542 	} else {
24543 		if (yych <= '_') {
24544 			if (yych <= 'D') goto yy1577;
24545 			if (yych <= 'Z') goto yy184;
24546 			if (yych <= '^') goto yy219;
24547 			goto yy189;
24548 		} else {
24549 			if (yych <= 'c') {
24550 				if (yych <= '`') goto yy219;
24551 				goto yy192;
24552 			} else {
24553 				if (yych <= 'd') goto yy1593;
24554 				if (yych <= 'z') goto yy192;
24555 				goto yy219;
24556 			}
24557 		}
24558 	}
24559 yy1593:
24560 	YYDEBUG(1593, *YYCURSOR);
24561 	yyaccept = 1;
24562 	yych = *(YYMARKER = ++YYCURSOR);
24563 	if (yych <= '@') {
24564 		if (yych <= ',') {
24565 			if (yych == ')') goto yy181;
24566 			goto yy3;
24567 		} else {
24568 			if (yych == '.') goto yy3;
24569 			if (yych <= '/') goto yy189;
24570 			goto yy3;
24571 		}
24572 	} else {
24573 		if (yych <= '_') {
24574 			if (yych <= 'A') goto yy1578;
24575 			if (yych <= 'Z') goto yy185;
24576 			if (yych <= '^') goto yy3;
24577 			goto yy189;
24578 		} else {
24579 			if (yych <= '`') goto yy3;
24580 			if (yych <= 'a') goto yy1594;
24581 			if (yych <= 'z') goto yy193;
24582 			goto yy3;
24583 		}
24584 	}
24585 yy1594:
24586 	YYDEBUG(1594, *YYCURSOR);
24587 	yyaccept = 1;
24588 	yych = *(YYMARKER = ++YYCURSOR);
24589 	if (yych <= 'X') {
24590 		if (yych <= '-') {
24591 			if (yych == ')') goto yy181;
24592 			if (yych <= ',') goto yy3;
24593 			goto yy189;
24594 		} else {
24595 			if (yych == '/') goto yy189;
24596 			if (yych <= '@') goto yy3;
24597 			goto yy186;
24598 		}
24599 	} else {
24600 		if (yych <= '_') {
24601 			if (yych <= 'Y') goto yy1579;
24602 			if (yych <= 'Z') goto yy186;
24603 			if (yych <= '^') goto yy3;
24604 			goto yy189;
24605 		} else {
24606 			if (yych <= 'x') {
24607 				if (yych <= '`') goto yy3;
24608 				goto yy194;
24609 			} else {
24610 				if (yych <= 'y') goto yy1595;
24611 				if (yych <= 'z') goto yy194;
24612 				goto yy3;
24613 			}
24614 		}
24615 	}
24616 yy1595:
24617 	YYDEBUG(1595, *YYCURSOR);
24618 	yyaccept = 4;
24619 	yych = *(YYMARKER = ++YYCURSOR);
24620 	if (yych <= 'R') {
24621 		if (yych <= ',') {
24622 			if (yych == ')') goto yy181;
24623 			goto yy219;
24624 		} else {
24625 			if (yych == '.') goto yy219;
24626 			if (yych <= '/') goto yy189;
24627 			goto yy219;
24628 		}
24629 	} else {
24630 		if (yych <= '`') {
24631 			if (yych <= 'S') goto yy225;
24632 			if (yych == '_') goto yy189;
24633 			goto yy219;
24634 		} else {
24635 			if (yych == 's') goto yy239;
24636 			if (yych <= 'z') goto yy195;
24637 			goto yy219;
24638 		}
24639 	}
24640 yy1596:
24641 	YYDEBUG(1596, *YYCURSOR);
24642 	yyaccept = 1;
24643 	yych = *(YYMARKER = ++YYCURSOR);
24644 	if (yych <= 'M') {
24645 		if (yych <= '-') {
24646 			if (yych == ')') goto yy181;
24647 			if (yych <= ',') goto yy3;
24648 			goto yy189;
24649 		} else {
24650 			if (yych == '/') goto yy189;
24651 			if (yych <= '@') goto yy3;
24652 			goto yy184;
24653 		}
24654 	} else {
24655 		if (yych <= '_') {
24656 			if (yych <= 'N') goto yy1581;
24657 			if (yych <= 'Z') goto yy184;
24658 			if (yych <= '^') goto yy3;
24659 			goto yy189;
24660 		} else {
24661 			if (yych <= 'm') {
24662 				if (yych <= '`') goto yy3;
24663 				goto yy192;
24664 			} else {
24665 				if (yych <= 'n') goto yy1597;
24666 				if (yych <= 'z') goto yy192;
24667 				goto yy3;
24668 			}
24669 		}
24670 	}
24671 yy1597:
24672 	YYDEBUG(1597, *YYCURSOR);
24673 	yyaccept = 1;
24674 	yych = *(YYMARKER = ++YYCURSOR);
24675 	if (yych <= 'H') {
24676 		if (yych <= '-') {
24677 			if (yych == ')') goto yy181;
24678 			if (yych <= ',') goto yy3;
24679 			goto yy189;
24680 		} else {
24681 			if (yych == '/') goto yy189;
24682 			if (yych <= '@') goto yy3;
24683 			goto yy185;
24684 		}
24685 	} else {
24686 		if (yych <= '_') {
24687 			if (yych <= 'I') goto yy1582;
24688 			if (yych <= 'Z') goto yy185;
24689 			if (yych <= '^') goto yy3;
24690 			goto yy189;
24691 		} else {
24692 			if (yych <= 'h') {
24693 				if (yych <= '`') goto yy3;
24694 				goto yy193;
24695 			} else {
24696 				if (yych <= 'i') goto yy1598;
24697 				if (yych <= 'z') goto yy193;
24698 				goto yy3;
24699 			}
24700 		}
24701 	}
24702 yy1598:
24703 	YYDEBUG(1598, *YYCURSOR);
24704 	yyaccept = 1;
24705 	yych = *(YYMARKER = ++YYCURSOR);
24706 	if (yych <= 'F') {
24707 		if (yych <= '-') {
24708 			if (yych == ')') goto yy181;
24709 			if (yych <= ',') goto yy3;
24710 			goto yy189;
24711 		} else {
24712 			if (yych == '/') goto yy189;
24713 			if (yych <= '@') goto yy3;
24714 			goto yy186;
24715 		}
24716 	} else {
24717 		if (yych <= '_') {
24718 			if (yych <= 'G') goto yy1583;
24719 			if (yych <= 'Z') goto yy186;
24720 			if (yych <= '^') goto yy3;
24721 			goto yy189;
24722 		} else {
24723 			if (yych <= 'f') {
24724 				if (yych <= '`') goto yy3;
24725 				goto yy194;
24726 			} else {
24727 				if (yych <= 'g') goto yy1599;
24728 				if (yych <= 'z') goto yy194;
24729 				goto yy3;
24730 			}
24731 		}
24732 	}
24733 yy1599:
24734 	YYDEBUG(1599, *YYCURSOR);
24735 	yyaccept = 1;
24736 	yych = *(YYMARKER = ++YYCURSOR);
24737 	if (yych <= 'G') {
24738 		if (yych <= ',') {
24739 			if (yych == ')') goto yy181;
24740 			goto yy3;
24741 		} else {
24742 			if (yych == '.') goto yy3;
24743 			if (yych <= '/') goto yy189;
24744 			goto yy3;
24745 		}
24746 	} else {
24747 		if (yych <= '`') {
24748 			if (yych <= 'H') goto yy1584;
24749 			if (yych == '_') goto yy189;
24750 			goto yy3;
24751 		} else {
24752 			if (yych == 'h') goto yy1600;
24753 			if (yych <= 'z') goto yy195;
24754 			goto yy3;
24755 		}
24756 	}
24757 yy1600:
24758 	YYDEBUG(1600, *YYCURSOR);
24759 	yych = *++YYCURSOR;
24760 	if (yych == 'T') goto yy1585;
24761 	if (yych != 't') goto yy196;
24762 	YYDEBUG(1601, *YYCURSOR);
24763 	yyaccept = 30;
24764 	yych = *(YYMARKER = ++YYCURSOR);
24765 	if (yybm[0+yych] & 8) {
24766 		goto yy195;
24767 	}
24768 	if (yych <= '.') {
24769 		if (yych == '-') goto yy189;
24770 		goto yy1527;
24771 	} else {
24772 		if (yych <= '/') goto yy189;
24773 		if (yych == '_') goto yy189;
24774 		goto yy1527;
24775 	}
24776 yy1602:
24777 	YYDEBUG(1602, *YYCURSOR);
24778 	yyaccept = 5;
24779 	yych = *(YYMARKER = ++YYCURSOR);
24780 	if (yych <= '9') {
24781 		if (yych <= '(') {
24782 			if (yych <= '\t') {
24783 				if (yych <= 0x08) goto yy248;
24784 				goto yy250;
24785 			} else {
24786 				if (yych == ' ') goto yy250;
24787 				goto yy248;
24788 			}
24789 		} else {
24790 			if (yych <= '-') {
24791 				if (yych <= ')') goto yy181;
24792 				if (yych <= ',') goto yy248;
24793 				goto yy377;
24794 			} else {
24795 				if (yych == '/') goto yy189;
24796 				goto yy250;
24797 			}
24798 		}
24799 	} else {
24800 		if (yych <= '^') {
24801 			if (yych <= 'B') {
24802 				if (yych <= '@') goto yy248;
24803 				goto yy184;
24804 			} else {
24805 				if (yych <= 'C') goto yy1588;
24806 				if (yych <= 'Z') goto yy184;
24807 				goto yy248;
24808 			}
24809 		} else {
24810 			if (yych <= 'b') {
24811 				if (yych <= '_') goto yy189;
24812 				if (yych <= '`') goto yy248;
24813 				goto yy192;
24814 			} else {
24815 				if (yych <= 'c') goto yy1604;
24816 				if (yych <= 'z') goto yy192;
24817 				goto yy248;
24818 			}
24819 		}
24820 	}
24821 yy1603:
24822 	YYDEBUG(1603, *YYCURSOR);
24823 	yyaccept = 5;
24824 	yych = *(YYMARKER = ++YYCURSOR);
24825 	if (yych <= '.') {
24826 		if (yych <= ' ') {
24827 			if (yych == '\t') goto yy250;
24828 			if (yych <= 0x1F) goto yy248;
24829 			goto yy250;
24830 		} else {
24831 			if (yych <= ')') {
24832 				if (yych <= '(') goto yy248;
24833 				goto yy181;
24834 			} else {
24835 				if (yych <= ',') goto yy248;
24836 				if (yych <= '-') goto yy377;
24837 				goto yy250;
24838 			}
24839 		}
24840 	} else {
24841 		if (yych <= 'Z') {
24842 			if (yych <= '/') goto yy189;
24843 			if (yych <= '9') goto yy250;
24844 			if (yych <= '@') goto yy248;
24845 			goto yy184;
24846 		} else {
24847 			if (yych <= '_') {
24848 				if (yych <= '^') goto yy248;
24849 				goto yy189;
24850 			} else {
24851 				if (yych <= '`') goto yy248;
24852 				if (yych <= 'z') goto yy192;
24853 				goto yy248;
24854 			}
24855 		}
24856 	}
24857 yy1604:
24858 	YYDEBUG(1604, *YYCURSOR);
24859 	yyaccept = 1;
24860 	yych = *(YYMARKER = ++YYCURSOR);
24861 	if (yych <= 'G') {
24862 		if (yych <= '-') {
24863 			if (yych == ')') goto yy181;
24864 			if (yych <= ',') goto yy3;
24865 			goto yy189;
24866 		} else {
24867 			if (yych == '/') goto yy189;
24868 			if (yych <= '@') goto yy3;
24869 			goto yy185;
24870 		}
24871 	} else {
24872 		if (yych <= '_') {
24873 			if (yych <= 'H') goto yy401;
24874 			if (yych <= 'Z') goto yy185;
24875 			if (yych <= '^') goto yy3;
24876 			goto yy189;
24877 		} else {
24878 			if (yych <= 'g') {
24879 				if (yych <= '`') goto yy3;
24880 				goto yy193;
24881 			} else {
24882 				if (yych <= 'h') goto yy412;
24883 				if (yych <= 'z') goto yy193;
24884 				goto yy3;
24885 			}
24886 		}
24887 	}
24888 yy1605:
24889 	YYDEBUG(1605, *YYCURSOR);
24890 	yych = *++YYCURSOR;
24891 	if (yych <= 'W') {
24892 		if (yych <= 'N') {
24893 			if (yych == ')') goto yy181;
24894 			if (yych <= '@') goto yy3;
24895 			goto yy183;
24896 		} else {
24897 			if (yych <= 'O') goto yy1613;
24898 			if (yych <= 'U') goto yy183;
24899 			if (yych <= 'V') goto yy1614;
24900 			goto yy1611;
24901 		}
24902 	} else {
24903 		if (yych <= 'o') {
24904 			if (yych <= 'Z') goto yy183;
24905 			if (yych <= '`') goto yy3;
24906 			if (yych <= 'n') goto yy183;
24907 			goto yy1613;
24908 		} else {
24909 			if (yych <= 'v') {
24910 				if (yych <= 'u') goto yy183;
24911 				goto yy1614;
24912 			} else {
24913 				if (yych <= 'w') goto yy1611;
24914 				if (yych <= 'z') goto yy183;
24915 				goto yy3;
24916 			}
24917 		}
24918 	}
24919 yy1606:
24920 	YYDEBUG(1606, *YYCURSOR);
24921 	yych = *++YYCURSOR;
24922 	if (yych <= 'X') {
24923 		if (yych <= ')') {
24924 			if (yych <= '(') goto yy3;
24925 			goto yy181;
24926 		} else {
24927 			if (yych <= '@') goto yy3;
24928 			if (yych <= 'W') goto yy183;
24929 			goto yy1610;
24930 		}
24931 	} else {
24932 		if (yych <= 'w') {
24933 			if (yych <= 'Z') goto yy183;
24934 			if (yych <= '`') goto yy3;
24935 			goto yy183;
24936 		} else {
24937 			if (yych <= 'x') goto yy1610;
24938 			if (yych <= 'z') goto yy183;
24939 			goto yy3;
24940 		}
24941 	}
24942 yy1607:
24943 	YYDEBUG(1607, *YYCURSOR);
24944 	yych = *++YYCURSOR;
24945 	if (yych <= 'N') {
24946 		if (yych <= ')') {
24947 			if (yych <= '(') goto yy3;
24948 			goto yy181;
24949 		} else {
24950 			if (yych <= '@') goto yy3;
24951 			if (yych <= 'M') goto yy183;
24952 		}
24953 	} else {
24954 		if (yych <= 'm') {
24955 			if (yych <= 'Z') goto yy183;
24956 			if (yych <= '`') goto yy3;
24957 			goto yy183;
24958 		} else {
24959 			if (yych <= 'n') goto yy1608;
24960 			if (yych <= 'z') goto yy183;
24961 			goto yy3;
24962 		}
24963 	}
24964 yy1608:
24965 	YYDEBUG(1608, *YYCURSOR);
24966 	yych = *++YYCURSOR;
24967 	if (yych <= 'T') {
24968 		if (yych <= ')') {
24969 			if (yych <= '(') goto yy3;
24970 			goto yy181;
24971 		} else {
24972 			if (yych <= '@') goto yy3;
24973 			if (yych <= 'S') goto yy184;
24974 		}
24975 	} else {
24976 		if (yych <= 's') {
24977 			if (yych <= 'Z') goto yy184;
24978 			if (yych <= '`') goto yy3;
24979 			goto yy184;
24980 		} else {
24981 			if (yych <= 't') goto yy1609;
24982 			if (yych <= 'z') goto yy184;
24983 			goto yy3;
24984 		}
24985 	}
24986 yy1609:
24987 	YYDEBUG(1609, *YYCURSOR);
24988 	yych = *++YYCURSOR;
24989 	if (yych <= 'H') {
24990 		if (yych <= ')') {
24991 			if (yych <= '(') goto yy3;
24992 			goto yy181;
24993 		} else {
24994 			if (yych <= '@') goto yy3;
24995 			if (yych <= 'G') goto yy185;
24996 			goto yy1330;
24997 		}
24998 	} else {
24999 		if (yych <= 'g') {
25000 			if (yych <= 'Z') goto yy185;
25001 			if (yych <= '`') goto yy3;
25002 			goto yy185;
25003 		} else {
25004 			if (yych <= 'h') goto yy1330;
25005 			if (yych <= 'z') goto yy185;
25006 			goto yy3;
25007 		}
25008 	}
25009 yy1610:
25010 	YYDEBUG(1610, *YYCURSOR);
25011 	yych = *++YYCURSOR;
25012 	if (yych <= 'T') {
25013 		if (yych <= ')') {
25014 			if (yych <= '(') goto yy3;
25015 			goto yy181;
25016 		} else {
25017 			if (yych <= '@') goto yy3;
25018 			if (yych <= 'S') goto yy184;
25019 			goto yy1536;
25020 		}
25021 	} else {
25022 		if (yych <= 's') {
25023 			if (yych <= 'Z') goto yy184;
25024 			if (yych <= '`') goto yy3;
25025 			goto yy184;
25026 		} else {
25027 			if (yych <= 't') goto yy1536;
25028 			if (yych <= 'z') goto yy184;
25029 			goto yy3;
25030 		}
25031 	}
25032 yy1611:
25033 	YYDEBUG(1611, *YYCURSOR);
25034 	++YYCURSOR;
25035 	if ((yych = *YYCURSOR) <= '@') {
25036 		if (yych == ')') goto yy181;
25037 	} else {
25038 		if (yych <= 'Z') goto yy184;
25039 		if (yych <= '`') goto yy1612;
25040 		if (yych <= 'z') goto yy184;
25041 	}
25042 yy1612:
25043 	YYDEBUG(1612, *YYCURSOR);
25044 #line 1106 "ext/date/lib/parse_date.re"
25045 	{
25046 		DEBUG_OUTPUT("now");
25047 		TIMELIB_INIT;
25048 
25049 		TIMELIB_DEINIT;
25050 		return TIMELIB_RELATIVE;
25051 	}
25052 #line 25053 "<stdout>"
25053 yy1613:
25054 	YYDEBUG(1613, *YYCURSOR);
25055 	yych = *++YYCURSOR;
25056 	if (yych <= 'N') {
25057 		if (yych <= ')') {
25058 			if (yych <= '(') goto yy3;
25059 			goto yy181;
25060 		} else {
25061 			if (yych <= '@') goto yy3;
25062 			if (yych <= 'M') goto yy184;
25063 			goto yy1619;
25064 		}
25065 	} else {
25066 		if (yych <= 'm') {
25067 			if (yych <= 'Z') goto yy184;
25068 			if (yych <= '`') goto yy3;
25069 			goto yy184;
25070 		} else {
25071 			if (yych <= 'n') goto yy1619;
25072 			if (yych <= 'z') goto yy184;
25073 			goto yy3;
25074 		}
25075 	}
25076 yy1614:
25077 	YYDEBUG(1614, *YYCURSOR);
25078 	yyaccept = 5;
25079 	yych = *(YYMARKER = ++YYCURSOR);
25080 	if (yych <= '/') {
25081 		if (yych <= '(') {
25082 			if (yych <= '\t') {
25083 				if (yych <= 0x08) goto yy248;
25084 				goto yy250;
25085 			} else {
25086 				if (yych == ' ') goto yy250;
25087 				goto yy248;
25088 			}
25089 		} else {
25090 			if (yych <= ',') {
25091 				if (yych <= ')') goto yy181;
25092 				goto yy248;
25093 			} else {
25094 				if (yych <= '-') goto yy251;
25095 				if (yych <= '.') goto yy250;
25096 				goto yy248;
25097 			}
25098 		}
25099 	} else {
25100 		if (yych <= 'Z') {
25101 			if (yych <= '@') {
25102 				if (yych <= '9') goto yy250;
25103 				goto yy248;
25104 			} else {
25105 				if (yych != 'E') goto yy184;
25106 			}
25107 		} else {
25108 			if (yych <= 'd') {
25109 				if (yych <= '`') goto yy248;
25110 				goto yy184;
25111 			} else {
25112 				if (yych <= 'e') goto yy1615;
25113 				if (yych <= 'z') goto yy184;
25114 				goto yy248;
25115 			}
25116 		}
25117 	}
25118 yy1615:
25119 	YYDEBUG(1615, *YYCURSOR);
25120 	yych = *++YYCURSOR;
25121 	if (yych <= 'M') {
25122 		if (yych <= ')') {
25123 			if (yych <= '(') goto yy3;
25124 			goto yy181;
25125 		} else {
25126 			if (yych <= '@') goto yy3;
25127 			if (yych <= 'L') goto yy185;
25128 		}
25129 	} else {
25130 		if (yych <= 'l') {
25131 			if (yych <= 'Z') goto yy185;
25132 			if (yych <= '`') goto yy3;
25133 			goto yy185;
25134 		} else {
25135 			if (yych <= 'm') goto yy1616;
25136 			if (yych <= 'z') goto yy185;
25137 			goto yy3;
25138 		}
25139 	}
25140 yy1616:
25141 	YYDEBUG(1616, *YYCURSOR);
25142 	yych = *++YYCURSOR;
25143 	if (yych <= 'B') {
25144 		if (yych <= ')') {
25145 			if (yych <= '(') goto yy3;
25146 			goto yy181;
25147 		} else {
25148 			if (yych <= '@') goto yy3;
25149 			if (yych <= 'A') goto yy186;
25150 		}
25151 	} else {
25152 		if (yych <= 'a') {
25153 			if (yych <= 'Z') goto yy186;
25154 			if (yych <= '`') goto yy3;
25155 			goto yy186;
25156 		} else {
25157 			if (yych <= 'b') goto yy1617;
25158 			if (yych <= 'z') goto yy186;
25159 			goto yy3;
25160 		}
25161 	}
25162 yy1617:
25163 	YYDEBUG(1617, *YYCURSOR);
25164 	yyaccept = 1;
25165 	yych = *(YYMARKER = ++YYCURSOR);
25166 	if (yych <= 'D') {
25167 		if (yych == ')') goto yy181;
25168 		goto yy3;
25169 	} else {
25170 		if (yych <= 'E') goto yy1618;
25171 		if (yych != 'e') goto yy3;
25172 	}
25173 yy1618:
25174 	YYDEBUG(1618, *YYCURSOR);
25175 	yych = *++YYCURSOR;
25176 	if (yych == 'R') goto yy259;
25177 	if (yych == 'r') goto yy259;
25178 	goto yy55;
25179 yy1619:
25180 	YYDEBUG(1619, *YYCURSOR);
25181 	++YYCURSOR;
25182 	if ((yych = *YYCURSOR) <= '@') {
25183 		if (yych == ')') goto yy181;
25184 	} else {
25185 		if (yych <= 'Z') goto yy185;
25186 		if (yych <= '`') goto yy1620;
25187 		if (yych <= 'z') goto yy185;
25188 	}
25189 yy1620:
25190 	YYDEBUG(1620, *YYCURSOR);
25191 #line 1115 "ext/date/lib/parse_date.re"
25192 	{
25193 		DEBUG_OUTPUT("noon");
25194 		TIMELIB_INIT;
25195 		TIMELIB_UNHAVE_TIME();
25196 		TIMELIB_HAVE_TIME();
25197 		s->time->h = 12;
25198 
25199 		TIMELIB_DEINIT;
25200 		return TIMELIB_RELATIVE;
25201 	}
25202 #line 25203 "<stdout>"
25203 yy1621:
25204 	YYDEBUG(1621, *YYCURSOR);
25205 	yyaccept = 1;
25206 	yych = *(YYMARKER = ++YYCURSOR);
25207 	if (yych <= 'V') {
25208 		if (yych <= '.') {
25209 			if (yych <= ')') {
25210 				if (yych <= '(') goto yy3;
25211 				goto yy181;
25212 			} else {
25213 				if (yych == '-') goto yy189;
25214 				goto yy3;
25215 			}
25216 		} else {
25217 			if (yych <= 'N') {
25218 				if (yych <= '/') goto yy189;
25219 				if (yych <= '@') goto yy3;
25220 				goto yy183;
25221 			} else {
25222 				if (yych <= 'O') goto yy1613;
25223 				if (yych <= 'U') goto yy183;
25224 				goto yy1614;
25225 			}
25226 		}
25227 	} else {
25228 		if (yych <= 'n') {
25229 			if (yych <= '^') {
25230 				if (yych <= 'W') goto yy1611;
25231 				if (yych <= 'Z') goto yy183;
25232 				goto yy3;
25233 			} else {
25234 				if (yych <= '_') goto yy189;
25235 				if (yych <= '`') goto yy3;
25236 				goto yy188;
25237 			}
25238 		} else {
25239 			if (yych <= 'v') {
25240 				if (yych <= 'o') goto yy1628;
25241 				if (yych <= 'u') goto yy188;
25242 				goto yy1629;
25243 			} else {
25244 				if (yych <= 'w') goto yy1627;
25245 				if (yych <= 'z') goto yy188;
25246 				goto yy3;
25247 			}
25248 		}
25249 	}
25250 yy1622:
25251 	YYDEBUG(1622, *YYCURSOR);
25252 	yyaccept = 1;
25253 	yych = *(YYMARKER = ++YYCURSOR);
25254 	if (yych <= 'W') {
25255 		if (yych <= '-') {
25256 			if (yych == ')') goto yy181;
25257 			if (yych <= ',') goto yy3;
25258 			goto yy189;
25259 		} else {
25260 			if (yych == '/') goto yy189;
25261 			if (yych <= '@') goto yy3;
25262 			goto yy183;
25263 		}
25264 	} else {
25265 		if (yych <= '_') {
25266 			if (yych <= 'X') goto yy1610;
25267 			if (yych <= 'Z') goto yy183;
25268 			if (yych <= '^') goto yy3;
25269 			goto yy189;
25270 		} else {
25271 			if (yych <= 'w') {
25272 				if (yych <= '`') goto yy3;
25273 				goto yy188;
25274 			} else {
25275 				if (yych <= 'x') goto yy1626;
25276 				if (yych <= 'z') goto yy188;
25277 				goto yy3;
25278 			}
25279 		}
25280 	}
25281 yy1623:
25282 	YYDEBUG(1623, *YYCURSOR);
25283 	yyaccept = 1;
25284 	yych = *(YYMARKER = ++YYCURSOR);
25285 	if (yych <= 'M') {
25286 		if (yych <= '-') {
25287 			if (yych == ')') goto yy181;
25288 			if (yych <= ',') goto yy3;
25289 			goto yy189;
25290 		} else {
25291 			if (yych == '/') goto yy189;
25292 			if (yych <= '@') goto yy3;
25293 			goto yy183;
25294 		}
25295 	} else {
25296 		if (yych <= '_') {
25297 			if (yych <= 'N') goto yy1608;
25298 			if (yych <= 'Z') goto yy183;
25299 			if (yych <= '^') goto yy3;
25300 			goto yy189;
25301 		} else {
25302 			if (yych <= 'm') {
25303 				if (yych <= '`') goto yy3;
25304 				goto yy188;
25305 			} else {
25306 				if (yych <= 'n') goto yy1624;
25307 				if (yych <= 'z') goto yy188;
25308 				goto yy3;
25309 			}
25310 		}
25311 	}
25312 yy1624:
25313 	YYDEBUG(1624, *YYCURSOR);
25314 	yyaccept = 1;
25315 	yych = *(YYMARKER = ++YYCURSOR);
25316 	if (yych <= 'S') {
25317 		if (yych <= '-') {
25318 			if (yych == ')') goto yy181;
25319 			if (yych <= ',') goto yy3;
25320 			goto yy189;
25321 		} else {
25322 			if (yych == '/') goto yy189;
25323 			if (yych <= '@') goto yy3;
25324 			goto yy184;
25325 		}
25326 	} else {
25327 		if (yych <= '_') {
25328 			if (yych <= 'T') goto yy1609;
25329 			if (yych <= 'Z') goto yy184;
25330 			if (yych <= '^') goto yy3;
25331 			goto yy189;
25332 		} else {
25333 			if (yych <= 's') {
25334 				if (yych <= '`') goto yy3;
25335 				goto yy192;
25336 			} else {
25337 				if (yych <= 't') goto yy1625;
25338 				if (yych <= 'z') goto yy192;
25339 				goto yy3;
25340 			}
25341 		}
25342 	}
25343 yy1625:
25344 	YYDEBUG(1625, *YYCURSOR);
25345 	yyaccept = 1;
25346 	yych = *(YYMARKER = ++YYCURSOR);
25347 	if (yych <= 'G') {
25348 		if (yych <= '-') {
25349 			if (yych == ')') goto yy181;
25350 			if (yych <= ',') goto yy3;
25351 			goto yy189;
25352 		} else {
25353 			if (yych == '/') goto yy189;
25354 			if (yych <= '@') goto yy3;
25355 			goto yy185;
25356 		}
25357 	} else {
25358 		if (yych <= '_') {
25359 			if (yych <= 'H') goto yy1330;
25360 			if (yych <= 'Z') goto yy185;
25361 			if (yych <= '^') goto yy3;
25362 			goto yy189;
25363 		} else {
25364 			if (yych <= 'g') {
25365 				if (yych <= '`') goto yy3;
25366 				goto yy193;
25367 			} else {
25368 				if (yych <= 'h') goto yy1360;
25369 				if (yych <= 'z') goto yy193;
25370 				goto yy3;
25371 			}
25372 		}
25373 	}
25374 yy1626:
25375 	YYDEBUG(1626, *YYCURSOR);
25376 	yyaccept = 1;
25377 	yych = *(YYMARKER = ++YYCURSOR);
25378 	if (yych <= 'S') {
25379 		if (yych <= '-') {
25380 			if (yych == ')') goto yy181;
25381 			if (yych <= ',') goto yy3;
25382 			goto yy189;
25383 		} else {
25384 			if (yych == '/') goto yy189;
25385 			if (yych <= '@') goto yy3;
25386 			goto yy184;
25387 		}
25388 	} else {
25389 		if (yych <= '_') {
25390 			if (yych <= 'T') goto yy1536;
25391 			if (yych <= 'Z') goto yy184;
25392 			if (yych <= '^') goto yy3;
25393 			goto yy189;
25394 		} else {
25395 			if (yych <= 's') {
25396 				if (yych <= '`') goto yy3;
25397 				goto yy192;
25398 			} else {
25399 				if (yych <= 't') goto yy1570;
25400 				if (yych <= 'z') goto yy192;
25401 				goto yy3;
25402 			}
25403 		}
25404 	}
25405 yy1627:
25406 	YYDEBUG(1627, *YYCURSOR);
25407 	yyaccept = 31;
25408 	yych = *(YYMARKER = ++YYCURSOR);
25409 	if (yych <= '/') {
25410 		if (yych <= ',') {
25411 			if (yych == ')') goto yy181;
25412 			goto yy1612;
25413 		} else {
25414 			if (yych == '.') goto yy1612;
25415 			goto yy189;
25416 		}
25417 	} else {
25418 		if (yych <= '^') {
25419 			if (yych <= '@') goto yy1612;
25420 			if (yych <= 'Z') goto yy184;
25421 			goto yy1612;
25422 		} else {
25423 			if (yych <= '_') goto yy189;
25424 			if (yych <= '`') goto yy1612;
25425 			if (yych <= 'z') goto yy192;
25426 			goto yy1612;
25427 		}
25428 	}
25429 yy1628:
25430 	YYDEBUG(1628, *YYCURSOR);
25431 	yyaccept = 1;
25432 	yych = *(YYMARKER = ++YYCURSOR);
25433 	if (yych <= 'M') {
25434 		if (yych <= '-') {
25435 			if (yych == ')') goto yy181;
25436 			if (yych <= ',') goto yy3;
25437 			goto yy189;
25438 		} else {
25439 			if (yych == '/') goto yy189;
25440 			if (yych <= '@') goto yy3;
25441 			goto yy184;
25442 		}
25443 	} else {
25444 		if (yych <= '_') {
25445 			if (yych <= 'N') goto yy1619;
25446 			if (yych <= 'Z') goto yy184;
25447 			if (yych <= '^') goto yy3;
25448 			goto yy189;
25449 		} else {
25450 			if (yych <= 'm') {
25451 				if (yych <= '`') goto yy3;
25452 				goto yy192;
25453 			} else {
25454 				if (yych <= 'n') goto yy1634;
25455 				if (yych <= 'z') goto yy192;
25456 				goto yy3;
25457 			}
25458 		}
25459 	}
25460 yy1629:
25461 	YYDEBUG(1629, *YYCURSOR);
25462 	yyaccept = 5;
25463 	yych = *(YYMARKER = ++YYCURSOR);
25464 	if (yych <= '9') {
25465 		if (yych <= '(') {
25466 			if (yych <= '\t') {
25467 				if (yych <= 0x08) goto yy248;
25468 				goto yy250;
25469 			} else {
25470 				if (yych == ' ') goto yy250;
25471 				goto yy248;
25472 			}
25473 		} else {
25474 			if (yych <= '-') {
25475 				if (yych <= ')') goto yy181;
25476 				if (yych <= ',') goto yy248;
25477 				goto yy377;
25478 			} else {
25479 				if (yych == '/') goto yy189;
25480 				goto yy250;
25481 			}
25482 		}
25483 	} else {
25484 		if (yych <= '^') {
25485 			if (yych <= 'D') {
25486 				if (yych <= '@') goto yy248;
25487 				goto yy184;
25488 			} else {
25489 				if (yych <= 'E') goto yy1615;
25490 				if (yych <= 'Z') goto yy184;
25491 				goto yy248;
25492 			}
25493 		} else {
25494 			if (yych <= 'd') {
25495 				if (yych <= '_') goto yy189;
25496 				if (yych <= '`') goto yy248;
25497 				goto yy192;
25498 			} else {
25499 				if (yych <= 'e') goto yy1630;
25500 				if (yych <= 'z') goto yy192;
25501 				goto yy248;
25502 			}
25503 		}
25504 	}
25505 yy1630:
25506 	YYDEBUG(1630, *YYCURSOR);
25507 	yyaccept = 1;
25508 	yych = *(YYMARKER = ++YYCURSOR);
25509 	if (yych <= 'L') {
25510 		if (yych <= '-') {
25511 			if (yych == ')') goto yy181;
25512 			if (yych <= ',') goto yy3;
25513 			goto yy189;
25514 		} else {
25515 			if (yych == '/') goto yy189;
25516 			if (yych <= '@') goto yy3;
25517 			goto yy185;
25518 		}
25519 	} else {
25520 		if (yych <= '_') {
25521 			if (yych <= 'M') goto yy1616;
25522 			if (yych <= 'Z') goto yy185;
25523 			if (yych <= '^') goto yy3;
25524 			goto yy189;
25525 		} else {
25526 			if (yych <= 'l') {
25527 				if (yych <= '`') goto yy3;
25528 				goto yy193;
25529 			} else {
25530 				if (yych <= 'm') goto yy1631;
25531 				if (yych <= 'z') goto yy193;
25532 				goto yy3;
25533 			}
25534 		}
25535 	}
25536 yy1631:
25537 	YYDEBUG(1631, *YYCURSOR);
25538 	yyaccept = 1;
25539 	yych = *(YYMARKER = ++YYCURSOR);
25540 	if (yych <= 'A') {
25541 		if (yych <= '-') {
25542 			if (yych == ')') goto yy181;
25543 			if (yych <= ',') goto yy3;
25544 			goto yy189;
25545 		} else {
25546 			if (yych == '/') goto yy189;
25547 			if (yych <= '@') goto yy3;
25548 			goto yy186;
25549 		}
25550 	} else {
25551 		if (yych <= '_') {
25552 			if (yych <= 'B') goto yy1617;
25553 			if (yych <= 'Z') goto yy186;
25554 			if (yych <= '^') goto yy3;
25555 			goto yy189;
25556 		} else {
25557 			if (yych <= 'a') {
25558 				if (yych <= '`') goto yy3;
25559 				goto yy194;
25560 			} else {
25561 				if (yych <= 'b') goto yy1632;
25562 				if (yych <= 'z') goto yy194;
25563 				goto yy3;
25564 			}
25565 		}
25566 	}
25567 yy1632:
25568 	YYDEBUG(1632, *YYCURSOR);
25569 	yyaccept = 1;
25570 	yych = *(YYMARKER = ++YYCURSOR);
25571 	if (yych <= 'D') {
25572 		if (yych <= ',') {
25573 			if (yych == ')') goto yy181;
25574 			goto yy3;
25575 		} else {
25576 			if (yych == '.') goto yy3;
25577 			if (yych <= '/') goto yy189;
25578 			goto yy3;
25579 		}
25580 	} else {
25581 		if (yych <= '`') {
25582 			if (yych <= 'E') goto yy1618;
25583 			if (yych == '_') goto yy189;
25584 			goto yy3;
25585 		} else {
25586 			if (yych == 'e') goto yy1633;
25587 			if (yych <= 'z') goto yy195;
25588 			goto yy3;
25589 		}
25590 	}
25591 yy1633:
25592 	YYDEBUG(1633, *YYCURSOR);
25593 	yych = *++YYCURSOR;
25594 	if (yych == 'R') goto yy259;
25595 	if (yych == 'r') goto yy382;
25596 	goto yy196;
25597 yy1634:
25598 	YYDEBUG(1634, *YYCURSOR);
25599 	yyaccept = 32;
25600 	yych = *(YYMARKER = ++YYCURSOR);
25601 	if (yych <= '/') {
25602 		if (yych <= ',') {
25603 			if (yych == ')') goto yy181;
25604 			goto yy1620;
25605 		} else {
25606 			if (yych == '.') goto yy1620;
25607 			goto yy189;
25608 		}
25609 	} else {
25610 		if (yych <= '^') {
25611 			if (yych <= '@') goto yy1620;
25612 			if (yych <= 'Z') goto yy185;
25613 			goto yy1620;
25614 		} else {
25615 			if (yych <= '_') goto yy189;
25616 			if (yych <= '`') goto yy1620;
25617 			if (yych <= 'z') goto yy193;
25618 			goto yy1620;
25619 		}
25620 	}
25621 yy1635:
25622 	YYDEBUG(1635, *YYCURSOR);
25623 	yych = *++YYCURSOR;
25624 	if (yych <= 'S') {
25625 		if (yych <= ')') {
25626 			if (yych <= '(') goto yy3;
25627 			goto yy181;
25628 		} else {
25629 			if (yych <= '@') goto yy3;
25630 			if (yych <= 'R') goto yy183;
25631 		}
25632 	} else {
25633 		if (yych <= 'r') {
25634 			if (yych <= 'Z') goto yy183;
25635 			if (yych <= '`') goto yy3;
25636 			goto yy183;
25637 		} else {
25638 			if (yych <= 's') goto yy1636;
25639 			if (yych <= 'z') goto yy183;
25640 			goto yy3;
25641 		}
25642 	}
25643 yy1636:
25644 	YYDEBUG(1636, *YYCURSOR);
25645 	yych = *++YYCURSOR;
25646 	if (yych <= 'T') {
25647 		if (yych <= ')') {
25648 			if (yych <= '(') goto yy3;
25649 			goto yy181;
25650 		} else {
25651 			if (yych <= '@') goto yy3;
25652 			if (yych <= 'S') goto yy184;
25653 		}
25654 	} else {
25655 		if (yych <= 's') {
25656 			if (yych <= 'Z') goto yy184;
25657 			if (yych <= '`') goto yy3;
25658 			goto yy184;
25659 		} else {
25660 			if (yych <= 't') goto yy1637;
25661 			if (yych <= 'z') goto yy184;
25662 			goto yy3;
25663 		}
25664 	}
25665 yy1637:
25666 	YYDEBUG(1637, *YYCURSOR);
25667 	yych = *++YYCURSOR;
25668 	if (yych <= 'E') {
25669 		if (yych <= ')') {
25670 			if (yych <= '(') goto yy3;
25671 			goto yy181;
25672 		} else {
25673 			if (yych <= '@') goto yy3;
25674 			if (yych <= 'D') goto yy185;
25675 		}
25676 	} else {
25677 		if (yych <= 'd') {
25678 			if (yych <= 'Z') goto yy185;
25679 			if (yych <= '`') goto yy3;
25680 			goto yy185;
25681 		} else {
25682 			if (yych <= 'e') goto yy1638;
25683 			if (yych <= 'z') goto yy185;
25684 			goto yy3;
25685 		}
25686 	}
25687 yy1638:
25688 	YYDEBUG(1638, *YYCURSOR);
25689 	yych = *++YYCURSOR;
25690 	if (yych <= 'R') {
25691 		if (yych <= ')') {
25692 			if (yych <= '(') goto yy3;
25693 			goto yy181;
25694 		} else {
25695 			if (yych <= '@') goto yy3;
25696 			if (yych <= 'Q') goto yy186;
25697 		}
25698 	} else {
25699 		if (yych <= 'q') {
25700 			if (yych <= 'Z') goto yy186;
25701 			if (yych <= '`') goto yy3;
25702 			goto yy186;
25703 		} else {
25704 			if (yych <= 'r') goto yy1639;
25705 			if (yych <= 'z') goto yy186;
25706 			goto yy3;
25707 		}
25708 	}
25709 yy1639:
25710 	YYDEBUG(1639, *YYCURSOR);
25711 	yyaccept = 1;
25712 	yych = *(YYMARKER = ++YYCURSOR);
25713 	if (yych <= 'C') {
25714 		if (yych == ')') goto yy181;
25715 		goto yy3;
25716 	} else {
25717 		if (yych <= 'D') goto yy1640;
25718 		if (yych != 'd') goto yy3;
25719 	}
25720 yy1640:
25721 	YYDEBUG(1640, *YYCURSOR);
25722 	yych = *++YYCURSOR;
25723 	if (yych == 'A') goto yy1641;
25724 	if (yych != 'a') goto yy55;
25725 yy1641:
25726 	YYDEBUG(1641, *YYCURSOR);
25727 	yych = *++YYCURSOR;
25728 	if (yych == 'Y') goto yy1642;
25729 	if (yych != 'y') goto yy55;
25730 yy1642:
25731 	YYDEBUG(1642, *YYCURSOR);
25732 	++YYCURSOR;
25733 yy1643:
25734 	YYDEBUG(1643, *YYCURSOR);
25735 #line 1094 "ext/date/lib/parse_date.re"
25736 	{
25737 		DEBUG_OUTPUT("yesterday");
25738 		TIMELIB_INIT;
25739 		TIMELIB_HAVE_RELATIVE();
25740 		TIMELIB_UNHAVE_TIME();
25741 
25742 		s->time->relative.d = -1;
25743 		TIMELIB_DEINIT;
25744 		return TIMELIB_RELATIVE;
25745 	}
25746 #line 25747 "<stdout>"
25747 yy1644:
25748 	YYDEBUG(1644, *YYCURSOR);
25749 	yyaccept = 1;
25750 	yych = *(YYMARKER = ++YYCURSOR);
25751 	if (yych <= 'R') {
25752 		if (yych <= '-') {
25753 			if (yych == ')') goto yy181;
25754 			if (yych <= ',') goto yy3;
25755 			goto yy189;
25756 		} else {
25757 			if (yych == '/') goto yy189;
25758 			if (yych <= '@') goto yy3;
25759 			goto yy183;
25760 		}
25761 	} else {
25762 		if (yych <= '_') {
25763 			if (yych <= 'S') goto yy1636;
25764 			if (yych <= 'Z') goto yy183;
25765 			if (yych <= '^') goto yy3;
25766 			goto yy189;
25767 		} else {
25768 			if (yych <= 'r') {
25769 				if (yych <= '`') goto yy3;
25770 				goto yy188;
25771 			} else {
25772 				if (yych <= 's') goto yy1645;
25773 				if (yych <= 'z') goto yy188;
25774 				goto yy3;
25775 			}
25776 		}
25777 	}
25778 yy1645:
25779 	YYDEBUG(1645, *YYCURSOR);
25780 	yyaccept = 1;
25781 	yych = *(YYMARKER = ++YYCURSOR);
25782 	if (yych <= 'S') {
25783 		if (yych <= '-') {
25784 			if (yych == ')') goto yy181;
25785 			if (yych <= ',') goto yy3;
25786 			goto yy189;
25787 		} else {
25788 			if (yych == '/') goto yy189;
25789 			if (yych <= '@') goto yy3;
25790 			goto yy184;
25791 		}
25792 	} else {
25793 		if (yych <= '_') {
25794 			if (yych <= 'T') goto yy1637;
25795 			if (yych <= 'Z') goto yy184;
25796 			if (yych <= '^') goto yy3;
25797 			goto yy189;
25798 		} else {
25799 			if (yych <= 's') {
25800 				if (yych <= '`') goto yy3;
25801 				goto yy192;
25802 			} else {
25803 				if (yych <= 't') goto yy1646;
25804 				if (yych <= 'z') goto yy192;
25805 				goto yy3;
25806 			}
25807 		}
25808 	}
25809 yy1646:
25810 	YYDEBUG(1646, *YYCURSOR);
25811 	yyaccept = 1;
25812 	yych = *(YYMARKER = ++YYCURSOR);
25813 	if (yych <= 'D') {
25814 		if (yych <= '-') {
25815 			if (yych == ')') goto yy181;
25816 			if (yych <= ',') goto yy3;
25817 			goto yy189;
25818 		} else {
25819 			if (yych == '/') goto yy189;
25820 			if (yych <= '@') goto yy3;
25821 			goto yy185;
25822 		}
25823 	} else {
25824 		if (yych <= '_') {
25825 			if (yych <= 'E') goto yy1638;
25826 			if (yych <= 'Z') goto yy185;
25827 			if (yych <= '^') goto yy3;
25828 			goto yy189;
25829 		} else {
25830 			if (yych <= 'd') {
25831 				if (yych <= '`') goto yy3;
25832 				goto yy193;
25833 			} else {
25834 				if (yych <= 'e') goto yy1647;
25835 				if (yych <= 'z') goto yy193;
25836 				goto yy3;
25837 			}
25838 		}
25839 	}
25840 yy1647:
25841 	YYDEBUG(1647, *YYCURSOR);
25842 	yyaccept = 1;
25843 	yych = *(YYMARKER = ++YYCURSOR);
25844 	if (yych <= 'Q') {
25845 		if (yych <= '-') {
25846 			if (yych == ')') goto yy181;
25847 			if (yych <= ',') goto yy3;
25848 			goto yy189;
25849 		} else {
25850 			if (yych == '/') goto yy189;
25851 			if (yych <= '@') goto yy3;
25852 			goto yy186;
25853 		}
25854 	} else {
25855 		if (yych <= '_') {
25856 			if (yych <= 'R') goto yy1639;
25857 			if (yych <= 'Z') goto yy186;
25858 			if (yych <= '^') goto yy3;
25859 			goto yy189;
25860 		} else {
25861 			if (yych <= 'q') {
25862 				if (yych <= '`') goto yy3;
25863 				goto yy194;
25864 			} else {
25865 				if (yych <= 'r') goto yy1648;
25866 				if (yych <= 'z') goto yy194;
25867 				goto yy3;
25868 			}
25869 		}
25870 	}
25871 yy1648:
25872 	YYDEBUG(1648, *YYCURSOR);
25873 	yyaccept = 1;
25874 	yych = *(YYMARKER = ++YYCURSOR);
25875 	if (yych <= 'C') {
25876 		if (yych <= ',') {
25877 			if (yych == ')') goto yy181;
25878 			goto yy3;
25879 		} else {
25880 			if (yych == '.') goto yy3;
25881 			if (yych <= '/') goto yy189;
25882 			goto yy3;
25883 		}
25884 	} else {
25885 		if (yych <= '`') {
25886 			if (yych <= 'D') goto yy1640;
25887 			if (yych == '_') goto yy189;
25888 			goto yy3;
25889 		} else {
25890 			if (yych == 'd') goto yy1649;
25891 			if (yych <= 'z') goto yy195;
25892 			goto yy3;
25893 		}
25894 	}
25895 yy1649:
25896 	YYDEBUG(1649, *YYCURSOR);
25897 	yych = *++YYCURSOR;
25898 	if (yych == 'A') goto yy1641;
25899 	if (yych != 'a') goto yy196;
25900 	YYDEBUG(1650, *YYCURSOR);
25901 	yych = *++YYCURSOR;
25902 	if (yych == 'Y') goto yy1642;
25903 	if (yych != 'y') goto yy196;
25904 	YYDEBUG(1651, *YYCURSOR);
25905 	yyaccept = 33;
25906 	yych = *(YYMARKER = ++YYCURSOR);
25907 	if (yybm[0+yych] & 8) {
25908 		goto yy195;
25909 	}
25910 	if (yych <= '.') {
25911 		if (yych == '-') goto yy189;
25912 		goto yy1643;
25913 	} else {
25914 		if (yych <= '/') goto yy189;
25915 		if (yych == '_') goto yy189;
25916 		goto yy1643;
25917 	}
25918 }
25919 #line 1922 "ext/date/lib/parse_date.re"
25920 
25921 }
25922 
25923 #define YYMAXFILL 36
25924 
timelib_strtotime(const char * s,size_t len,timelib_error_container ** errors,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_get_wrapper)25925 timelib_time *timelib_strtotime(const char *s, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
25926 {
25927 	Scanner in;
25928 	int t;
25929 	const char *e = s + len - 1;
25930 
25931 	memset(&in, 0, sizeof(in));
25932 	in.errors = timelib_malloc(sizeof(timelib_error_container));
25933 	in.errors->warning_count = 0;
25934 	in.errors->warning_messages = NULL;
25935 	in.errors->error_count = 0;
25936 	in.errors->error_messages = NULL;
25937 
25938 	if (len > 0) {
25939 		while (isspace(*s) && s < e) {
25940 			s++;
25941 		}
25942 		while (isspace(*e) && e > s) {
25943 			e--;
25944 		}
25945 	}
25946 	if (e - s < 0) {
25947 		in.time = timelib_time_ctor();
25948 		add_error(&in, TIMELIB_ERR_EMPTY_STRING, "Empty string");
25949 		if (errors) {
25950 			*errors = in.errors;
25951 		} else {
25952 			timelib_error_container_dtor(in.errors);
25953 		}
25954 		in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->us = in.time->dst = in.time->z = TIMELIB_UNSET;
25955 		in.time->is_localtime = in.time->zone_type = 0;
25956 		return in.time;
25957 	}
25958 	e++;
25959 
25960 	in.str = timelib_malloc((e - s) + YYMAXFILL);
25961 	memset(in.str, 0, (e - s) + YYMAXFILL);
25962 	memcpy(in.str, s, (e - s));
25963 	in.lim = in.str + (e - s) + YYMAXFILL;
25964 	in.cur = in.str;
25965 	in.time = timelib_time_ctor();
25966 	in.time->y = TIMELIB_UNSET;
25967 	in.time->d = TIMELIB_UNSET;
25968 	in.time->m = TIMELIB_UNSET;
25969 	in.time->h = TIMELIB_UNSET;
25970 	in.time->i = TIMELIB_UNSET;
25971 	in.time->s = TIMELIB_UNSET;
25972 	in.time->us = TIMELIB_UNSET;
25973 	in.time->z = TIMELIB_UNSET;
25974 	in.time->dst = TIMELIB_UNSET;
25975 	in.tzdb = tzdb;
25976 	in.time->is_localtime = 0;
25977 	in.time->zone_type = 0;
25978 	in.time->relative.days = TIMELIB_UNSET;
25979 
25980 	do {
25981 		t = scan(&in, tz_get_wrapper);
25982 #ifdef DEBUG_PARSER
25983 		printf("%d\n", t);
25984 #endif
25985 	} while(t != EOI);
25986 
25987 	/* do funky checking whether the parsed time was valid time */
25988 	if (in.time->have_time && !timelib_valid_time( in.time->h, in.time->i, in.time->s)) {
25989 		add_warning(&in, TIMELIB_WARN_INVALID_TIME, "The parsed time was invalid");
25990 	}
25991 	/* do funky checking whether the parsed date was valid date */
25992 	if (in.time->have_date && !timelib_valid_date( in.time->y, in.time->m, in.time->d)) {
25993 		add_warning(&in, TIMELIB_WARN_INVALID_DATE, "The parsed date was invalid");
25994 	}
25995 
25996 	timelib_free(in.str);
25997 	if (errors) {
25998 		*errors = in.errors;
25999 	} else {
26000 		timelib_error_container_dtor(in.errors);
26001 	}
26002 	return in.time;
26003 }
26004 
26005 #define TIMELIB_CHECK_NUMBER                                           \
26006 		if (strchr("0123456789", *ptr) == NULL)                        \
26007 		{                                                              \
26008 			add_pbf_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Unexpected data found.", string, begin); \
26009 		}
26010 #define TIMELIB_CHECK_SIGNED_NUMBER                                    \
26011 		if (strchr("-0123456789", *ptr) == NULL)                       \
26012 		{                                                              \
26013 			add_pbf_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Unexpected data found.", string, begin); \
26014 		}
26015 
timelib_time_reset_fields(timelib_time * time)26016 static void timelib_time_reset_fields(timelib_time *time)
26017 {
26018 	assert(time != NULL);
26019 
26020 	time->y = 1970;
26021 	time->m = 1;
26022 	time->d = 1;
26023 	time->h = time->i = time->s = 0;
26024 	time->us = 0;
26025 	time->tz_info = NULL;
26026 }
26027 
timelib_time_reset_unset_fields(timelib_time * time)26028 static void timelib_time_reset_unset_fields(timelib_time *time)
26029 {
26030 	assert(time != NULL);
26031 
26032 	if (time->y == TIMELIB_UNSET ) time->y = 1970;
26033 	if (time->m == TIMELIB_UNSET ) time->m = 1;
26034 	if (time->d == TIMELIB_UNSET ) time->d = 1;
26035 	if (time->h == TIMELIB_UNSET ) time->h = 0;
26036 	if (time->i == TIMELIB_UNSET ) time->i = 0;
26037 	if (time->s == TIMELIB_UNSET ) time->s = 0;
26038 	if (time->us == TIMELIB_UNSET ) time->us = 0;
26039 }
26040 
26041 static const timelib_format_specifier default_format_map[] = {
26042 	{'+', TIMELIB_FORMAT_ALLOW_EXTRA_CHARACTERS},
26043 	{'#', TIMELIB_FORMAT_ANY_SEPARATOR},
26044 	{'j', TIMELIB_FORMAT_DAY_TWO_DIGIT},
26045 	{'d', TIMELIB_FORMAT_DAY_TWO_DIGIT_PADDED},
26046 	{'z', TIMELIB_FORMAT_DAY_OF_YEAR},
26047 	{'S', TIMELIB_FORMAT_DAY_SUFFIX},
26048 	{'U', TIMELIB_FORMAT_EPOCH_SECONDS},
26049 	{'\\', TIMELIB_FORMAT_ESCAPE},
26050 	{'h', TIMELIB_FORMAT_HOUR_TWO_DIGIT_12_MAX},
26051 	{'g', TIMELIB_FORMAT_HOUR_TWO_DIGIT_12_MAX_PADDED},
26052 	{'H', TIMELIB_FORMAT_HOUR_TWO_DIGIT_24_MAX},
26053 	{'G', TIMELIB_FORMAT_HOUR_TWO_DIGIT_24_MAX_PADDED},
26054 	{'a', TIMELIB_FORMAT_MERIDIAN},
26055 	{'A', TIMELIB_FORMAT_MERIDIAN},
26056 	{'u', TIMELIB_FORMAT_MICROSECOND_SIX_DIGIT},
26057 	{'v', TIMELIB_FORMAT_MILLISECOND_THREE_DIGIT},
26058 	{'i', TIMELIB_FORMAT_MINUTE_TWO_DIGIT},
26059 	{'n', TIMELIB_FORMAT_MONTH_TWO_DIGIT},
26060 	{'m', TIMELIB_FORMAT_MONTH_TWO_DIGIT_PADDED},
26061 	{'?', TIMELIB_FORMAT_RANDOM_CHAR},
26062 	{'!', TIMELIB_FORMAT_RESET_ALL},
26063 	{'|', TIMELIB_FORMAT_RESET_ALL_WHEN_NOT_SET},
26064 	{'s', TIMELIB_FORMAT_SECOND_TWO_DIGIT},
26065 	{';', TIMELIB_FORMAT_SEPARATOR},
26066 	{':', TIMELIB_FORMAT_SEPARATOR},
26067 	{'/', TIMELIB_FORMAT_SEPARATOR},
26068 	{'.', TIMELIB_FORMAT_SEPARATOR},
26069 	{',', TIMELIB_FORMAT_SEPARATOR},
26070 	{'-', TIMELIB_FORMAT_SEPARATOR},
26071 	{'(', TIMELIB_FORMAT_SEPARATOR},
26072 	{')', TIMELIB_FORMAT_SEPARATOR},
26073 	{'*', TIMELIB_FORMAT_SKIP_TO_SEPARATOR},
26074 	{'D', TIMELIB_FORMAT_TEXTUAL_DAY_3_LETTER},
26075 	{'l', TIMELIB_FORMAT_TEXTUAL_DAY_FULL},
26076 	{'M', TIMELIB_FORMAT_TEXTUAL_MONTH_3_LETTER},
26077 	{'F', TIMELIB_FORMAT_TEXTUAL_MONTH_FULL},
26078 	{'e', TIMELIB_FORMAT_TIMEZONE_OFFSET},
26079 	{'P', TIMELIB_FORMAT_TIMEZONE_OFFSET},
26080 	{'p', TIMELIB_FORMAT_TIMEZONE_OFFSET},
26081 	{'T', TIMELIB_FORMAT_TIMEZONE_OFFSET},
26082 	{'O', TIMELIB_FORMAT_TIMEZONE_OFFSET},
26083 	{' ', TIMELIB_FORMAT_WHITESPACE},
26084 	{'y', TIMELIB_FORMAT_YEAR_TWO_DIGIT},
26085 	{'Y', TIMELIB_FORMAT_YEAR_FOUR_DIGIT},
26086 	{'\0', TIMELIB_FORMAT_END}
26087 };
26088 
26089 static const timelib_format_config default_format_config = {
26090 	default_format_map,
26091 	// No prefix required by default.
26092 	'\0'
26093 };
26094 
timelib_lookup_format(char input,const timelib_format_specifier * format_map)26095 static timelib_format_specifier_code timelib_lookup_format(char input, const timelib_format_specifier* format_map)
26096 {
26097 	while (format_map && format_map->specifier != '\0') {
26098 		if (format_map->specifier == input) {
26099 			return format_map->code;
26100 		}
26101 		format_map++;
26102 	}
26103 	return TIMELIB_FORMAT_LITERAL;
26104 }
26105 
timelib_parse_from_format(const char * format,const char * string,size_t len,timelib_error_container ** errors,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_get_wrapper)26106 timelib_time *timelib_parse_from_format(const char *format, const char *string, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
26107 {
26108 	return timelib_parse_from_format_with_map(format, string, len, errors, tzdb, tz_get_wrapper, &default_format_config);
26109 }
26110 
timelib_parse_from_format_with_map(const char * format,const char * string,size_t len,timelib_error_container ** errors,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_get_wrapper,const timelib_format_config * format_config)26111 timelib_time *timelib_parse_from_format_with_map(const char *format, const char *string, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper, const timelib_format_config* format_config)
26112 {
26113 	const char  *fptr = format;
26114 	const char  *ptr = string;
26115 	const char  *begin;
26116 	timelib_sll  tmp;
26117 	Scanner      in;
26118 	Scanner     *s = &in;
26119 	bool         allow_extra = false;
26120 	bool         prefix_found = false;
26121 	int          iso_year = TIMELIB_UNSET;
26122 	int          iso_week_of_year = TIMELIB_UNSET;
26123 	int          iso_day_of_week = TIMELIB_UNSET;
26124 	char         prefix_char = format_config->prefix_char;
26125 	const timelib_format_specifier *format_map = format_config->format_map;
26126 
26127 	memset(&in, 0, sizeof(in));
26128 	in.errors = timelib_malloc(sizeof(timelib_error_container));
26129 	in.errors->warning_count = 0;
26130 	in.errors->warning_messages = NULL;
26131 	in.errors->error_count = 0;
26132 	in.errors->error_messages = NULL;
26133 
26134 	in.time = timelib_time_ctor();
26135 	in.time->y = TIMELIB_UNSET;
26136 	in.time->d = TIMELIB_UNSET;
26137 	in.time->m = TIMELIB_UNSET;
26138 	in.time->h = TIMELIB_UNSET;
26139 	in.time->i = TIMELIB_UNSET;
26140 	in.time->s = TIMELIB_UNSET;
26141 	in.time->us = TIMELIB_UNSET;
26142 	in.time->z = TIMELIB_UNSET;
26143 	in.time->dst = TIMELIB_UNSET;
26144 	in.tzdb = tzdb;
26145 	in.time->is_localtime = 0;
26146 	in.time->zone_type = 0;
26147 
26148 	/* Loop over the format string */
26149 	while (*fptr && *ptr) {
26150 		begin = ptr;
26151 
26152 		if (prefix_char) {
26153 			/* There are 2 cases where the input string and format string
26154 			 * should match the next literal:
26155 			 *
26156 			 * 1. No prefix has been specified yet in the format, so expect 1:1
26157 			 *    match.
26158 			 * 2. Sequential prefix characters indicating that the second
26159 			 *    prefix is escaped. (e.g. "%%" is expecting literal "%")
26160 			 */
26161 			if ((!prefix_found && *fptr != prefix_char) ||
26162 				(prefix_found && *fptr == prefix_char)) {
26163 				if (*fptr != *ptr) {
26164 					add_pbf_error(s, TIMELIB_ERR_FORMAT_LITERAL_MISMATCH, "Format literal not found", string, begin);
26165 				}
26166 				ptr++;
26167 				fptr++;
26168 				prefix_found = false;
26169 				continue;
26170 			}
26171 
26172 			if (*fptr == prefix_char) {
26173 				fptr++;
26174 				prefix_found = true;
26175 				continue;
26176 			}
26177 
26178 			/* Fall through case is that the prefix has been found and the next
26179 			 * character is the format specifier. */
26180 			prefix_found = false;
26181 		}
26182 
26183 		switch (timelib_lookup_format(*fptr, format_map)) {
26184 			case TIMELIB_FORMAT_TEXTUAL_DAY_3_LETTER: /* three letter day */
26185 			case TIMELIB_FORMAT_TEXTUAL_DAY_FULL: /* full day */
26186 				{
26187 					const timelib_relunit* tmprel = 0;
26188 
26189 					tmprel = timelib_lookup_relunit(&ptr);
26190 					if (!tmprel) {
26191 						add_pbf_error(s, TIMELIB_ERR_NO_TEXTUAL_DAY, "A textual day could not be found", string, begin);
26192 						break;
26193 					} else {
26194 						in.time->have_relative = 1;
26195 						in.time->relative.have_weekday_relative = 1;
26196 						in.time->relative.weekday = tmprel->multiplier;
26197 						in.time->relative.weekday_behavior = 1;
26198 					}
26199 				}
26200 				break;
26201 			case TIMELIB_FORMAT_DAY_TWO_DIGIT: /* two digit day, without leading zero */
26202 			case TIMELIB_FORMAT_DAY_TWO_DIGIT_PADDED: /* two digit day, with leading zero */
26203 				TIMELIB_CHECK_NUMBER;
26204 				if ((s->time->d = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
26205 					add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_DAY, "A two digit day could not be found", string, begin);
26206 					break;
26207 				}
26208 
26209 				s->time->have_date = 1;
26210 				break;
26211 			case TIMELIB_FORMAT_DAY_SUFFIX: /* day suffix, ignored, nor checked */
26212 				timelib_skip_day_suffix(&ptr);
26213 				break;
26214 			case TIMELIB_FORMAT_DAY_OF_YEAR: /* day of year - resets month (0 based) - also initializes everything else to !TIMELIB_UNSET */
26215 				TIMELIB_CHECK_NUMBER;
26216 				if (s->time->y == TIMELIB_UNSET) {
26217 					add_pbf_error(s, TIMELIB_ERR_MERIDIAN_BEFORE_HOUR, "A 'day of year' can only come after a year has been found", string, begin);
26218 				}
26219 				if ((tmp = timelib_get_nr(&ptr, 3)) == TIMELIB_UNSET) {
26220 					add_pbf_error(s, TIMELIB_ERR_NO_THREE_DIGIT_DAY_OF_YEAR, "A three digit day-of-year could not be found", string, begin);
26221 					break;
26222 				}
26223 
26224 				if (s->time->y != TIMELIB_UNSET) {
26225 					s->time->have_date = 1;
26226 					s->time->m = 1;
26227 					s->time->d = tmp + 1;
26228 					timelib_do_normalize(s->time);
26229 				}
26230 				break;
26231 
26232 			case TIMELIB_FORMAT_MONTH_TWO_DIGIT: /* two digit month, without leading zero */
26233 			case TIMELIB_FORMAT_MONTH_TWO_DIGIT_PADDED: /* two digit month, with leading zero */
26234 				TIMELIB_CHECK_NUMBER;
26235 				if ((s->time->m = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
26236 					add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_MONTH, "A two digit month could not be found", string, begin);
26237 					break;
26238 				}
26239 				s->time->have_date = 1;
26240 				break;
26241 			case TIMELIB_FORMAT_TEXTUAL_MONTH_3_LETTER: /* three letter month */
26242 			case TIMELIB_FORMAT_TEXTUAL_MONTH_FULL: /* full month */
26243 				tmp = timelib_lookup_month(&ptr);
26244 				if (!tmp) {
26245 					add_pbf_error(s, TIMELIB_ERR_NO_TEXTUAL_MONTH, "A textual month could not be found", string, begin);
26246 					break;
26247 				}
26248 
26249 				s->time->have_date = 1;
26250 				s->time->m = tmp;
26251 				break;
26252 			case TIMELIB_FORMAT_YEAR_TWO_DIGIT: /* two digit year */
26253 				{
26254 					int length = 0;
26255 					TIMELIB_CHECK_NUMBER;
26256 					if ((s->time->y = timelib_get_nr_ex(&ptr, 2, &length)) == TIMELIB_UNSET) {
26257 						add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_YEAR, "A two digit year could not be found", string, begin);
26258 						break;
26259 					}
26260 
26261 					s->time->have_date = 1;
26262 					TIMELIB_PROCESS_YEAR(s->time->y, length);
26263 				}
26264 				break;
26265 			case TIMELIB_FORMAT_YEAR_FOUR_DIGIT: /* four digit year */
26266 				TIMELIB_CHECK_NUMBER;
26267 				if ((s->time->y = timelib_get_nr(&ptr, 4)) == TIMELIB_UNSET) {
26268 					add_pbf_error(s, TIMELIB_ERR_NO_FOUR_DIGIT_YEAR, "A four digit year could not be found", string, begin);
26269 					break;
26270 				}
26271 
26272 				s->time->have_date = 1;
26273 				break;
26274 			case TIMELIB_FORMAT_HOUR_TWO_DIGIT_12_MAX: /* two digit hour, without leading zero */
26275 			case TIMELIB_FORMAT_HOUR_TWO_DIGIT_12_MAX_PADDED: /* two digit hour, with leading zero */
26276 				TIMELIB_CHECK_NUMBER;
26277 				if ((s->time->h = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
26278 					add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_HOUR, "A two digit hour could not be found", string, begin);
26279 					break;
26280 				}
26281 				if (s->time->h > 12) {
26282 					add_pbf_error(s, TIMELIB_ERR_HOUR_LARGER_THAN_12, "Hour cannot be higher than 12", string, begin);
26283 					break;
26284 				}
26285 
26286 				s->time->have_time = 1;
26287 				break;
26288 			case TIMELIB_FORMAT_HOUR_TWO_DIGIT_24_MAX_PADDED: /* two digit hour, with leading zero */
26289 			case TIMELIB_FORMAT_HOUR_TWO_DIGIT_24_MAX: /* two digit hour, without leading zero */
26290 				TIMELIB_CHECK_NUMBER;
26291 				if ((s->time->h = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
26292 					add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_HOUR, "A two digit hour could not be found", string, begin);
26293 					break;
26294 				}
26295 
26296 				s->time->have_time = 1;
26297 				break;
26298 			case TIMELIB_FORMAT_MERIDIAN: /* am/pm/a.m./p.m. AM/PM/A.M./P.M. */
26299 				if (s->time->h == TIMELIB_UNSET) {
26300 					add_pbf_error(s, TIMELIB_ERR_MERIDIAN_BEFORE_HOUR, "Meridian can only come after an hour has been found", string, begin);
26301 				}
26302 				if ((tmp = timelib_meridian_with_check(&ptr, s->time->h)) == TIMELIB_UNSET) {
26303 					add_pbf_error(s, TIMELIB_ERR_NO_MERIDIAN, "A meridian could not be found", string, begin);
26304 					break;
26305 				}
26306 
26307 				s->time->have_time = 1;
26308 				if (s->time->h != TIMELIB_UNSET) {
26309 					s->time->h += tmp;
26310 				}
26311 				break;
26312 			case TIMELIB_FORMAT_MINUTE_TWO_DIGIT: /* two digit minute, with leading zero */
26313 				{
26314 					int length;
26315 					timelib_sll min;
26316 
26317 					TIMELIB_CHECK_NUMBER;
26318 					min = timelib_get_nr_ex(&ptr, 2, &length);
26319 					if (min == TIMELIB_UNSET || length != 2) {
26320 						add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_MINUTE, "A two digit minute could not be found", string, begin);
26321 						break;
26322 					}
26323 
26324 					s->time->have_time = 1;
26325 					s->time->i = min;
26326 				}
26327 				break;
26328 			case TIMELIB_FORMAT_SECOND_TWO_DIGIT: /* two digit second, with leading zero */
26329 				{
26330 					int length;
26331 					timelib_sll sec;
26332 
26333 					TIMELIB_CHECK_NUMBER;
26334 					sec = timelib_get_nr_ex(&ptr, 2, &length);
26335 					if (sec == TIMELIB_UNSET || length != 2) {
26336 						add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_SECOND, "A two digit second could not be found", string, begin);
26337 						break;
26338 					}
26339 
26340 					s->time->have_time = 1;
26341 					s->time->s = sec;
26342 				}
26343 				break;
26344 			case TIMELIB_FORMAT_MICROSECOND_SIX_DIGIT: /* up to six digit microsecond */
26345 				{
26346 					double f;
26347 					const char *tptr;
26348 
26349 					TIMELIB_CHECK_NUMBER;
26350 					tptr = ptr;
26351 					if ((f = timelib_get_nr(&ptr, 6)) == TIMELIB_UNSET || (ptr - tptr < 1)) {
26352 						add_pbf_error(s, TIMELIB_ERR_NO_SIX_DIGIT_MICROSECOND, "A six digit microsecond could not be found", string, begin);
26353 						break;
26354 					}
26355 
26356 					s->time->us = (f * pow(10, 6 - (ptr - tptr)));
26357 				}
26358 				break;
26359 			case TIMELIB_FORMAT_MILLISECOND_THREE_DIGIT: /* up to three digit millisecond */
26360 				{
26361 					double f;
26362 					const char *tptr;
26363 
26364 					TIMELIB_CHECK_NUMBER;
26365 					tptr = ptr;
26366 					if ((f = timelib_get_nr(&ptr, 3)) == TIMELIB_UNSET || (ptr - tptr < 1)) {
26367 						add_pbf_error(s, TIMELIB_ERR_NO_THREE_DIGIT_MILLISECOND, "A three digit millisecond could not be found", string, begin);
26368 						break;
26369 					}
26370 
26371 					s->time->us = (f * pow(10, 3 - (ptr - tptr)) * 1000);
26372 				}
26373 				break;
26374 			case TIMELIB_FORMAT_WHITESPACE: /* any sort of whitespace (' ' and \t) */
26375 				timelib_eat_spaces(&ptr);
26376 				break;
26377 			case TIMELIB_FORMAT_EPOCH_SECONDS: /* epoch seconds */
26378 				TIMELIB_CHECK_SIGNED_NUMBER;
26379 				tmp = timelib_get_signed_nr(s, &ptr, 24);
26380 				s->time->have_zone = 1;
26381 				s->time->sse = tmp;
26382 				s->time->is_localtime = 1;
26383 				s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
26384 				s->time->z = 0;
26385 				s->time->dst = 0;
26386 				timelib_update_from_sse(s->time);
26387 				break;
26388 
26389 			case TIMELIB_FORMAT_ANY_SEPARATOR: /* separation symbol */
26390 				if (timelib_lookup_format(*ptr, format_map) != TIMELIB_FORMAT_SEPARATOR) {
26391 					add_pbf_error(s, TIMELIB_ERR_NO_SEP_SYMBOL, "The separation symbol ([;:/.,-]) could not be found", string, begin);
26392 					break;
26393 				}
26394 
26395 				++ptr;
26396 				break;
26397 
26398 			case TIMELIB_FORMAT_SEPARATOR:
26399 				if (*ptr != *fptr) {
26400 					add_pbf_error(s, TIMELIB_ERR_NO_SEP_SYMBOL, "The separation symbol could not be found", string, begin);
26401 					break;
26402 				}
26403 
26404 				++ptr;
26405 				break;
26406 
26407 			case TIMELIB_FORMAT_RESET_ALL: /* reset all fields to default */
26408 				timelib_time_reset_fields(s->time);
26409 				break; /* break intentionally not missing */
26410 
26411 			case TIMELIB_FORMAT_RESET_ALL_WHEN_NOT_SET: /* reset all fields to default when not set */
26412 				timelib_time_reset_unset_fields(s->time);
26413 				break; /* break intentionally not missing */
26414 
26415 			case TIMELIB_FORMAT_RANDOM_CHAR: /* random char */
26416 				++ptr;
26417 				break;
26418 
26419 			case TIMELIB_FORMAT_ESCAPE: /* escaped char */
26420 				if (!fptr[1]) {
26421 					add_pbf_error(s, TIMELIB_ERR_EXPECTED_ESCAPE_CHAR, "Escaped character expected", string, begin);
26422 					break;
26423 				}
26424 				fptr++;
26425 				if (*ptr != *fptr) {
26426 					add_pbf_error(s, TIMELIB_ERR_NO_ESCAPED_CHAR, "The escaped character could not be found", string, begin);
26427 					break;
26428 				}
26429 
26430 				++ptr;
26431 				break;
26432 
26433 			case TIMELIB_FORMAT_SKIP_TO_SEPARATOR: /* random chars until a separator or number ([ \t.,:;/-0123456789]) */
26434 				timelib_eat_until_separator(&ptr);
26435 				break;
26436 
26437 			case TIMELIB_FORMAT_ALLOW_EXTRA_CHARACTERS: /* allow extra chars in the format */
26438 				allow_extra = true;
26439 				break;
26440 			case TIMELIB_FORMAT_YEAR_ISO:
26441 				if ((iso_year = timelib_get_nr(&ptr, 4)) == TIMELIB_UNSET) {
26442 					add_pbf_error(s, TIMELIB_ERR_NO_FOUR_DIGIT_YEAR_ISO, "A four digit ISO year could not be found", string, begin);
26443 					break;
26444 				}
26445 
26446 				s->time->have_date = 1;
26447 				break;
26448 			case TIMELIB_FORMAT_WEEK_OF_YEAR_ISO:
26449 				if ((iso_week_of_year = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
26450 					add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_WEEK, "A two digit ISO week could not be found", string, begin);
26451 					break;
26452 				}
26453 				/* Range is 1 - 53  for ISO week of year */
26454 				if (iso_week_of_year < 1 || iso_week_of_year > 53) {
26455 					add_pbf_error(s, TIMELIB_ERR_INVALID_WEEK, "ISO Week must be between 1 and 53", string, begin);
26456 					break;
26457 				}
26458 
26459 				s->time->have_date = 1;
26460 				break;
26461 			case TIMELIB_FORMAT_DAY_OF_WEEK_ISO:
26462 				if ((iso_day_of_week = timelib_get_nr(&ptr, 1)) == TIMELIB_UNSET) {
26463 					add_pbf_error(s, TIMELIB_ERR_NO_DAY_OF_WEEK, "A single digit day of week could not be found", string, begin);
26464 					break;
26465 				}
26466 				if (iso_day_of_week < 1 || iso_day_of_week > 7) {
26467 					add_pbf_error(s, TIMELIB_ERR_INVALID_DAY_OF_WEEK, "Day of week must be between 1 and 7", string, begin);
26468 					break;
26469 				}
26470 
26471 				s->time->have_date = 1;
26472 				break;
26473 			case TIMELIB_FORMAT_TIMEZONE_OFFSET: /* timezone */
26474 				{
26475 					int tz_not_found;
26476 
26477 					s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
26478 					if (tz_not_found) {
26479 						add_pbf_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database", string, begin);
26480 						break;
26481 					}
26482 
26483 					s->time->have_zone = 1;
26484 				}
26485 				break;
26486 			case TIMELIB_FORMAT_TIMEZONE_OFFSET_MINUTES: /* timezone format +/-mmm */
26487 				s->time->z = timelib_parse_tz_minutes(&ptr, s->time);
26488 				if (s->time->z == TIMELIB_UNSET) {
26489 					add_pbf_error(s, TIMELIB_ERR_INVALID_TZ_OFFSET, "Invalid timezone offset in minutes", string, begin);
26490 					break;
26491 				}
26492 
26493 				s->time->have_zone = 1;
26494 				break;
26495 			case TIMELIB_FORMAT_LITERAL:
26496 			default:
26497 				if (*fptr != *ptr) {
26498 					add_pbf_error(s, TIMELIB_ERR_WRONG_FORMAT_SEP, "The format separator does not match", string, begin);
26499 				}
26500 				ptr++;
26501 		}
26502 		fptr++;
26503 	}
26504 	if (*ptr) {
26505 		if (allow_extra) {
26506 			add_pbf_warning(s, TIMELIB_WARN_TRAILING_DATA, "Trailing data", string, ptr);
26507 		} else {
26508 			add_pbf_error(s, TIMELIB_ERR_TRAILING_DATA, "Trailing data", string, ptr);
26509 		}
26510 	}
26511 
26512 	if (*fptr) {
26513 		/* Trailing reset specifiers are valid. */
26514 		int done = 0;
26515 		while (*fptr && !done) {
26516 			switch (timelib_lookup_format(*fptr, format_map)) {
26517 				case TIMELIB_FORMAT_RESET_ALL: /* reset all fields to default */
26518 					timelib_time_reset_fields(s->time);
26519 					break;
26520 
26521 				case TIMELIB_FORMAT_RESET_ALL_WHEN_NOT_SET: /* reset all fields to default when not set */
26522 					timelib_time_reset_unset_fields(s->time);
26523 					break;
26524 				case TIMELIB_FORMAT_ALLOW_EXTRA_CHARACTERS:
26525 					break;
26526 
26527 				default:
26528 					add_pbf_error(s, TIMELIB_ERR_DATA_MISSING, "Not enough data available to satisfy format", string, ptr);
26529 					done = 1;
26530 			}
26531 			fptr++;
26532 		}
26533 	}
26534 
26535 	/* clean up a bit */
26536 	if (s->time->h != TIMELIB_UNSET || s->time->i != TIMELIB_UNSET || s->time->s != TIMELIB_UNSET || s->time->us != TIMELIB_UNSET) {
26537 		if (s->time->h == TIMELIB_UNSET ) {
26538 			s->time->h = 0;
26539 		}
26540 		if (s->time->i == TIMELIB_UNSET ) {
26541 			s->time->i = 0;
26542 		}
26543 		if (s->time->s == TIMELIB_UNSET ) {
26544 			s->time->s = 0;
26545 		}
26546 		if (s->time->us == TIMELIB_UNSET ) {
26547 			s->time->us = 0;
26548 		}
26549 	}
26550 
26551 	/* Check for mixing of ISO dates with natural dates. */
26552 	if (s->time->y != TIMELIB_UNSET && (iso_week_of_year != TIMELIB_UNSET || iso_year != TIMELIB_UNSET || iso_day_of_week != TIMELIB_UNSET)) {
26553 		add_pbf_error(s, TIMELIB_ERR_MIX_ISO_WITH_NATURAL, "Mixing of ISO dates with natural dates is not allowed", string, ptr);
26554 	}
26555 	if (iso_year != TIMELIB_UNSET && (s->time->y != TIMELIB_UNSET || s->time->m != TIMELIB_UNSET || s->time->d != TIMELIB_UNSET)) {
26556 		add_pbf_error(s, TIMELIB_ERR_MIX_ISO_WITH_NATURAL, "Mixing of ISO dates with natural dates is not allowed", string, ptr);
26557 	}
26558 
26559 	/* Convert ISO values */
26560 	if (iso_year != TIMELIB_UNSET) {
26561 		/* Default week of year and day of week to 1. */
26562 		if (iso_week_of_year == TIMELIB_UNSET) {
26563 			iso_week_of_year = 1;
26564 		}
26565 		if (iso_day_of_week == TIMELIB_UNSET) {
26566 			iso_day_of_week = 1;
26567 		}
26568 		timelib_date_from_isodate(iso_year, iso_week_of_year, iso_day_of_week, &s->time->y, &s->time->m, &s->time->d);
26569 	} else if (iso_week_of_year != TIMELIB_UNSET || iso_day_of_week != TIMELIB_UNSET) {
26570 		add_pbf_warning(s, TIMELIB_WARN_INVALID_DATE, "The parsed date was invalid", string, ptr);
26571 	}
26572 
26573 	/* do funky checking whether the parsed time was valid time */
26574 	if (s->time->h != TIMELIB_UNSET && s->time->i != TIMELIB_UNSET &&
26575 		s->time->s != TIMELIB_UNSET &&
26576 		!timelib_valid_time( s->time->h, s->time->i, s->time->s)) {
26577 		add_pbf_warning(s, TIMELIB_WARN_INVALID_TIME, "The parsed time was invalid", string, ptr);
26578 	}
26579 	/* do funky checking whether the parsed date was valid date */
26580 	if (s->time->y != TIMELIB_UNSET && s->time->m != TIMELIB_UNSET &&
26581 		s->time->d != TIMELIB_UNSET &&
26582 		!timelib_valid_date( s->time->y, s->time->m, s->time->d)) {
26583 		add_pbf_warning(s, TIMELIB_WARN_INVALID_DATE, "The parsed date was invalid", string, ptr);
26584 	}
26585 
26586 	if (errors) {
26587 		*errors = in.errors;
26588 	} else {
26589 		timelib_error_container_dtor(in.errors);
26590 	}
26591 	return in.time;
26592 }
26593 
timelib_fill_holes(timelib_time * parsed,timelib_time * now,int options)26594 void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options)
26595 {
26596 	if (!(options & TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) {
26597 		parsed->h = 0;
26598 		parsed->i = 0;
26599 		parsed->s = 0;
26600 		parsed->us = 0;
26601 	}
26602 	if (
26603 		parsed->y != TIMELIB_UNSET || parsed->m != TIMELIB_UNSET || parsed->d != TIMELIB_UNSET ||
26604 		parsed->h != TIMELIB_UNSET || parsed->i != TIMELIB_UNSET || parsed->s != TIMELIB_UNSET
26605 	) {
26606 		if (parsed->us == TIMELIB_UNSET) parsed->us = 0;
26607 	} else {
26608 		if (parsed->us == TIMELIB_UNSET) parsed->us = now->us != TIMELIB_UNSET ? now->us : 0;
26609 	}
26610 	if (parsed->y == TIMELIB_UNSET) parsed->y = now->y != TIMELIB_UNSET ? now->y : 0;
26611 	if (parsed->m == TIMELIB_UNSET) parsed->m = now->m != TIMELIB_UNSET ? now->m : 0;
26612 	if (parsed->d == TIMELIB_UNSET) parsed->d = now->d != TIMELIB_UNSET ? now->d : 0;
26613 	if (parsed->h == TIMELIB_UNSET) parsed->h = now->h != TIMELIB_UNSET ? now->h : 0;
26614 	if (parsed->i == TIMELIB_UNSET) parsed->i = now->i != TIMELIB_UNSET ? now->i : 0;
26615 	if (parsed->s == TIMELIB_UNSET) parsed->s = now->s != TIMELIB_UNSET ? now->s : 0;
26616 
26617 	if (!parsed->tz_info) {
26618 		parsed->tz_info = now->tz_info ? (!(options & TIMELIB_NO_CLONE) ? timelib_tzinfo_clone(now->tz_info) : now->tz_info) : NULL;
26619 
26620 		if (parsed->z == TIMELIB_UNSET) parsed->z = now->z != TIMELIB_UNSET ? now->z : 0;
26621 		if (parsed->dst == TIMELIB_UNSET) parsed->dst = now->dst != TIMELIB_UNSET ? now->dst : 0;
26622 
26623 		if (!parsed->tz_abbr) {
26624 			parsed->tz_abbr = now->tz_abbr ? timelib_strdup(now->tz_abbr) : NULL;
26625 		}
26626 	}
26627 
26628 	if (parsed->zone_type == 0 && now->zone_type != 0) {
26629 		parsed->zone_type = now->zone_type;
26630 /*		parsed->tz_abbr = now->tz_abbr ? timelib_strdup(now->tz_abbr) : NULL;
26631 		parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL;
26632 */		parsed->is_localtime = 1;
26633 	}
26634 /*	timelib_dump_date(parsed, 2);
26635 	timelib_dump_date(now, 2);
26636 */
26637 }
26638 
timelib_timezone_id_from_abbr(const char * abbr,timelib_long gmtoffset,int isdst)26639 const char *timelib_timezone_id_from_abbr(const char *abbr, timelib_long gmtoffset, int isdst)
26640 {
26641 	const timelib_tz_lookup_table *tp;
26642 
26643 	tp = abbr_search(abbr, gmtoffset, isdst);
26644 	if (tp) {
26645 		return (tp->full_tz_name);
26646 	} else {
26647 		return NULL;
26648 	}
26649 }
26650 
timelib_timezone_abbreviations_list(void)26651 const timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void)
26652 {
26653 	return timelib_timezone_lookup;
26654 }
26655 
26656 #ifdef DEBUG_PARSER_STUB
main(void)26657 int main(void)
26658 {
26659 	timelib_time time = timelib_strtotime("May 12");
26660 
26661 	printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d",
26662 		time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst);
26663 	if (time.have_relative) {
26664 		printf ("%3dY %3dM %3dD / %3dH %3dM %3dS",
26665 			time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s);
26666 	}
26667 	if (time.have_weekday_relative) {
26668 		printf (" / %d", time.relative.weekday);
26669 	}
26670 	if (time.have_weeknr_day) {
26671 		printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek);
26672 	}
26673 	return 0;
26674 }
26675 #endif
26676 
26677 /*
26678  * vim: syntax=c
26679  */
26680