Coverage Report

Created: 2026-06-02 06:40

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/php-src/ext/date/lib/parse_date.c
Line
Count
Source
1
/* Generated by re2c 1.0.3 on Wed Jan 14 14:21:53 2026 */
2
#line 1 "ext/date/lib/parse_date.re"
3
/*
4
 * The MIT License (MIT)
5
 *
6
 * Copyright (c) 2015-2023 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 <errno.h>
33
#include <math.h>
34
#include <assert.h>
35
#include <limits.h>
36
37
#if defined(_MSC_VER)
38
# define strtoll(s, f, b) _atoi64(s)
39
#elif !defined(HAVE_STRTOLL)
40
# if defined(HAVE_ATOLL)
41
#  define strtoll(s, f, b) atoll(s)
42
# else
43
#  define strtoll(s, f, b) strtol(s, f, b)
44
# endif
45
#endif
46
47
205M
#define EOI      257
48
#define TIME     258
49
#define DATE     259
50
51
10.0k
#define TIMELIB_XMLRPC_SOAP    260
52
23.7k
#define TIMELIB_TIME12         261
53
#define TIMELIB_TIME24         262
54
1.12M
#define TIMELIB_GNU_NOCOLON    263
55
#define TIMELIB_GNU_NOCOLON_TZ 264
56
154k
#define TIMELIB_ISO_NOCOLON    265
57
58
62.7k
#define TIMELIB_AMERICAN       266
59
85.9k
#define TIMELIB_ISO_DATE       267
60
56.9k
#define TIMELIB_DATE_FULL      268
61
441k
#define TIMELIB_DATE_TEXT      269
62
96.1k
#define TIMELIB_DATE_NOCOLON   270
63
121k
#define TIMELIB_PG_YEARDAY     271
64
14.6k
#define TIMELIB_PG_TEXT        272
65
#define TIMELIB_PG_REVERSE     273
66
5.75M
#define TIMELIB_CLF            274
67
43.3k
#define TIMELIB_DATE_NO_DAY    275
68
189k
#define TIMELIB_SHORTDATE_WITH_TIME 276
69
10.3k
#define TIMELIB_DATE_FULL_POINTED 277
70
686k
#define TIMELIB_TIME24_WITH_ZONE 278
71
9.58k
#define TIMELIB_ISO_WEEK       279
72
161k
#define TIMELIB_LF_DAY_OF_MONTH 280
73
9.11k
#define TIMELIB_WEEK_DAY_OF_MONTH 281
74
75
336k
#define TIMELIB_TIMEZONE       300
76
75.6k
#define TIMELIB_AGO            301
77
78
927k
#define TIMELIB_RELATIVE       310
79
80
194M
#define TIMELIB_ERROR          999
81
82
/* Some compilers like AIX, defines uchar in sys/types.h */
83
#undef uchar
84
typedef unsigned char uchar;
85
86
#define   BSIZE    8192
87
88
1.25G
#define   YYCTYPE      uchar
89
4.72G
#define   YYCURSOR     cursor
90
1.39G
#define   YYLIMIT      s->lim
91
461M
#define   YYMARKER     s->ptr
92
342k
#define   YYFILL(n)    return EOI;
93
94
#define   RET(i)       {s->cur = cursor; return i;}
95
96
205M
#define timelib_string_free timelib_free
97
98
6.32M
#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; } }
99
2.32M
#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; }
100
11.1M
#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; } }
101
1.25M
#define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; }
102
2.63M
#define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; }
103
994k
#define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_weekday_relative = 1; }
104
18.8k
#define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_special_relative = 1; }
105
177M
#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++; } }
106
107
205M
#define TIMELIB_INIT  s->cur = cursor; str = timelib_string(s); ptr = str
108
12.7M
#define TIMELIB_DEINIT timelib_string_free(str)
109
#define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; }
110
111
437k
#define TIMELIB_PROCESS_YEAR(x, l) { \
112
437k
  if (((x) == TIMELIB_UNSET) || ((l) >= 4)) { \
113
272k
  /*  (x) = 0; */          \
114
272k
  } else if ((x) < 100) {  \
115
142k
    if ((x) < 70) {      \
116
128k
      (x) += 2000;     \
117
128k
    } else {             \
118
13.5k
      (x) += 1900;     \
119
13.5k
    }                    \
120
142k
  }                        \
121
437k
}
122
123
#ifdef DEBUG_PARSER
124
#define DEBUG_OUTPUT(s) printf("%s\n", s);
125
#define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } }
126
#else
127
#define DEBUG_OUTPUT(s)
128
#define YYDEBUG(s,c)
129
#endif
130
131
typedef struct _timelib_elems {
132
  unsigned int   c; /* Number of elements */
133
  char         **v; /* Values */
134
} timelib_elems;
135
136
typedef struct _Scanner {
137
  int           fd;
138
  uchar        *lim, *str, *ptr, *cur, *tok, *pos;
139
  unsigned int  line, len;
140
  timelib_error_container *errors;
141
142
  timelib_time        *time;
143
  const timelib_tzdb  *tzdb;
144
} Scanner;
145
146
typedef struct _timelib_lookup_table {
147
  const char *name;
148
  int         type;
149
  int         value;
150
} timelib_lookup_table;
151
152
typedef struct _timelib_relunit {
153
  const char *name;
154
  int         unit;
155
  int         multiplier;
156
} timelib_relunit;
157
158
/* The timezone table. */
159
static const timelib_tz_lookup_table timelib_timezone_lookup[] = {
160
#include "timezonemap.h"
161
  { NULL, 0, 0, NULL },
162
};
163
164
static const timelib_tz_lookup_table timelib_timezone_fallbackmap[] = {
165
#include "fallbackmap.h"
166
  { NULL, 0, 0, NULL },
167
};
168
169
static const timelib_tz_lookup_table timelib_timezone_utc[] = {
170
  { "utc", 0, 0, "UTC" },
171
};
172
173
#if defined(_POSIX_TZNAME_MAX)
174
/* Solaris exposes _POSIX_TZNAME_MAX = 3 unless _XPG6 is defined.
175
 * That is too small for real-world timezone abbreviations ("EDT", "CEST", ...).
176
 */
177
# if defined(__sun__) && _POSIX_TZNAME_MAX < 6
178
#  define MAX_ABBR_LEN 6
179
# else
180
973k
#  define MAX_ABBR_LEN _POSIX_TZNAME_MAX
181
# endif
182
#elif defined(TZNAME_MAX)
183
# define MAX_ABBR_LEN TZNAME_MAX
184
#else
185
# define MAX_ABBR_LEN 6
186
#endif
187
188
static timelib_relunit const timelib_relunit_lookup[] = {
189
  { "ms",           TIMELIB_MICROSEC, 1000 },
190
  { "msec",         TIMELIB_MICROSEC, 1000 },
191
  { "msecs",        TIMELIB_MICROSEC, 1000 },
192
  { "millisecond",  TIMELIB_MICROSEC, 1000 },
193
  { "milliseconds", TIMELIB_MICROSEC, 1000 },
194
  { "µs",           TIMELIB_MICROSEC,    1 },
195
  { "usec",         TIMELIB_MICROSEC,    1 },
196
  { "usecs",        TIMELIB_MICROSEC,    1 },
197
  { "µsec",         TIMELIB_MICROSEC,    1 },
198
  { "µsecs",        TIMELIB_MICROSEC,    1 },
199
  { "microsecond",  TIMELIB_MICROSEC,    1 },
200
  { "microseconds", TIMELIB_MICROSEC,    1 },
201
  { "sec",         TIMELIB_SECOND,  1 },
202
  { "secs",        TIMELIB_SECOND,  1 },
203
  { "second",      TIMELIB_SECOND,  1 },
204
  { "seconds",     TIMELIB_SECOND,  1 },
205
  { "min",         TIMELIB_MINUTE,  1 },
206
  { "mins",        TIMELIB_MINUTE,  1 },
207
  { "minute",      TIMELIB_MINUTE,  1 },
208
  { "minutes",     TIMELIB_MINUTE,  1 },
209
  { "hour",        TIMELIB_HOUR,    1 },
210
  { "hours",       TIMELIB_HOUR,    1 },
211
  { "day",         TIMELIB_DAY,     1 },
212
  { "days",        TIMELIB_DAY,     1 },
213
  { "week",        TIMELIB_DAY,     7 },
214
  { "weeks",       TIMELIB_DAY,     7 },
215
  { "fortnight",   TIMELIB_DAY,    14 },
216
  { "fortnights",  TIMELIB_DAY,    14 },
217
  { "forthnight",  TIMELIB_DAY,    14 },
218
  { "forthnights", TIMELIB_DAY,    14 },
219
  { "month",       TIMELIB_MONTH,   1 },
220
  { "months",      TIMELIB_MONTH,   1 },
221
  { "year",        TIMELIB_YEAR,    1 },
222
  { "years",       TIMELIB_YEAR,    1 },
223
224
  { "mondays",     TIMELIB_WEEKDAY, 1 },
225
  { "monday",      TIMELIB_WEEKDAY, 1 },
226
  { "mon",         TIMELIB_WEEKDAY, 1 },
227
  { "tuesdays",    TIMELIB_WEEKDAY, 2 },
228
  { "tuesday",     TIMELIB_WEEKDAY, 2 },
229
  { "tue",         TIMELIB_WEEKDAY, 2 },
230
  { "wednesdays",  TIMELIB_WEEKDAY, 3 },
231
  { "wednesday",   TIMELIB_WEEKDAY, 3 },
232
  { "wed",         TIMELIB_WEEKDAY, 3 },
233
  { "thursdays",   TIMELIB_WEEKDAY, 4 },
234
  { "thursday",    TIMELIB_WEEKDAY, 4 },
235
  { "thu",         TIMELIB_WEEKDAY, 4 },
236
  { "fridays",     TIMELIB_WEEKDAY, 5 },
237
  { "friday",      TIMELIB_WEEKDAY, 5 },
238
  { "fri",         TIMELIB_WEEKDAY, 5 },
239
  { "saturdays",   TIMELIB_WEEKDAY, 6 },
240
  { "saturday",    TIMELIB_WEEKDAY, 6 },
241
  { "sat",         TIMELIB_WEEKDAY, 6 },
242
  { "sundays",     TIMELIB_WEEKDAY, 0 },
243
  { "sunday",      TIMELIB_WEEKDAY, 0 },
244
  { "sun",         TIMELIB_WEEKDAY, 0 },
245
246
  { "weekday",     TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
247
  { "weekdays",    TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
248
  { NULL,          0,          0 }
249
};
250
251
/* The relative text table. */
252
static timelib_lookup_table const timelib_reltext_lookup[] = {
253
  { "first",    0,  1 },
254
  { "next",     0,  1 },
255
  { "second",   0,  2 },
256
  { "third",    0,  3 },
257
  { "fourth",   0,  4 },
258
  { "fifth",    0,  5 },
259
  { "sixth",    0,  6 },
260
  { "seventh",  0,  7 },
261
  { "eight",    0,  8 },
262
  { "eighth",   0,  8 },
263
  { "ninth",    0,  9 },
264
  { "tenth",    0, 10 },
265
  { "eleventh", 0, 11 },
266
  { "twelfth",  0, 12 },
267
  { "last",     0, -1 },
268
  { "previous", 0, -1 },
269
  { "this",     1,  0 },
270
  { NULL,       1,  0 }
271
};
272
273
/* The month table. */
274
static timelib_lookup_table const timelib_month_lookup[] = {
275
  { "jan",  0,  1 },
276
  { "feb",  0,  2 },
277
  { "mar",  0,  3 },
278
  { "apr",  0,  4 },
279
  { "may",  0,  5 },
280
  { "jun",  0,  6 },
281
  { "jul",  0,  7 },
282
  { "aug",  0,  8 },
283
  { "sep",  0,  9 },
284
  { "sept", 0,  9 },
285
  { "oct",  0, 10 },
286
  { "nov",  0, 11 },
287
  { "dec",  0, 12 },
288
  { "i",    0,  1 },
289
  { "ii",   0,  2 },
290
  { "iii",  0,  3 },
291
  { "iv",   0,  4 },
292
  { "v",    0,  5 },
293
  { "vi",   0,  6 },
294
  { "vii",  0,  7 },
295
  { "viii", 0,  8 },
296
  { "ix",   0,  9 },
297
  { "x",    0, 10 },
298
  { "xi",   0, 11 },
299
  { "xii",  0, 12 },
300
301
  { "january",   0,  1 },
302
  { "february",  0,  2 },
303
  { "march",     0,  3 },
304
  { "april",     0,  4 },
305
  { "may",       0,  5 },
306
  { "june",      0,  6 },
307
  { "july",      0,  7 },
308
  { "august",    0,  8 },
309
  { "september", 0,  9 },
310
  { "october",   0, 10 },
311
  { "november",  0, 11 },
312
  { "december",  0, 12 },
313
  {  NULL,       0,  0 }
314
};
315
316
#if 0
317
static char* timelib_ltrim(char *s)
318
{
319
  char *ptr = s;
320
  while (ptr[0] == ' ' || ptr[0] == '\t') {
321
    ptr++;
322
  }
323
  return ptr;
324
}
325
#endif
326
327
#if 0
328
uchar *fill(Scanner *s, uchar *cursor){
329
  if(!s->eof){
330
    unsigned int cnt = s->tok - s->bot;
331
    if(cnt){
332
      memcpy(s->bot, s->tok, s->lim - s->tok);
333
      s->tok = s->bot;
334
      s->ptr -= cnt;
335
      cursor -= cnt;
336
      s->pos -= cnt;
337
      s->lim -= cnt;
338
    }
339
    if((s->top - s->lim) < BSIZE){
340
      uchar *buf = (uchar*) timelib_malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar));
341
      memcpy(buf, s->tok, s->lim - s->tok);
342
      s->tok = buf;
343
      s->ptr = &buf[s->ptr - s->bot];
344
      cursor = &buf[cursor - s->bot];
345
      s->pos = &buf[s->pos - s->bot];
346
      s->lim = &buf[s->lim - s->bot];
347
      s->top = &s->lim[BSIZE];
348
      timelib_free(s->bot);
349
      s->bot = buf;
350
    }
351
    if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){
352
      s->eof = &s->lim[cnt]; *(s->eof)++ = '\n';
353
    }
354
    s->lim += cnt;
355
  }
356
  return cursor;
357
}
358
#endif
359
360
static timelib_error_message *alloc_error_message(timelib_error_message **messages, int *count)
361
898M
{
362
  /* Realloc in power of two increments */
363
898M
  int is_pow2 = (*count & (*count - 1)) == 0;
364
365
898M
  if (is_pow2) {
366
4.47M
    size_t alloc_size = *count ? (*count * 2) : 1;
367
368
4.47M
    *messages = timelib_realloc(*messages, alloc_size * sizeof(timelib_error_message));
369
4.47M
  }
370
898M
  return *messages + (*count)++;
371
898M
}
372
373
static void add_warning(Scanner *s, int error_code, const char *error)
374
481k
{
375
481k
  timelib_error_message *message = alloc_error_message(&s->errors->warning_messages, &s->errors->warning_count);
376
377
481k
  message->error_code = error_code;
378
481k
  message->position = s->tok ? s->tok - s->str : 0;
379
481k
  message->character = s->tok ? *s->tok : 0;
380
481k
  message->message = timelib_strdup(error);
381
481k
}
382
383
static void add_error(Scanner *s, int error_code, const char *error)
384
898M
{
385
898M
  timelib_error_message *message = alloc_error_message(&s->errors->error_messages, &s->errors->error_count);
386
387
898M
  message->error_code = error_code;
388
898M
  message->position = s->tok ? s->tok - s->str : 0;
389
898M
  message->character = s->tok ? *s->tok : 0;
390
898M
  message->message = timelib_strdup(error);
391
898M
}
392
393
static void add_pbf_warning(Scanner *s, int error_code, const char *error, const char *sptr, const char *cptr)
394
0
{
395
0
  timelib_error_message *message = alloc_error_message(&s->errors->warning_messages, &s->errors->warning_count);
396
397
0
  message->error_code = error_code;
398
0
  message->position = cptr - sptr;
399
0
  message->character = *cptr;
400
0
  message->message = timelib_strdup(error);
401
0
}
402
403
static void add_pbf_error(Scanner *s, int error_code, const char *error, const char *sptr, const char *cptr)
404
0
{
405
0
  timelib_error_message *message = alloc_error_message(&s->errors->error_messages, &s->errors->error_count);
406
407
0
  message->error_code = error_code;
408
0
  message->position = cptr - sptr;
409
0
  message->character = *cptr;
410
0
  message->message = timelib_strdup(error);
411
0
}
412
413
static timelib_sll timelib_meridian(const char **ptr, timelib_sll h)
414
56.0k
{
415
56.0k
  timelib_sll retval = 0;
416
417
63.2k
  while (!strchr("AaPp", **ptr)) {
418
7.20k
    ++*ptr;
419
7.20k
  }
420
56.0k
  if (**ptr == 'a' || **ptr == 'A') {
421
40.1k
    if (h == 12) {
422
3.71k
      retval = -12;
423
3.71k
    }
424
40.1k
  } else if (h != 12) {
425
14.5k
    retval = 12;
426
14.5k
  }
427
56.0k
  ++*ptr;
428
56.0k
  if (**ptr == '.') {
429
12.3k
    ++*ptr;
430
12.3k
  }
431
56.0k
  if (**ptr == 'M' || **ptr == 'm') {
432
51.6k
    ++*ptr;
433
51.6k
  }
434
56.0k
  if (**ptr == '.') {
435
18.1k
    ++*ptr;
436
18.1k
  }
437
56.0k
  return retval;
438
56.0k
}
439
440
static timelib_sll timelib_meridian_with_check(const char **ptr, timelib_sll h)
441
0
{
442
0
  timelib_sll retval = 0;
443
444
0
  while (**ptr && !strchr("AaPp", **ptr)) {
445
0
    ++*ptr;
446
0
  }
447
0
  if(!**ptr) {
448
0
    return TIMELIB_UNSET;
449
0
  }
450
0
  if (**ptr == 'a' || **ptr == 'A') {
451
0
    if (h == 12) {
452
0
      retval = -12;
453
0
    }
454
0
  } else if (h != 12) {
455
0
    retval = 12;
456
0
  }
457
0
  ++*ptr;
458
0
  if (**ptr == '.') {
459
0
    ++*ptr;
460
0
    if (**ptr != 'm' && **ptr != 'M') {
461
0
      return TIMELIB_UNSET;
462
0
    }
463
0
    ++*ptr;
464
0
    if (**ptr != '.' ) {
465
0
      return TIMELIB_UNSET;
466
0
    }
467
0
    ++*ptr;
468
0
  } else if (**ptr == 'm' || **ptr == 'M') {
469
0
    ++*ptr;
470
0
  } else {
471
0
    return TIMELIB_UNSET;
472
0
  }
473
0
  return retval;
474
0
}
475
476
static char *timelib_string(Scanner *s)
477
205M
{
478
205M
  char *tmp = timelib_calloc(1, s->cur - s->tok + 1);
479
205M
  memcpy(tmp, s->tok, s->cur - s->tok);
480
481
205M
  return tmp;
482
205M
}
483
484
static timelib_sll timelib_get_nr_ex(const char **ptr, int max_length, int *scanned_length)
485
11.6M
{
486
11.6M
  const char *begin, *end;
487
11.6M
  char *str;
488
11.6M
  timelib_sll tmp_nr = TIMELIB_UNSET;
489
11.6M
  int len = 0;
490
491
14.8M
  while ((**ptr < '0') || (**ptr > '9')) {
492
3.29M
    if (**ptr == '\0') {
493
77.5k
      return TIMELIB_UNSET;
494
77.5k
    }
495
3.22M
    ++*ptr;
496
3.22M
  }
497
498
11.5M
  begin = *ptr;
499
46.4M
  while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) {
500
34.8M
    ++*ptr;
501
34.8M
    ++len;
502
34.8M
  }
503
11.5M
  end = *ptr;
504
11.5M
  if (scanned_length) {
505
381k
    *scanned_length = end - begin;
506
381k
  }
507
11.5M
  str = timelib_calloc(1, end - begin + 1);
508
11.5M
  memcpy(str, begin, end - begin);
509
11.5M
  tmp_nr = strtoll(str, NULL, 10);
510
11.5M
  timelib_free(str);
511
11.5M
  return tmp_nr;
512
11.6M
}
513
514
static timelib_sll timelib_get_nr(const char **ptr, int max_length)
515
11.2M
{
516
11.2M
  return timelib_get_nr_ex(ptr, max_length, NULL);
517
11.2M
}
518
519
static void timelib_skip_day_suffix(const char **ptr)
520
231k
{
521
231k
  if (isspace((unsigned char)**ptr)) {
522
10.6k
    return;
523
10.6k
  }
524
221k
  if (!timelib_strncasecmp(*ptr, "nd", 2) || !timelib_strncasecmp(*ptr, "rd", 2) ||!timelib_strncasecmp(*ptr, "st", 2) || !timelib_strncasecmp(*ptr, "th", 2)) {
525
8.78k
    *ptr += 2;
526
8.78k
  }
527
221k
}
528
529
static timelib_sll timelib_get_frac_nr(const char **ptr)
530
26.3k
{
531
26.3k
  const char *begin, *end;
532
26.3k
  char *str;
533
26.3k
  double tmp_nr = TIMELIB_UNSET;
534
535
26.3k
  while ((**ptr != '.') && (**ptr != ':') && ((**ptr < '0') || (**ptr > '9'))) {
536
0
    if (**ptr == '\0') {
537
0
      return TIMELIB_UNSET;
538
0
    }
539
0
    ++*ptr;
540
0
  }
541
26.3k
  begin = *ptr;
542
115k
  while ((**ptr == '.') || (**ptr == ':') || ((**ptr >= '0') && (**ptr <= '9'))) {
543
89.5k
    ++*ptr;
544
89.5k
  }
545
26.3k
  end = *ptr;
546
26.3k
  str = timelib_calloc(1, end - begin);
547
26.3k
  memcpy(str, begin + 1, end - begin - 1);
548
26.3k
  tmp_nr = strtod(str, NULL) * pow(10, 7 - (end - begin));
549
26.3k
  timelib_free(str);
550
26.3k
  return tmp_nr;
551
26.3k
}
552
553
static timelib_ull timelib_get_signed_nr(Scanner *s, const char **ptr, int max_length)
554
445k
{
555
445k
  char *str, *str_ptr;
556
445k
  timelib_sll tmp_nr = 0;
557
445k
  int len = 0;
558
559
  /* Skip over non-numeric chars */
560
561
472k
  while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) {
562
26.8k
    if (**ptr == '\0') {
563
62
      add_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Found unexpected data");
564
62
      return 0;
565
62
    }
566
26.8k
    ++*ptr;
567
26.8k
  }
568
  
569
  /* Allocate string to feed to strtoll(): sign + length + '\0' */
570
445k
  str = timelib_calloc(1, max_length + 2);
571
445k
  str[0] = '+'; /* First position is the sign */
572
445k
  str_ptr = str + 1;
573
574
523k
  while ((**ptr == '+') || (**ptr == '-')) {
575
77.4k
    if (**ptr == '-') {
576
61.8k
      str[0] = str[0] == '+' ? '-' : '+';
577
61.8k
    }
578
77.4k
    ++*ptr;
579
77.4k
  }
580
581
452k
  while (((**ptr < '0') || (**ptr > '9'))) {
582
6.41k
    if (**ptr == '\0') {
583
0
      timelib_free(str);
584
0
      add_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Found unexpected data");
585
0
      return 0;
586
0
    }
587
6.41k
    ++*ptr;
588
6.41k
  }
589
590
1.45M
  while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) {
591
1.01M
    *str_ptr = **ptr;
592
1.01M
    ++*ptr;
593
1.01M
    ++str_ptr;
594
1.01M
    ++len;
595
1.01M
  }
596
597
445k
  errno = 0;
598
445k
  tmp_nr = strtoll(str, NULL, 10);
599
445k
  if (errno == ERANGE) {
600
17
    timelib_free(str);
601
17
    add_error(s, TIMELIB_ERR_NUMBER_OUT_OF_RANGE, "Number out of range");
602
17
    return 0;
603
17
  }
604
605
445k
  timelib_free(str);
606
607
445k
  return tmp_nr;
608
445k
}
609
610
static timelib_sll timelib_lookup_relative_text(const char **ptr, int *behavior)
611
351k
{
612
351k
  char *word;
613
351k
  const char *begin = *ptr, *end;
614
351k
  timelib_sll  value = 0;
615
351k
  const timelib_lookup_table *tp;
616
617
1.98M
  while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
618
1.63M
    ++*ptr;
619
1.63M
  }
620
351k
  end = *ptr;
621
351k
  word = timelib_calloc(1, end - begin + 1);
622
351k
  memcpy(word, begin, end - begin);
623
624
6.31M
  for (tp = timelib_reltext_lookup; tp->name; tp++) {
625
5.96M
    if (timelib_strcasecmp(word, tp->name) == 0) {
626
351k
      value = tp->value;
627
351k
      *behavior = tp->type;
628
351k
    }
629
5.96M
  }
630
631
351k
  timelib_free(word);
632
351k
  return value;
633
351k
}
634
635
static timelib_sll timelib_get_relative_text(const char **ptr, int *behavior)
636
351k
{
637
351k
  while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '/') {
638
0
    ++*ptr;
639
0
  }
640
351k
  return timelib_lookup_relative_text(ptr, behavior);
641
351k
}
642
643
static timelib_long timelib_lookup_month(const char **ptr)
644
776k
{
645
776k
  char *word;
646
776k
  const char *begin = *ptr, *end;
647
776k
  timelib_long  value = 0;
648
776k
  const timelib_lookup_table *tp;
649
650
2.25M
  while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
651
1.47M
    ++*ptr;
652
1.47M
  }
653
776k
  end = *ptr;
654
776k
  word = timelib_calloc(1, end - begin + 1);
655
776k
  memcpy(word, begin, end - begin);
656
657
29.5M
  for (tp = timelib_month_lookup; tp->name; tp++) {
658
28.7M
    if (timelib_strcasecmp(word, tp->name) == 0) {
659
805k
      value = tp->value;
660
805k
    }
661
28.7M
  }
662
663
776k
  timelib_free(word);
664
776k
  return value;
665
776k
}
666
667
static timelib_long timelib_get_month(const char **ptr)
668
620k
{
669
708k
  while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '.' || **ptr == '/') {
670
88.2k
    ++*ptr;
671
88.2k
  }
672
620k
  return timelib_lookup_month(ptr);
673
620k
}
674
675
static void timelib_eat_spaces(const char **ptr)
676
1.17M
{
677
1.79M
  do {
678
1.79M
    if (**ptr == ' ' || **ptr == '\t') {
679
529k
      ++*ptr;
680
529k
      continue;
681
529k
    }
682
1.26M
    if ((*ptr)[0] == '\xe2' && (*ptr)[1] == '\x80' && (*ptr)[2] == '\xaf') { // NNBSP
683
36.7k
      *ptr += 3;
684
36.7k
      continue;
685
36.7k
    }
686
1.22M
    if ((*ptr)[0] == '\xc2' && (*ptr)[1] == '\xa0') { // NBSP
687
58.5k
      *ptr += 2;
688
58.5k
      continue;
689
58.5k
    }
690
1.17M
    break;
691
1.22M
  } while (true);
692
1.17M
}
693
694
static void timelib_eat_until_separator(const char **ptr)
695
0
{
696
0
  ++*ptr;
697
0
  while (strchr(" \t.,:;/-0123456789", **ptr) == NULL) {
698
0
    ++*ptr;
699
0
  }
700
0
}
701
702
static const timelib_relunit* timelib_lookup_relunit(const char **ptr)
703
1.35M
{
704
1.35M
  char *word;
705
1.35M
  const char *begin = *ptr, *end;
706
1.35M
  const timelib_relunit *tp, *value = NULL;
707
708
6.43M
  while (**ptr != '\0' && **ptr != ' ' && **ptr != ',' && **ptr != '\t' && **ptr != ';' && **ptr != ':' &&
709
5.08M
    **ptr != '/' && **ptr != '.' && **ptr != '-' && **ptr != '(' && **ptr != ')' ) {
710
5.08M
    ++*ptr;
711
5.08M
  }
712
1.35M
  end = *ptr;
713
1.35M
  word = timelib_calloc(1, end - begin + 1);
714
1.35M
  memcpy(word, begin, end - begin);
715
716
51.4M
  for (tp = timelib_relunit_lookup; tp->name; tp++) {
717
51.4M
    if (timelib_strcasecmp(word, tp->name) == 0) {
718
1.34M
      value = tp;
719
1.34M
      break;
720
1.34M
    }
721
51.4M
  }
722
723
1.35M
  timelib_free(word);
724
1.35M
  return value;
725
1.35M
}
726
727
static void add_with_overflow(Scanner *s, timelib_sll *e, timelib_sll amount, int multiplier)
728
343k
{
729
343k
#if TIMELIB_HAVE_BUILTIN_SADDLL_OVERFLOW
730
343k
  if (__builtin_saddll_overflow(*e, amount * multiplier, e)) {
731
20
    add_error(s, TIMELIB_ERR_NUMBER_OUT_OF_RANGE, "Number out of range");
732
20
  }
733
#else
734
  *e += (amount * multiplier);
735
#endif
736
343k
}
737
738
/**
739
 * The time_part parameter is a flag. It can be TIMELIB_TIME_PART_KEEP in case
740
 * the time portion should not be reset to midnight, or
741
 * TIMELIB_TIME_PART_DONT_KEEP in case it does need to be reset. This is used
742
 * for not overwriting the time portion for 'X weekday'.
743
 */
744
static void timelib_set_relative(const char **ptr, timelib_sll amount, int behavior, Scanner *s, int time_part)
745
780k
{
746
780k
  const timelib_relunit* relunit;
747
748
780k
  if (!(relunit = timelib_lookup_relunit(ptr))) {
749
3.10k
    return;
750
3.10k
  }
751
752
777k
  switch (relunit->unit) {
753
60.1k
    case TIMELIB_MICROSEC: add_with_overflow(s, &s->time->relative.us, amount, relunit->multiplier); break;
754
101k
    case TIMELIB_SECOND:   add_with_overflow(s, &s->time->relative.s, amount, relunit->multiplier); break;
755
56.5k
    case TIMELIB_MINUTE:   add_with_overflow(s, &s->time->relative.i, amount, relunit->multiplier); break;
756
13.7k
    case TIMELIB_HOUR:     add_with_overflow(s, &s->time->relative.h, amount, relunit->multiplier); break;
757
101k
    case TIMELIB_DAY:      add_with_overflow(s, &s->time->relative.d, amount, relunit->multiplier); break;
758
5.53k
    case TIMELIB_MONTH:    add_with_overflow(s, &s->time->relative.m, amount, relunit->multiplier); break;
759
4.99k
    case TIMELIB_YEAR:     add_with_overflow(s, &s->time->relative.y, amount, relunit->multiplier); break;
760
761
424k
    case TIMELIB_WEEKDAY:
762
424k
      TIMELIB_HAVE_WEEKDAY_RELATIVE();
763
424k
      if (time_part != TIMELIB_TIME_PART_KEEP) {
764
235k
        TIMELIB_UNHAVE_TIME();
765
235k
      }
766
424k
      s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7;
767
424k
      s->time->relative.weekday = relunit->multiplier;
768
424k
      s->time->relative.weekday_behavior = behavior;
769
424k
      break;
770
771
9.77k
    case TIMELIB_SPECIAL:
772
9.77k
      TIMELIB_HAVE_SPECIAL_RELATIVE();
773
9.77k
      if (time_part != TIMELIB_TIME_PART_KEEP) {
774
5.24k
        TIMELIB_UNHAVE_TIME();
775
5.24k
      }
776
9.77k
      s->time->relative.special.type = relunit->multiplier;
777
9.77k
      s->time->relative.special.amount = amount;
778
777k
  }
779
777k
}
780
781
static const timelib_tz_lookup_table* abbr_search(const char *word, timelib_long gmtoffset, int isdst)
782
453k
{
783
453k
  int first_found = 0;
784
453k
  const timelib_tz_lookup_table  *tp, *first_found_elem = NULL;
785
453k
  const timelib_tz_lookup_table  *fmp;
786
787
453k
  if (timelib_strcasecmp("utc", word) == 0 || timelib_strcasecmp("gmt", word) == 0) {
788
67.1k
    return timelib_timezone_utc;
789
67.1k
  }
790
791
433M
  for (tp = timelib_timezone_lookup; tp->name; tp++) {
792
433M
    if (timelib_strcasecmp(word, tp->name) == 0) {
793
181k
      if (!first_found) {
794
181k
        first_found = 1;
795
181k
        first_found_elem = tp;
796
181k
        if (gmtoffset == -1) {
797
181k
          return tp;
798
181k
        }
799
181k
      }
800
0
      if (tp->gmtoffset == gmtoffset) {
801
0
        return tp;
802
0
      }
803
0
    }
804
433M
  }
805
204k
  if (first_found) {
806
0
    return first_found_elem;
807
0
  }
808
809
  /* Still didn't find anything, let's find the zone solely based on
810
   * offset/isdst then */
811
8.80M
  for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) {
812
8.60M
    if (fmp->gmtoffset == gmtoffset && fmp->type == isdst) {
813
0
      return fmp;
814
0
    }
815
8.60M
  }
816
204k
  return NULL;
817
204k
}
818
819
static timelib_long timelib_lookup_abbr(const char **ptr, int *dst, char **tz_abbr, int *found)
820
486k
{
821
486k
  char *word;
822
486k
  const char *begin = *ptr, *end;
823
486k
  timelib_long  value = 0;
824
486k
  const timelib_tz_lookup_table *tp;
825
826
  /* Only include A-Z, a-z, 0-9, /, _, and - in abbreviations/TZ IDs */
827
486k
  while (
828
1.64M
    (**ptr >= 'A' && **ptr <= 'Z') ||
829
1.10M
    (**ptr >= 'a' && **ptr <= 'z') ||
830
507k
    (**ptr >= '0' && **ptr <= '9') ||
831
507k
    **ptr == '/' || **ptr == '_' || **ptr == '-' || **ptr == '+'
832
1.15M
  ) {
833
1.15M
    ++*ptr;
834
1.15M
  }
835
486k
  end = *ptr;
836
486k
  word = timelib_calloc(1, end - begin + 1);
837
486k
  memcpy(word, begin, end - begin);
838
839
486k
  if (end - begin < MAX_ABBR_LEN && (tp = abbr_search(word, -1, 0))) {
840
249k
    value = tp->gmtoffset;
841
249k
    *dst = tp->type;
842
249k
    value -= tp->type * 3600;
843
249k
    *found = 1;
844
249k
  } else {
845
237k
    *found = 0;
846
237k
  }
847
848
486k
  *tz_abbr = word;
849
486k
  return value;
850
486k
}
851
852
40.0k
#define sHOUR(a) (int)(a * 3600)
853
25.0k
#define sMIN(a) (int)(a * 60)
854
855
static timelib_long timelib_parse_tz_cor(const char **ptr, int *tz_not_found)
856
40.0k
{
857
40.0k
  const char *begin = *ptr, *end;
858
40.0k
  timelib_long  tmp;
859
860
40.0k
  *tz_not_found = 1;
861
862
165k
  while (isdigit((unsigned char)**ptr) || **ptr == ':') {
863
125k
    ++*ptr;
864
125k
  }
865
40.0k
  end = *ptr;
866
40.0k
  switch (end - begin) {
867
6.69k
    case 1: /* H */
868
15.0k
    case 2: /* HH */
869
15.0k
      *tz_not_found = 0;
870
15.0k
      return sHOUR(strtol(begin, NULL, 10));
871
872
8.58k
    case 3: /* H:M */
873
18.5k
    case 4: /* H:MM, HH:M, HHMM */
874
18.5k
      if (begin[1] == ':') {
875
1.89k
        *tz_not_found = 0;
876
1.89k
        tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 2, NULL, 10));
877
1.89k
        return tmp;
878
16.6k
      } else if (begin[2] == ':') {
879
3.64k
        *tz_not_found = 0;
880
3.64k
        tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10));
881
3.64k
        return tmp;
882
13.0k
      } else {
883
13.0k
        *tz_not_found = 0;
884
13.0k
        tmp = strtol(begin, NULL, 10);
885
13.0k
        return sHOUR(tmp / 100) + sMIN(tmp % 100);
886
13.0k
      }
887
888
4.00k
    case 5: /* HH:MM */
889
4.00k
      if (begin[2] != ':') {
890
0
        break;
891
0
      }
892
893
4.00k
      *tz_not_found = 0;
894
4.00k
      tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10));
895
4.00k
      return tmp;
896
897
1.86k
    case 6: /* HHMMSS */
898
1.86k
      *tz_not_found = 0;
899
1.86k
      tmp = strtol(begin, NULL, 10);
900
1.86k
      tmp = sHOUR(tmp / 10000) + sMIN((tmp / 100) % 100) + (tmp % 100);
901
1.86k
      return tmp;
902
903
655
    case 8: /* HH:MM:SS */
904
655
      if (begin[2] != ':' || begin[5] != ':') {
905
0
        break;
906
0
      }
907
908
655
      *tz_not_found = 0;
909
655
      tmp = sHOUR(strtol(begin, NULL, 10)) + sMIN(strtol(begin + 3, NULL, 10)) + strtol(begin + 6, NULL, 10);
910
655
      return tmp;
911
912
40.0k
  }
913
0
  return 0;
914
40.0k
}
915
916
static timelib_long timelib_parse_tz_minutes(const char **ptr, timelib_time *t)
917
0
{
918
0
  timelib_long retval = TIMELIB_UNSET;
919
0
  const char *begin = *ptr;
920
921
  /* First character must be +/- */
922
0
  if (**ptr != '+' && **ptr != '-') {
923
0
    return retval;
924
0
  }
925
926
0
  ++*ptr;
927
0
  while (isdigit((unsigned char)**ptr)) {
928
0
    ++*ptr;
929
0
  }
930
931
0
  if (*begin == '+') {
932
0
    t->is_localtime = 1;
933
0
    t->zone_type = TIMELIB_ZONETYPE_OFFSET;
934
0
    t->dst = 0;
935
936
0
    retval = sMIN(strtol(begin + 1, NULL, 10));
937
0
  } else if (*begin == '-') {
938
0
    t->is_localtime = 1;
939
0
    t->zone_type = TIMELIB_ZONETYPE_OFFSET;
940
0
    t->dst = 0;
941
942
0
    retval = -1 * sMIN(strtol(begin + 1, NULL, 10));
943
0
  }
944
0
  return retval;
945
0
}
946
947
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)
948
526k
{
949
526k
  timelib_tzinfo *res;
950
526k
  timelib_long            retval = 0;
951
526k
  size_t paren_count = 0;
952
953
526k
  *tz_not_found = 0;
954
955
546k
  while (**ptr == ' ' || **ptr == '\t' || **ptr == '(') {
956
19.7k
    paren_count += **ptr == '(';
957
19.7k
    ++*ptr;
958
19.7k
  }
959
526k
  if ((*ptr)[0] == 'G' && (*ptr)[1] == 'M' && (*ptr)[2] == 'T' && ((*ptr)[3] == '+' || (*ptr)[3] == '-')) {
960
8.64k
    *ptr += 3;
961
8.64k
  }
962
526k
  if (**ptr == '+') {
963
19.8k
    ++*ptr;
964
19.8k
    t->is_localtime = 1;
965
19.8k
    t->zone_type = TIMELIB_ZONETYPE_OFFSET;
966
19.8k
    t->dst = 0;
967
968
19.8k
    retval = timelib_parse_tz_cor(ptr, tz_not_found);
969
506k
  } else if (**ptr == '-') {
970
20.1k
    ++*ptr;
971
20.1k
    t->is_localtime = 1;
972
20.1k
    t->zone_type = TIMELIB_ZONETYPE_OFFSET;
973
20.1k
    t->dst = 0;
974
975
20.1k
    retval = -1 * timelib_parse_tz_cor(ptr, tz_not_found);
976
486k
  } else {
977
486k
    int found = 0;
978
486k
    timelib_long offset = 0;
979
486k
    char *tz_abbr;
980
981
486k
    t->is_localtime = 1;
982
983
    /* First, we lookup by abbreviation only */
984
486k
    offset = timelib_lookup_abbr(ptr, dst, &tz_abbr, &found);
985
486k
    if (found) {
986
249k
      t->zone_type = TIMELIB_ZONETYPE_ABBR;
987
249k
      t->dst = *dst;
988
249k
      timelib_time_tz_abbr_update(t, tz_abbr);
989
249k
    }
990
991
    /* Otherwise, we look if we have a TimeZone identifier */
992
486k
    if (!found || strcmp("UTC", tz_abbr) == 0) {
993
297k
      int dummy_error_code;
994
995
297k
      if ((res = tz_wrapper(tz_abbr, tzdb, &dummy_error_code)) != NULL) {
996
64.5k
        t->tz_info = res;
997
64.5k
        t->zone_type = TIMELIB_ZONETYPE_ID;
998
64.5k
        found++;
999
64.5k
      }
1000
297k
    }
1001
486k
    timelib_free(tz_abbr);
1002
486k
    *tz_not_found = (found == 0);
1003
486k
    retval = offset;
1004
486k
  }
1005
526k
  while (paren_count > 0 && **ptr == ')') {
1006
201
    ++*ptr;
1007
201
    paren_count--;
1008
201
  }
1009
526k
  return retval;
1010
526k
}
1011
1012
#define timelib_split_free(arg) {       \
1013
  int i;                         \
1014
  for (i = 0; i < arg.c; i++) {  \
1015
    timelib_free(arg.v[i]);    \
1016
  }                              \
1017
  if (arg.v) {                   \
1018
    timelib_free(arg.v);       \
1019
  }                              \
1020
}
1021
1022
static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper)
1023
205M
{
1024
205M
  uchar *cursor = s->cur;
1025
205M
  char *str;
1026
205M
  const char *ptr = NULL;
1027
1028
1.25G
std:
1029
1.25G
  s->tok = cursor;
1030
1.25G
  s->len = 0;
1031
1.25G
#line 1161 "ext/date/lib/parse_date.re"
1032
1033
1034
1035
1.25G
#line 1036 "ext/date/lib/parse_date.c"
1036
1.25G
{
1037
1.25G
  YYCTYPE yych;
1038
1.25G
  unsigned int yyaccept = 0;
1039
1.25G
  static const unsigned char yybm[] = {
1040
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1041
1.25G
      0,  50,   0,   0,   0,   0,   0,   0, 
1042
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1043
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1044
1.25G
     50,   0,   0,   0,   0,   0,   0,   0, 
1045
1.25G
      0,   0,   0,   4,  32,  20,  48,   0, 
1046
1.25G
      8,   8,   8,   8,   8,   8,   8,   8, 
1047
1.25G
      8,   8,   0,   0,   0,   0,   0,   0, 
1048
1.25G
      0,  64,  64,  64,  64,  64,  64,  64, 
1049
1.25G
     64,  64,  64,  64,  64,  64,  64,  64, 
1050
1.25G
     64,  64,  64,  64,  64,  64,  64,  64, 
1051
1.25G
     64,  64,  64,   0,   0,   0,   0,   0, 
1052
1.25G
      0, 192, 192, 192, 224, 192, 192, 192, 
1053
1.25G
    224, 192, 192, 192, 192, 192, 224, 192, 
1054
1.25G
    192, 192, 224, 224, 224, 192, 192, 192, 
1055
1.25G
    192, 192, 192,   0,   0,   0,   0,   0, 
1056
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1057
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1058
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1059
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1060
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1061
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1062
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1063
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1064
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1065
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1066
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1067
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1068
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1069
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1070
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1071
1.25G
      0,   0,   0,   0,   0,   0,   0,   0, 
1072
1.25G
  };
1073
1.25G
  YYDEBUG(0, *YYCURSOR);
1074
1.25G
  if ((YYLIMIT - YYCURSOR) < 36) YYFILL(36);
1075
1.25G
  yych = *YYCURSOR;
1076
1.25G
  if (yybm[0+yych] & 2) {
1077
49.2M
    goto yy6;
1078
49.2M
  }
1079
1.20G
  if (yych <= 'R') {
1080
810M
    if (yych <= '?') {
1081
741M
      if (yych <= ',') {
1082
523M
        if (yych <= '\'') {
1083
491M
          if (yych <= 0x00) goto yy2;
1084
216M
          if (yych <= 0x08) goto yy4;
1085
149M
          if (yych >= '\v') goto yy4;
1086
149M
        } else {
1087
32.2M
          if (yych <= '(') goto yy9;
1088
22.0M
          if (yych <= '*') goto yy4;
1089
11.4M
          if (yych <= '+') goto yy10;
1090
5.66M
          goto yy11;
1091
11.4M
        }
1092
523M
      } else {
1093
217M
        if (yych <= '0') {
1094
68.3M
          if (yych <= '-') goto yy10;
1095
51.0M
          if (yych <= '.') goto yy11;
1096
43.6M
          if (yych <= '/') goto yy4;
1097
36.3M
          goto yy13;
1098
149M
        } else {
1099
149M
          if (yych <= '2') {
1100
38.1M
            if (yych <= '1') goto yy14;
1101
15.0M
            goto yy15;
1102
110M
          } else {
1103
110M
            if (yych <= '3') goto yy16;
1104
102M
            if (yych <= '9') goto yy17;
1105
57.1M
            goto yy4;
1106
102M
          }
1107
149M
        }
1108
217M
      }
1109
741M
    } else {
1110
69.0M
      if (yych <= 'H') {
1111
42.9M
        if (yych <= 'C') {
1112
25.2M
          if (yych <= '@') goto yy18;
1113
11.1M
          if (yych <= 'A') goto yy19;
1114
5.13M
          if (yych <= 'B') goto yy21;
1115
1.87M
          goto yy22;
1116
17.7M
        } else {
1117
17.7M
          if (yych <= 'E') {
1118
9.12M
            if (yych <= 'D') goto yy23;
1119
4.07M
            goto yy24;
1120
9.12M
          } else {
1121
8.58M
            if (yych <= 'F') goto yy25;
1122
4.71M
            if (yych <= 'G') goto yy26;
1123
3.05M
            goto yy22;
1124
4.71M
          }
1125
17.7M
        }
1126
42.9M
      } else {
1127
26.1M
        if (yych <= 'L') {
1128
9.54M
          if (yych <= 'I') goto yy27;
1129
5.96M
          if (yych <= 'J') goto yy28;
1130
3.05M
          if (yych <= 'K') goto yy22;
1131
1.95M
          goto yy29;
1132
16.5M
        } else {
1133
16.5M
          if (yych <= 'N') {
1134
5.52M
            if (yych <= 'M') goto yy30;
1135
2.56M
            goto yy31;
1136
11.0M
          } else {
1137
11.0M
            if (yych <= 'O') goto yy32;
1138
7.68M
            if (yych <= 'P') goto yy33;
1139
3.76M
            goto yy22;
1140
7.68M
          }
1141
16.5M
        }
1142
26.1M
      }
1143
69.0M
    }
1144
810M
  } else {
1145
396M
    if (yych <= 'k') {
1146
97.7M
      if (yych <= '`') {
1147
54.3M
        if (yych <= 'V') {
1148
14.8M
          if (yych <= 'S') goto yy34;
1149
10.2M
          if (yych <= 'T') goto yy35;
1150
4.25M
          if (yych <= 'U') goto yy22;
1151
2.77M
          goto yy36;
1152
39.4M
        } else {
1153
39.4M
          if (yych <= 'X') {
1154
4.26M
            if (yych <= 'W') goto yy37;
1155
1.95M
            goto yy38;
1156
35.1M
          } else {
1157
35.1M
            if (yych <= 'Y') goto yy39;
1158
33.4M
            if (yych <= 'Z') goto yy22;
1159
32.6M
            goto yy4;
1160
33.4M
          }
1161
39.4M
        }
1162
54.3M
      } else {
1163
43.4M
        if (yych <= 'd') {
1164
18.0M
          if (yych <= 'a') goto yy40;
1165
11.4M
          if (yych <= 'b') goto yy41;
1166
8.92M
          if (yych <= 'c') goto yy42;
1167
6.34M
          goto yy43;
1168
25.3M
        } else {
1169
25.3M
          if (yych <= 'f') {
1170
10.1M
            if (yych <= 'e') goto yy44;
1171
3.26M
            goto yy45;
1172
15.2M
          } else {
1173
15.2M
            if (yych == 'j') goto yy46;
1174
13.3M
            goto yy42;
1175
15.2M
          }
1176
25.3M
        }
1177
43.4M
      }
1178
298M
    } else {
1179
298M
      if (yych <= 'v') {
1180
46.8M
        if (yych <= 'o') {
1181
15.1M
          if (yych <= 'l') goto yy47;
1182
12.2M
          if (yych <= 'm') goto yy48;
1183
8.97M
          if (yych <= 'n') goto yy49;
1184
4.40M
          goto yy50;
1185
31.7M
        } else {
1186
31.7M
          if (yych <= 'r') {
1187
10.8M
            if (yych <= 'p') goto yy51;
1188
6.40M
            goto yy42;
1189
20.8M
          } else {
1190
20.8M
            if (yych <= 's') goto yy52;
1191
12.5M
            if (yych <= 't') goto yy53;
1192
4.86M
            goto yy42;
1193
12.5M
          }
1194
31.7M
        }
1195
252M
      } else {
1196
252M
        if (yych <= 'z') {
1197
7.21M
          if (yych <= 'w') goto yy54;
1198
4.91M
          if (yych == 'y') goto yy55;
1199
2.90M
          goto yy42;
1200
244M
        } else {
1201
244M
          if (yych <= 0xC2) {
1202
113M
            if (yych <= 0xC1) goto yy4;
1203
3.07M
            goto yy56;
1204
131M
          } else {
1205
131M
            if (yych == 0xE2) goto yy57;
1206
129M
            goto yy4;
1207
131M
          }
1208
244M
        }
1209
252M
      }
1210
298M
    }
1211
396M
  }
1212
283M
yy2:
1213
283M
  YYDEBUG(2, *YYCURSOR);
1214
283M
  ++YYCURSOR;
1215
283M
  YYDEBUG(3, *YYCURSOR);
1216
283M
#line 1994 "ext/date/lib/parse_date.re"
1217
283M
  {
1218
283M
    s->pos = cursor; s->line++;
1219
283M
    goto std;
1220
1.20G
  }
1221
0
#line 1222 "ext/date/lib/parse_date.c"
1222
555M
yy4:
1223
555M
  YYDEBUG(4, *YYCURSOR);
1224
555M
  ++YYCURSOR;
1225
704M
yy5:
1226
704M
  YYDEBUG(5, *YYCURSOR);
1227
704M
#line 2000 "ext/date/lib/parse_date.re"
1228
704M
  {
1229
704M
    add_error(s, TIMELIB_ERR_UNEXPECTED_CHARACTER, "Unexpected character");
1230
704M
    goto std;
1231
555M
  }
1232
0
#line 1233 "ext/date/lib/parse_date.c"
1233
70.4M
yy6:
1234
70.4M
  YYDEBUG(6, *YYCURSOR);
1235
70.4M
  yyaccept = 0;
1236
70.4M
  YYMARKER = ++YYCURSOR;
1237
70.4M
  if ((YYLIMIT - YYCURSOR) < 25) YYFILL(25);
1238
70.4M
  yych = *YYCURSOR;
1239
70.4M
  YYDEBUG(7, *YYCURSOR);
1240
70.4M
  if (yybm[0+yych] & 2) {
1241
21.2M
    goto yy6;
1242
21.2M
  }
1243
49.2M
  if (yych <= '/') goto yy8;
1244
25.3M
  if (yych <= '9') goto yy58;
1245
50.7M
yy8:
1246
50.7M
  YYDEBUG(8, *YYCURSOR);
1247
50.7M
#line 1989 "ext/date/lib/parse_date.re"
1248
50.7M
  {
1249
50.7M
    goto std;
1250
25.3M
  }
1251
0
#line 1252 "ext/date/lib/parse_date.c"
1252
10.1M
yy9:
1253
10.1M
  YYDEBUG(9, *YYCURSOR);
1254
10.1M
  yych = *++YYCURSOR;
1255
10.1M
  if (yych <= '@') goto yy5;
1256
2.18M
  if (yych <= 'Z') goto yy42;
1257
1.64M
  if (yych <= '`') goto yy5;
1258
1.46M
  if (yych <= 'z') goto yy42;
1259
556k
  goto yy5;
1260
23.1M
yy10:
1261
23.1M
  YYDEBUG(10, *YYCURSOR);
1262
23.1M
  yyaccept = 1;
1263
23.1M
  yych = *(YYMARKER = ++YYCURSOR);
1264
23.1M
  if (yybm[0+yych] & 4) {
1265
3.90M
    goto yy62;
1266
3.90M
  }
1267
19.2M
  if (yych <= ' ') {
1268
2.44M
    if (yych == '\t') goto yy60;
1269
2.31M
    if (yych <= 0x1F) goto yy5;
1270
458k
    goto yy60;
1271
16.7M
  } else {
1272
16.7M
    if (yych <= '1') {
1273
4.98M
      if (yych <= '/') goto yy5;
1274
3.30M
      goto yy64;
1275
11.7M
    } else {
1276
11.7M
      if (yych <= '2') goto yy65;
1277
10.4M
      if (yych <= '9') goto yy66;
1278
7.59M
      goto yy5;
1279
10.4M
    }
1280
16.7M
  }
1281
13.0M
yy11:
1282
13.0M
  YYDEBUG(11, *YYCURSOR);
1283
13.0M
  ++YYCURSOR;
1284
13.0M
  YYDEBUG(12, *YYCURSOR);
1285
13.0M
#line 1984 "ext/date/lib/parse_date.re"
1286
13.0M
  {
1287
13.0M
    goto std;
1288
19.2M
  }
1289
0
#line 1290 "ext/date/lib/parse_date.c"
1290
36.3M
yy13:
1291
36.3M
  YYDEBUG(13, *YYCURSOR);
1292
36.3M
  yyaccept = 1;
1293
36.3M
  yych = *(YYMARKER = ++YYCURSOR);
1294
36.3M
  if (yych <= 'a') {
1295
31.2M
    if (yych <= '@') {
1296
28.2M
      if (yych <= '-') {
1297
11.4M
        if (yych <= 0x1F) {
1298
4.96M
          if (yych == '\t') goto yy67;
1299
4.77M
          goto yy5;
1300
6.50M
        } else {
1301
6.50M
          if (yych <= ' ') goto yy69;
1302
3.95M
          if (yych <= ',') goto yy5;
1303
897k
          goto yy70;
1304
3.95M
        }
1305
16.8M
      } else {
1306
16.8M
        if (yych <= '0') {
1307
9.16M
          if (yych <= '.') goto yy71;
1308
8.62M
          if (yych <= '/') goto yy72;
1309
8.20M
          goto yy73;
1310
8.62M
        } else {
1311
7.63M
          if (yych <= '9') goto yy74;
1312
2.15M
          if (yych <= ':') goto yy75;
1313
1.27M
          goto yy5;
1314
2.15M
        }
1315
16.8M
      }
1316
28.2M
    } else {
1317
2.98M
      if (yych <= 'G') {
1318
754k
        if (yych <= 'D') {
1319
411k
          if (yych <= 'A') goto yy69;
1320
206k
          if (yych <= 'C') goto yy5;
1321
93.7k
          goto yy69;
1322
342k
        } else {
1323
342k
          if (yych == 'F') goto yy69;
1324
201k
          goto yy5;
1325
342k
        }
1326
2.22M
      } else {
1327
2.22M
        if (yych <= 'O') {
1328
829k
          if (yych <= 'J') goto yy69;
1329
421k
          if (yych <= 'L') goto yy5;
1330
284k
          goto yy69;
1331
1.39M
        } else {
1332
1.39M
          if (yych <= 'R') goto yy5;
1333
1.21M
          if (yych <= 'Y') goto yy69;
1334
559k
          if (yych <= '`') goto yy5;
1335
178k
          goto yy69;
1336
559k
        }
1337
2.22M
      }
1338
2.98M
    }
1339
31.2M
  } else {
1340
5.10M
    if (yych <= 'q') {
1341
1.72M
      if (yych <= 'h') {
1342
774k
        if (yych <= 'e') {
1343
486k
          if (yych == 'd') goto yy69;
1344
331k
          goto yy5;
1345
486k
        } else {
1346
288k
          if (yych == 'g') goto yy5;
1347
214k
          goto yy69;
1348
288k
        }
1349
952k
      } else {
1350
952k
        if (yych <= 'l') {
1351
291k
          if (yych == 'j') goto yy69;
1352
244k
          goto yy5;
1353
661k
        } else {
1354
661k
          if (yych == 'n') goto yy93;
1355
509k
          if (yych <= 'o') goto yy69;
1356
288k
          goto yy5;
1357
509k
        }
1358
952k
      }
1359
3.37M
    } else {
1360
3.37M
      if (yych <= 'w') {
1361
941k
        if (yych <= 't') {
1362
744k
          if (yych <= 'r') goto yy94;
1363
528k
          if (yych <= 's') goto yy95;
1364
375k
          goto yy96;
1365
528k
        } else {
1366
196k
          if (yych == 'v') goto yy5;
1367
118k
          goto yy69;
1368
196k
        }
1369
2.43M
      } else {
1370
2.43M
        if (yych <= 0xC1) {
1371
1.14M
          if (yych == 'y') goto yy69;
1372
1.04M
          goto yy5;
1373
1.28M
        } else {
1374
1.28M
          if (yych <= 0xC2) goto yy97;
1375
1.19M
          if (yych == 0xE2) goto yy98;
1376
1.11M
          goto yy5;
1377
1.19M
        }
1378
2.43M
      }
1379
3.37M
    }
1380
5.10M
  }
1381
23.1M
yy14:
1382
23.1M
  YYDEBUG(14, *YYCURSOR);
1383
23.1M
  yyaccept = 1;
1384
23.1M
  yych = *(YYMARKER = ++YYCURSOR);
1385
23.1M
  if (yych <= 'a') {
1386
20.0M
    if (yych <= '@') {
1387
18.4M
      if (yych <= '-') {
1388
4.69M
        if (yych <= 0x1F) {
1389
2.02M
          if (yych == '\t') goto yy99;
1390
1.91M
          goto yy5;
1391
2.67M
        } else {
1392
2.67M
          if (yych <= ' ') goto yy101;
1393
2.04M
          if (yych <= ',') goto yy5;
1394
576k
          goto yy70;
1395
2.04M
        }
1396
13.7M
      } else {
1397
13.7M
        if (yych <= '2') {
1398
6.73M
          if (yych <= '.') goto yy102;
1399
6.40M
          if (yych <= '/') goto yy72;
1400
6.06M
          goto yy74;
1401
7.00M
        } else {
1402
7.00M
          if (yych <= '9') goto yy103;
1403
3.66M
          if (yych <= ':') goto yy104;
1404
1.13M
          goto yy5;
1405
3.66M
        }
1406
13.7M
      }
1407
18.4M
    } else {
1408
1.57M
      if (yych <= 'G') {
1409
474k
        if (yych <= 'D') {
1410
213k
          if (yych <= 'A') goto yy101;
1411
97.9k
          if (yych <= 'C') goto yy5;
1412
53.8k
          goto yy101;
1413
261k
        } else {
1414
261k
          if (yych == 'F') goto yy101;
1415
163k
          goto yy5;
1416
261k
        }
1417
1.10M
      } else {
1418
1.10M
        if (yych <= 'P') {
1419
404k
          if (yych <= 'J') goto yy101;
1420
280k
          if (yych <= 'L') goto yy5;
1421
216k
          goto yy101;
1422
699k
        } else {
1423
699k
          if (yych <= 'R') goto yy5;
1424
655k
          if (yych <= 'Y') goto yy101;
1425
325k
          if (yych <= '`') goto yy5;
1426
116k
          goto yy101;
1427
325k
        }
1428
1.10M
      }
1429
1.57M
    }
1430
20.0M
  } else {
1431
3.17M
    if (yych <= 'q') {
1432
1.12M
      if (yych <= 'h') {
1433
524k
        if (yych <= 'e') {
1434
304k
          if (yych == 'd') goto yy101;
1435
214k
          goto yy5;
1436
304k
        } else {
1437
220k
          if (yych == 'g') goto yy5;
1438
153k
          goto yy101;
1439
220k
        }
1440
604k
      } else {
1441
604k
        if (yych <= 'l') {
1442
198k
          if (yych == 'j') goto yy101;
1443
169k
          goto yy5;
1444
405k
        } else {
1445
405k
          if (yych == 'n') goto yy93;
1446
285k
          if (yych <= 'p') goto yy101;
1447
62.8k
          goto yy5;
1448
285k
        }
1449
604k
      }
1450
2.04M
    } else {
1451
2.04M
      if (yych <= 'w') {
1452
509k
        if (yych <= 't') {
1453
376k
          if (yych <= 'r') goto yy94;
1454
287k
          if (yych <= 's') goto yy95;
1455
162k
          goto yy96;
1456
287k
        } else {
1457
132k
          if (yych == 'v') goto yy5;
1458
87.0k
          goto yy101;
1459
132k
        }
1460
1.53M
      } else {
1461
1.53M
        if (yych <= 0xC1) {
1462
730k
          if (yych == 'y') goto yy101;
1463
682k
          goto yy5;
1464
803k
        } else {
1465
803k
          if (yych <= 0xC2) goto yy107;
1466
733k
          if (yych == 0xE2) goto yy108;
1467
652k
          goto yy5;
1468
733k
        }
1469
1.53M
      }
1470
2.04M
    }
1471
3.17M
  }
1472
15.0M
yy15:
1473
15.0M
  YYDEBUG(15, *YYCURSOR);
1474
15.0M
  yyaccept = 1;
1475
15.0M
  yych = *(YYMARKER = ++YYCURSOR);
1476
15.0M
  if (yych <= 'a') {
1477
12.5M
    if (yych <= '@') {
1478
11.3M
      if (yych <= '-') {
1479
3.73M
        if (yych <= 0x1F) {
1480
1.62M
          if (yych == '\t') goto yy99;
1481
1.50M
          goto yy5;
1482
2.10M
        } else {
1483
2.10M
          if (yych <= ' ') goto yy101;
1484
1.61M
          if (yych <= ',') goto yy5;
1485
499k
          goto yy70;
1486
1.61M
        }
1487
7.62M
      } else {
1488
7.62M
        if (yych <= '4') {
1489
4.10M
          if (yych <= '.') goto yy102;
1490
3.87M
          if (yych <= '/') goto yy72;
1491
3.69M
          goto yy103;
1492
3.87M
        } else {
1493
3.51M
          if (yych <= '9') goto yy109;
1494
2.26M
          if (yych <= ':') goto yy104;
1495
831k
          goto yy5;
1496
2.26M
        }
1497
7.62M
      }
1498
11.3M
    } else {
1499
1.19M
      if (yych <= 'G') {
1500
315k
        if (yych <= 'D') {
1501
170k
          if (yych <= 'A') goto yy101;
1502
79.5k
          if (yych <= 'C') goto yy5;
1503
34.7k
          goto yy101;
1504
144k
        } else {
1505
144k
          if (yych == 'F') goto yy101;
1506
65.4k
          goto yy5;
1507
144k
        }
1508
877k
      } else {
1509
877k
        if (yych <= 'P') {
1510
304k
          if (yych <= 'J') goto yy101;
1511
200k
          if (yych <= 'L') goto yy5;
1512
165k
          goto yy101;
1513
572k
        } else {
1514
572k
          if (yych <= 'R') goto yy5;
1515
527k
          if (yych <= 'Y') goto yy101;
1516
279k
          if (yych <= '`') goto yy5;
1517
87.0k
          goto yy101;
1518
279k
        }
1519
877k
      }
1520
1.19M
    }
1521
12.5M
  } else {
1522
2.46M
    if (yych <= 'q') {
1523
803k
      if (yych <= 'h') {
1524
403k
        if (yych <= 'e') {
1525
271k
          if (yych == 'd') goto yy101;
1526
196k
          goto yy5;
1527
271k
        } else {
1528
132k
          if (yych == 'g') goto yy5;
1529
93.2k
          goto yy101;
1530
132k
        }
1531
403k
      } else {
1532
399k
        if (yych <= 'l') {
1533
119k
          if (yych == 'j') goto yy101;
1534
96.9k
          goto yy5;
1535
280k
        } else {
1536
280k
          if (yych == 'n') goto yy93;
1537
203k
          if (yych <= 'p') goto yy101;
1538
24.7k
          goto yy5;
1539
203k
        }
1540
399k
      }
1541
1.66M
    } else {
1542
1.66M
      if (yych <= 'w') {
1543
441k
        if (yych <= 't') {
1544
329k
          if (yych <= 'r') goto yy94;
1545
239k
          if (yych <= 's') goto yy95;
1546
149k
          goto yy96;
1547
239k
        } else {
1548
111k
          if (yych == 'v') goto yy5;
1549
66.3k
          goto yy101;
1550
111k
        }
1551
1.22M
      } else {
1552
1.22M
        if (yych <= 0xC1) {
1553
625k
          if (yych == 'y') goto yy101;
1554
597k
          goto yy5;
1555
625k
        } else {
1556
598k
          if (yych <= 0xC2) goto yy107;
1557
491k
          if (yych == 0xE2) goto yy108;
1558
441k
          goto yy5;
1559
491k
        }
1560
1.22M
      }
1561
1.66M
    }
1562
2.46M
  }
1563
8.31M
yy16:
1564
8.31M
  YYDEBUG(16, *YYCURSOR);
1565
8.31M
  yyaccept = 1;
1566
8.31M
  yych = *(YYMARKER = ++YYCURSOR);
1567
8.31M
  if (yych <= 'a') {
1568
6.68M
    if (yych <= '@') {
1569
5.97M
      if (yych <= '-') {
1570
1.88M
        if (yych <= 0x1F) {
1571
852k
          if (yych == '\t') goto yy99;
1572
804k
          goto yy5;
1573
1.03M
        } else {
1574
1.03M
          if (yych <= ' ') goto yy101;
1575
840k
          if (yych <= ',') goto yy5;
1576
267k
          goto yy70;
1577
840k
        }
1578
4.08M
      } else {
1579
4.08M
        if (yych <= '1') {
1580
1.31M
          if (yych <= '.') goto yy102;
1581
1.19M
          if (yych <= '/') goto yy72;
1582
1.03M
          goto yy109;
1583
2.77M
        } else {
1584
2.77M
          if (yych <= '9') goto yy110;
1585
703k
          if (yych <= ':') goto yy104;
1586
379k
          goto yy5;
1587
703k
        }
1588
4.08M
      }
1589
5.97M
    } else {
1590
707k
      if (yych <= 'G') {
1591
189k
        if (yych <= 'D') {
1592
90.1k
          if (yych <= 'A') goto yy101;
1593
51.5k
          if (yych <= 'C') goto yy5;
1594
22.9k
          goto yy101;
1595
99.6k
        } else {
1596
99.6k
          if (yych == 'F') goto yy101;
1597
56.6k
          goto yy5;
1598
99.6k
        }
1599
517k
      } else {
1600
517k
        if (yych <= 'P') {
1601
196k
          if (yych <= 'J') goto yy101;
1602
124k
          if (yych <= 'L') goto yy5;
1603
95.1k
          goto yy101;
1604
320k
        } else {
1605
320k
          if (yych <= 'R') goto yy5;
1606
295k
          if (yych <= 'Y') goto yy101;
1607
150k
          if (yych <= '`') goto yy5;
1608
45.6k
          goto yy101;
1609
150k
        }
1610
517k
      }
1611
707k
    }
1612
6.68M
  } else {
1613
1.63M
    if (yych <= 'q') {
1614
514k
      if (yych <= 'h') {
1615
233k
        if (yych <= 'e') {
1616
139k
          if (yych == 'd') goto yy101;
1617
107k
          goto yy5;
1618
139k
        } else {
1619
93.6k
          if (yych == 'g') goto yy5;
1620
63.1k
          goto yy101;
1621
93.6k
        }
1622
281k
      } else {
1623
281k
        if (yych <= 'l') {
1624
101k
          if (yych == 'j') goto yy101;
1625
84.2k
          goto yy5;
1626
179k
        } else {
1627
179k
          if (yych == 'n') goto yy93;
1628
132k
          if (yych <= 'p') goto yy101;
1629
20.9k
          goto yy5;
1630
132k
        }
1631
281k
      }
1632
1.11M
    } else {
1633
1.11M
      if (yych <= 'w') {
1634
296k
        if (yych <= 't') {
1635
222k
          if (yych <= 'r') goto yy94;
1636
151k
          if (yych <= 's') goto yy95;
1637
79.7k
          goto yy96;
1638
151k
        } else {
1639
73.3k
          if (yych == 'v') goto yy5;
1640
47.8k
          goto yy101;
1641
73.3k
        }
1642
823k
      } else {
1643
823k
        if (yych <= 0xC1) {
1644
376k
          if (yych == 'y') goto yy101;
1645
349k
          goto yy5;
1646
446k
        } else {
1647
446k
          if (yych <= 0xC2) goto yy107;
1648
401k
          if (yych == 0xE2) goto yy108;
1649
352k
          goto yy5;
1650
401k
        }
1651
823k
      }
1652
1.11M
    }
1653
1.63M
  }
1654
45.4M
yy17:
1655
45.4M
  YYDEBUG(17, *YYCURSOR);
1656
45.4M
  yyaccept = 1;
1657
45.4M
  yych = *(YYMARKER = ++YYCURSOR);
1658
45.4M
  if (yych <= 'c') {
1659
37.9M
    if (yych <= 'A') {
1660
34.4M
      if (yych <= '-') {
1661
11.4M
        if (yych <= 0x1F) {
1662
5.25M
          if (yych == '\t') goto yy99;
1663
4.95M
          goto yy5;
1664
6.24M
        } else {
1665
6.24M
          if (yych <= ' ') goto yy101;
1666
5.01M
          if (yych <= ',') goto yy5;
1667
1.41M
          goto yy70;
1668
5.01M
        }
1669
22.9M
      } else {
1670
22.9M
        if (yych <= '9') {
1671
17.6M
          if (yych <= '.') goto yy102;
1672
16.9M
          if (yych <= '/') goto yy72;
1673
16.2M
          goto yy110;
1674
16.9M
        } else {
1675
5.28M
          if (yych <= ':') goto yy104;
1676
2.44M
          if (yych <= '@') goto yy5;
1677
170k
          goto yy101;
1678
2.44M
        }
1679
22.9M
      }
1680
34.4M
    } else {
1681
3.49M
      if (yych <= 'J') {
1682
1.06M
        if (yych <= 'E') {
1683
533k
          if (yych == 'D') goto yy101;
1684
397k
          goto yy5;
1685
536k
        } else {
1686
536k
          if (yych == 'G') goto yy5;
1687
477k
          goto yy101;
1688
536k
        }
1689
2.42M
      } else {
1690
2.42M
        if (yych <= 'R') {
1691
667k
          if (yych <= 'L') goto yy5;
1692
558k
          if (yych <= 'P') goto yy101;
1693
104k
          goto yy5;
1694
1.75M
        } else {
1695
1.75M
          if (yych <= 'Y') goto yy101;
1696
874k
          if (yych == 'a') goto yy101;
1697
662k
          goto yy5;
1698
874k
        }
1699
2.42M
      }
1700
3.49M
    }
1701
37.9M
  } else {
1702
7.54M
    if (yych <= 'q') {
1703
2.14M
      if (yych <= 'i') {
1704
1.12M
        if (yych <= 'f') {
1705
705k
          if (yych == 'e') goto yy5;
1706
296k
          goto yy101;
1707
705k
        } else {
1708
417k
          if (yych == 'h') goto yy101;
1709
304k
          goto yy5;
1710
417k
        }
1711
1.12M
      } else {
1712
1.02M
        if (yych <= 'm') {
1713
410k
          if (yych <= 'j') goto yy101;
1714
337k
          if (yych <= 'l') goto yy5;
1715
179k
          goto yy101;
1716
611k
        } else {
1717
611k
          if (yych <= 'n') goto yy93;
1718
410k
          if (yych <= 'p') goto yy101;
1719
88.5k
          goto yy5;
1720
410k
        }
1721
1.02M
      }
1722
5.39M
    } else {
1723
5.39M
      if (yych <= 'w') {
1724
1.29M
        if (yych <= 't') {
1725
799k
          if (yych <= 'r') goto yy94;
1726
603k
          if (yych <= 's') goto yy95;
1727
347k
          goto yy96;
1728
603k
        } else {
1729
491k
          if (yych == 'v') goto yy5;
1730
343k
          goto yy101;
1731
491k
        }
1732
4.10M
      } else {
1733
4.10M
        if (yych <= 0xC1) {
1734
2.08M
          if (yych == 'y') goto yy101;
1735
1.96M
          goto yy5;
1736
2.08M
        } else {
1737
2.01M
          if (yych <= 0xC2) goto yy107;
1738
1.81M
          if (yych == 0xE2) goto yy108;
1739
1.65M
          goto yy5;
1740
1.81M
        }
1741
4.10M
      }
1742
5.39M
    }
1743
7.54M
  }
1744
14.0M
yy18:
1745
14.0M
  YYDEBUG(18, *YYCURSOR);
1746
14.0M
  yyaccept = 1;
1747
14.0M
  yych = *(YYMARKER = ++YYCURSOR);
1748
14.0M
  if (yybm[0+yych] & 8) {
1749
1.22M
    goto yy112;
1750
1.22M
  }
1751
12.8M
  if (yych == '-') goto yy111;
1752
12.7M
  goto yy5;
1753
12.7M
yy19:
1754
5.97M
  YYDEBUG(19, *YYCURSOR);
1755
5.97M
  yych = *++YYCURSOR;
1756
5.97M
  if (yych <= 'U') {
1757
3.52M
    if (yych <= 'F') {
1758
2.83M
      if (yych == ')') goto yy115;
1759
2.80M
      if (yych >= 'A') goto yy116;
1760
2.80M
    } else {
1761
696k
      if (yych <= 'O') {
1762
290k
        if (yych <= 'G') goto yy117;
1763
263k
        goto yy116;
1764
406k
      } else {
1765
406k
        if (yych <= 'P') goto yy118;
1766
286k
        if (yych <= 'T') goto yy116;
1767
121k
        goto yy119;
1768
286k
      }
1769
696k
    }
1770
3.52M
  } else {
1771
2.44M
    if (yych <= 'o') {
1772
869k
      if (yych <= '`') {
1773
214k
        if (yych <= 'Z') goto yy116;
1774
654k
      } else {
1775
654k
        if (yych == 'g') goto yy121;
1776
498k
        goto yy120;
1777
654k
      }
1778
1.57M
    } else {
1779
1.57M
      if (yych <= 't') {
1780
568k
        if (yych <= 'p') goto yy122;
1781
208k
        goto yy120;
1782
1.00M
      } else {
1783
1.00M
        if (yych <= 'u') goto yy123;
1784
470k
        if (yych <= 'z') goto yy120;
1785
470k
      }
1786
1.57M
    }
1787
2.44M
  }
1788
176M
yy20:
1789
176M
  YYDEBUG(20, *YYCURSOR);
1790
176M
#line 1899 "ext/date/lib/parse_date.re"
1791
176M
  {
1792
176M
    int tz_not_found;
1793
176M
    DEBUG_OUTPUT("tzcorrection | tz");
1794
176M
    TIMELIB_INIT;
1795
176M
    TIMELIB_HAVE_TZ();
1796
336k
    timelib_eat_spaces(&ptr);
1797
336k
    s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
1798
336k
    if (tz_not_found) {
1799
158k
      add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
1800
158k
    }
1801
336k
    TIMELIB_DEINIT;
1802
336k
    return TIMELIB_TIMEZONE;
1803
176M
  }
1804
0
#line 1805 "ext/date/lib/parse_date.c"
1805
3.26M
yy21:
1806
3.26M
  YYDEBUG(21, *YYCURSOR);
1807
3.26M
  yych = *++YYCURSOR;
1808
3.26M
  if (yych <= 'A') {
1809
1.44M
    if (yych == ')') goto yy115;
1810
1.41M
    if (yych <= '@') goto yy20;
1811
132k
    goto yy124;
1812
1.81M
  } else {
1813
1.81M
    if (yych <= '`') {
1814
850k
      if (yych <= 'Z') goto yy116;
1815
91.5k
      goto yy20;
1816
967k
    } else {
1817
967k
      if (yych <= 'a') goto yy125;
1818
620k
      if (yych <= 'z') goto yy120;
1819
192k
      goto yy20;
1820
620k
    }
1821
1.81M
  }
1822
12.0M
yy22:
1823
12.0M
  YYDEBUG(22, *YYCURSOR);
1824
12.0M
  yych = *++YYCURSOR;
1825
12.0M
  if (yych <= '@') {
1826
5.05M
    if (yych == ')') goto yy115;
1827
4.95M
    goto yy20;
1828
6.98M
  } else {
1829
6.98M
    if (yych <= 'Z') goto yy116;
1830
3.71M
    if (yych <= '`') goto yy20;
1831
3.36M
    if (yych <= 'z') goto yy120;
1832
1.10M
    goto yy20;
1833
3.36M
  }
1834
5.05M
yy23:
1835
5.05M
  YYDEBUG(23, *YYCURSOR);
1836
5.05M
  yych = *++YYCURSOR;
1837
5.05M
  if (yych <= 'E') {
1838
2.54M
    if (yych <= ')') {
1839
1.14M
      if (yych <= '(') goto yy20;
1840
25.8k
      goto yy115;
1841
1.39M
    } else {
1842
1.39M
      if (yych <= '@') goto yy20;
1843
793k
      if (yych <= 'D') goto yy116;
1844
170k
      goto yy126;
1845
793k
    }
1846
2.54M
  } else {
1847
2.50M
    if (yych <= 'd') {
1848
1.63M
      if (yych <= 'Z') goto yy116;
1849
1.19M
      if (yych <= '`') goto yy20;
1850
1.05M
      goto yy120;
1851
1.19M
    } else {
1852
872k
      if (yych <= 'e') goto yy127;
1853
600k
      if (yych <= 'z') goto yy120;
1854
251k
      goto yy20;
1855
600k
    }
1856
2.50M
  }
1857
4.07M
yy24:
1858
4.07M
  YYDEBUG(24, *YYCURSOR);
1859
4.07M
  yych = *++YYCURSOR;
1860
4.07M
  if (yych <= 'L') {
1861
1.75M
    if (yych <= '@') {
1862
1.18M
      if (yych == ')') goto yy115;
1863
1.15M
      goto yy20;
1864
1.18M
    } else {
1865
563k
      if (yych == 'I') goto yy128;
1866
528k
      if (yych <= 'K') goto yy116;
1867
44.9k
      goto yy129;
1868
528k
    }
1869
2.32M
  } else {
1870
2.32M
    if (yych <= 'i') {
1871
1.18M
      if (yych <= 'Z') goto yy116;
1872
817k
      if (yych <= '`') goto yy20;
1873
697k
      if (yych <= 'h') goto yy120;
1874
492k
      goto yy130;
1875
1.14M
    } else {
1876
1.14M
      if (yych == 'l') goto yy131;
1877
788k
      if (yych <= 'z') goto yy120;
1878
251k
      goto yy20;
1879
788k
    }
1880
2.32M
  }
1881
3.86M
yy25:
1882
3.86M
  YYDEBUG(25, *YYCURSOR);
1883
3.86M
  yych = *++YYCURSOR;
1884
3.86M
  if (yych <= 'R') {
1885
1.46M
    if (yych <= 'E') {
1886
959k
      if (yych <= ')') {
1887
457k
        if (yych <= '(') goto yy20;
1888
20.5k
        goto yy115;
1889
502k
      } else {
1890
502k
        if (yych <= '@') goto yy20;
1891
157k
        if (yych <= 'D') goto yy116;
1892
66.2k
        goto yy132;
1893
157k
      }
1894
959k
    } else {
1895
510k
      if (yych <= 'N') {
1896
251k
        if (yych == 'I') goto yy133;
1897
168k
        goto yy116;
1898
258k
      } else {
1899
258k
        if (yych <= 'O') goto yy134;
1900
94.2k
        if (yych <= 'Q') goto yy116;
1901
71.1k
        goto yy135;
1902
94.2k
      }
1903
510k
    }
1904
2.39M
  } else {
1905
2.39M
    if (yych <= 'i') {
1906
1.07M
      if (yych <= 'd') {
1907
230k
        if (yych <= 'Z') goto yy116;
1908
137k
        if (yych <= '`') goto yy20;
1909
78.3k
        goto yy120;
1910
845k
      } else {
1911
845k
        if (yych <= 'e') goto yy136;
1912
410k
        if (yych <= 'h') goto yy120;
1913
368k
        goto yy137;
1914
410k
      }
1915
1.32M
    } else {
1916
1.32M
      if (yych <= 'q') {
1917
450k
        if (yych == 'o') goto yy138;
1918
71.9k
        goto yy120;
1919
871k
      } else {
1920
871k
        if (yych <= 'r') goto yy139;
1921
337k
        if (yych <= 'z') goto yy120;
1922
261k
        goto yy20;
1923
337k
      }
1924
1.32M
    }
1925
2.39M
  }
1926
1.66M
yy26:
1927
1.66M
  YYDEBUG(26, *YYCURSOR);
1928
1.66M
  yych = *++YYCURSOR;
1929
1.66M
  if (yych <= 'L') {
1930
726k
    if (yych == ')') goto yy115;
1931
720k
    if (yych <= '@') goto yy20;
1932
212k
    goto yy116;
1933
934k
  } else {
1934
934k
    if (yych <= 'Z') {
1935
469k
      if (yych <= 'M') goto yy140;
1936
121k
      goto yy116;
1937
469k
    } else {
1938
465k
      if (yych <= '`') goto yy20;
1939
418k
      if (yych <= 'z') goto yy120;
1940
155k
      goto yy20;
1941
418k
    }
1942
934k
  }
1943
3.58M
yy27:
1944
3.58M
  YYDEBUG(27, *YYCURSOR);
1945
3.58M
  yyaccept = 2;
1946
3.58M
  yych = *(YYMARKER = ++YYCURSOR);
1947
3.58M
  if (yych <= '9') {
1948
1.40M
    if (yych <= '(') {
1949
770k
      if (yych <= '\t') {
1950
420k
        if (yych <= 0x08) goto yy20;
1951
72.8k
        goto yy142;
1952
420k
      } else {
1953
350k
        if (yych == ' ') goto yy142;
1954
249k
        goto yy20;
1955
350k
      }
1956
770k
    } else {
1957
636k
      if (yych <= ',') {
1958
96.4k
        if (yych <= ')') goto yy115;
1959
40.2k
        goto yy20;
1960
539k
      } else {
1961
539k
        if (yych == '/') goto yy20;
1962
523k
        goto yy142;
1963
539k
      }
1964
636k
    }
1965
2.17M
  } else {
1966
2.17M
    if (yych <= 'V') {
1967
1.28M
      if (yych <= 'H') {
1968
320k
        if (yych <= '@') goto yy20;
1969
207k
        goto yy116;
1970
959k
      } else {
1971
959k
        if (yych <= 'I') goto yy146;
1972
357k
        if (yych <= 'U') goto yy116;
1973
84.6k
        goto yy147;
1974
357k
      }
1975
1.28M
    } else {
1976
896k
      if (yych <= 'Z') {
1977
55.6k
        if (yych == 'X') goto yy147;
1978
28.3k
        goto yy116;
1979
840k
      } else {
1980
840k
        if (yych <= '`') goto yy20;
1981
776k
        if (yych <= 'z') goto yy120;
1982
275k
        goto yy20;
1983
776k
      }
1984
896k
    }
1985
2.17M
  }
1986
2.91M
yy28:
1987
2.91M
  YYDEBUG(28, *YYCURSOR);
1988
2.91M
  yych = *++YYCURSOR;
1989
2.91M
  if (yych <= 'U') {
1990
1.34M
    if (yych <= '@') {
1991
721k
      if (yych == ')') goto yy115;
1992
708k
      goto yy20;
1993
721k
    } else {
1994
627k
      if (yych <= 'A') goto yy148;
1995
548k
      if (yych <= 'T') goto yy116;
1996
64.3k
      goto yy149;
1997
548k
    }
1998
1.56M
  } else {
1999
1.56M
    if (yych <= 'a') {
2000
524k
      if (yych <= 'Z') goto yy116;
2001
486k
      if (yych <= '`') goto yy20;
2002
409k
      goto yy150;
2003
1.04M
    } else {
2004
1.04M
      if (yych == 'u') goto yy151;
2005
490k
      if (yych <= 'z') goto yy120;
2006
214k
      goto yy20;
2007
490k
    }
2008
1.56M
  }
2009
1.95M
yy29:
2010
1.95M
  YYDEBUG(29, *YYCURSOR);
2011
1.95M
  yych = *++YYCURSOR;
2012
1.95M
  if (yych <= 'A') {
2013
720k
    if (yych == ')') goto yy115;
2014
706k
    if (yych <= '@') goto yy20;
2015
31.0k
    goto yy152;
2016
1.23M
  } else {
2017
1.23M
    if (yych <= '`') {
2018
463k
      if (yych <= 'Z') goto yy116;
2019
83.9k
      goto yy20;
2020
774k
    } else {
2021
774k
      if (yych <= 'a') goto yy153;
2022
514k
      if (yych <= 'z') goto yy120;
2023
169k
      goto yy20;
2024
514k
    }
2025
1.23M
  }
2026
2.96M
yy30:
2027
2.96M
  YYDEBUG(30, *YYCURSOR);
2028
2.96M
  yych = *++YYCURSOR;
2029
2.96M
  if (yych <= 'O') {
2030
1.27M
    if (yych <= 'A') {
2031
962k
      if (yych == ')') goto yy115;
2032
941k
      if (yych <= '@') goto yy20;
2033
182k
      goto yy154;
2034
941k
    } else {
2035
317k
      if (yych == 'I') goto yy155;
2036
232k
      if (yych <= 'N') goto yy116;
2037
25.9k
      goto yy156;
2038
232k
    }
2039
1.68M
  } else {
2040
1.68M
    if (yych <= 'h') {
2041
738k
      if (yych <= 'Z') goto yy116;
2042
571k
      if (yych <= '`') goto yy20;
2043
511k
      if (yych <= 'a') goto yy157;
2044
87.4k
      goto yy120;
2045
942k
    } else {
2046
942k
      if (yych <= 'n') {
2047
460k
        if (yych <= 'i') goto yy158;
2048
55.9k
        goto yy120;
2049
481k
      } else {
2050
481k
        if (yych <= 'o') goto yy159;
2051
322k
        if (yych <= 'z') goto yy120;
2052
209k
        goto yy20;
2053
322k
      }
2054
942k
    }
2055
1.68M
  }
2056
2.56M
yy31:
2057
2.56M
  YYDEBUG(31, *YYCURSOR);
2058
2.56M
  yych = *++YYCURSOR;
2059
2.56M
  if (yych <= 'O') {
2060
1.05M
    if (yych <= 'D') {
2061
735k
      if (yych == ')') goto yy115;
2062
717k
      if (yych <= '@') goto yy20;
2063
81.2k
      goto yy116;
2064
717k
    } else {
2065
320k
      if (yych <= 'H') {
2066
70.5k
        if (yych <= 'E') goto yy160;
2067
40.5k
        goto yy116;
2068
250k
      } else {
2069
250k
        if (yych <= 'I') goto yy161;
2070
221k
        if (yych <= 'N') goto yy116;
2071
58.5k
        goto yy162;
2072
221k
      }
2073
320k
    }
2074
1.51M
  } else {
2075
1.51M
    if (yych <= 'h') {
2076
504k
      if (yych <= '`') {
2077
148k
        if (yych <= 'Z') goto yy116;
2078
64.5k
        goto yy20;
2079
355k
      } else {
2080
355k
        if (yych == 'e') goto yy163;
2081
102k
        goto yy120;
2082
355k
      }
2083
1.00M
    } else {
2084
1.00M
      if (yych <= 'n') {
2085
108k
        if (yych <= 'i') goto yy164;
2086
51.4k
        goto yy120;
2087
897k
      } else {
2088
897k
        if (yych <= 'o') goto yy165;
2089
315k
        if (yych <= 'z') goto yy120;
2090
193k
        goto yy20;
2091
315k
      }
2092
1.00M
    }
2093
1.51M
  }
2094
3.37M
yy32:
2095
3.37M
  YYDEBUG(32, *YYCURSOR);
2096
3.37M
  yych = *++YYCURSOR;
2097
3.37M
  if (yych <= 'C') {
2098
1.77M
    if (yych <= ')') {
2099
372k
      if (yych <= '(') goto yy20;
2100
11.6k
      goto yy115;
2101
1.40M
    } else {
2102
1.40M
      if (yych <= '@') goto yy20;
2103
175k
      if (yych <= 'B') goto yy116;
2104
129k
      goto yy166;
2105
175k
    }
2106
1.77M
  } else {
2107
1.59M
    if (yych <= 'b') {
2108
625k
      if (yych <= 'Z') goto yy116;
2109
140k
      if (yych <= '`') goto yy20;
2110
50.0k
      goto yy120;
2111
969k
    } else {
2112
969k
      if (yych <= 'c') goto yy167;
2113
608k
      if (yych <= 'z') goto yy120;
2114
256k
      goto yy20;
2115
608k
    }
2116
1.59M
  }
2117
3.91M
yy33:
2118
3.91M
  YYDEBUG(33, *YYCURSOR);
2119
3.91M
  yych = *++YYCURSOR;
2120
3.91M
  if (yych <= 'R') {
2121
2.31M
    if (yych <= ')') {
2122
995k
      if (yych <= '(') goto yy20;
2123
24.0k
      goto yy115;
2124
1.32M
    } else {
2125
1.32M
      if (yych <= '@') goto yy20;
2126
755k
      if (yych <= 'Q') goto yy116;
2127
61.4k
      goto yy168;
2128
755k
    }
2129
2.31M
  } else {
2130
1.60M
    if (yych <= 'q') {
2131
884k
      if (yych <= 'Z') goto yy116;
2132
742k
      if (yych <= '`') goto yy20;
2133
634k
      goto yy120;
2134
742k
    } else {
2135
717k
      if (yych <= 'r') goto yy169;
2136
355k
      if (yych <= 'z') goto yy120;
2137
267k
      goto yy20;
2138
355k
    }
2139
1.60M
  }
2140
4.64M
yy34:
2141
4.64M
  YYDEBUG(34, *YYCURSOR);
2142
4.64M
  yych = *++YYCURSOR;
2143
4.64M
  if (yych <= 'U') {
2144
1.97M
    if (yych <= 'D') {
2145
1.45M
      if (yych <= ')') {
2146
474k
        if (yych <= '(') goto yy20;
2147
14.9k
        goto yy115;
2148
979k
      } else {
2149
979k
        if (yych <= '@') goto yy20;
2150
110k
        if (yych <= 'A') goto yy170;
2151
42.7k
        goto yy116;
2152
110k
      }
2153
1.45M
    } else {
2154
520k
      if (yych <= 'H') {
2155
153k
        if (yych <= 'E') goto yy171;
2156
20.8k
        goto yy116;
2157
366k
      } else {
2158
366k
        if (yych <= 'I') goto yy172;
2159
342k
        if (yych <= 'T') goto yy116;
2160
30.1k
        goto yy156;
2161
342k
      }
2162
520k
    }
2163
2.66M
  } else {
2164
2.66M
    if (yych <= 'e') {
2165
1.72M
      if (yych <= '`') {
2166
142k
        if (yych <= 'Z') goto yy116;
2167
97.9k
        goto yy20;
2168
1.57M
      } else {
2169
1.57M
        if (yych <= 'a') goto yy173;
2170
1.20M
        if (yych <= 'd') goto yy120;
2171
1.13M
        goto yy174;
2172
1.20M
      }
2173
1.72M
    } else {
2174
946k
      if (yych <= 't') {
2175
438k
        if (yych == 'i') goto yy175;
2176
354k
        goto yy120;
2177
508k
      } else {
2178
508k
        if (yych <= 'u') goto yy159;
2179
319k
        if (yych <= 'z') goto yy120;
2180
283k
        goto yy20;
2181
319k
      }
2182
946k
    }
2183
2.66M
  }
2184
5.99M
yy35:
2185
5.99M
  YYDEBUG(35, *YYCURSOR);
2186
5.99M
  yych = *++YYCURSOR;
2187
5.99M
  switch (yych) {
2188
54.5k
  case ')': goto yy115;
2189
172k
  case '0':
2190
452k
  case '1': goto yy176;
2191
158k
  case '2': goto yy178;
2192
27.8k
  case '3':
2193
60.1k
  case '4':
2194
91.2k
  case '5':
2195
114k
  case '6':
2196
136k
  case '7':
2197
153k
  case '8':
2198
185k
  case '9': goto yy179;
2199
54.9k
  case 'A':
2200
70.7k
  case 'B':
2201
92.6k
  case 'C':
2202
149k
  case 'D':
2203
184k
  case 'F':
2204
205k
  case 'G':
2205
286k
  case 'I':
2206
300k
  case 'J':
2207
308k
  case 'K':
2208
329k
  case 'L':
2209
343k
  case 'M':
2210
373k
  case 'N':
2211
437k
  case 'P':
2212
452k
  case 'Q':
2213
477k
  case 'R':
2214
495k
  case 'S':
2215
686k
  case 'T':
2216
709k
  case 'V':
2217
724k
  case 'X':
2218
741k
  case 'Y':
2219
756k
  case 'Z': goto yy116;
2220
59.8k
  case 'E': goto yy161;
2221
141k
  case 'H': goto yy180;
2222
54.2k
  case 'O': goto yy181;
2223
43.9k
  case 'U': goto yy182;
2224
32.8k
  case 'W': goto yy183;
2225
41.2k
  case 'a':
2226
55.5k
  case 'b':
2227
71.7k
  case 'c':
2228
101k
  case 'd':
2229
119k
  case 'f':
2230
141k
  case 'g':
2231
203k
  case 'i':
2232
223k
  case 'j':
2233
231k
  case 'k':
2234
255k
  case 'l':
2235
297k
  case 'm':
2236
328k
  case 'n':
2237
351k
  case 'p':
2238
367k
  case 'q':
2239
404k
  case 'r':
2240
425k
  case 's':
2241
462k
  case 't':
2242
471k
  case 'v':
2243
499k
  case 'x':
2244
569k
  case 'y':
2245
582k
  case 'z': goto yy120;
2246
328k
  case 'e': goto yy164;
2247
655k
  case 'h': goto yy184;
2248
461k
  case 'o': goto yy185;
2249
206k
  case 'u': goto yy186;
2250
227k
  case 'w': goto yy187;
2251
1.59M
  default:  goto yy20;
2252
5.99M
  }
2253
2.77M
yy36:
2254
2.77M
  YYDEBUG(36, *YYCURSOR);
2255
2.77M
  yyaccept = 2;
2256
2.77M
  yych = *(YYMARKER = ++YYCURSOR);
2257
2.77M
  if (yych <= '.') {
2258
524k
    if (yych <= ' ') {
2259
271k
      if (yych == '\t') goto yy142;
2260
260k
      if (yych <= 0x1F) goto yy20;
2261
22.3k
      goto yy142;
2262
260k
    } else {
2263
252k
      if (yych == ')') goto yy115;
2264
240k
      if (yych <= ',') goto yy20;
2265
184k
      goto yy142;
2266
240k
    }
2267
2.25M
  } else {
2268
2.25M
    if (yych <= 'H') {
2269
1.19M
      if (yych <= '/') goto yy20;
2270
1.18M
      if (yych <= '9') goto yy142;
2271
142k
      if (yych <= '@') goto yy20;
2272
92.3k
      goto yy116;
2273
1.05M
    } else {
2274
1.05M
      if (yych <= 'Z') {
2275
536k
        if (yych <= 'I') goto yy188;
2276
281k
        goto yy116;
2277
536k
      } else {
2278
518k
        if (yych <= '`') goto yy20;
2279
460k
        if (yych <= 'z') goto yy120;
2280
214k
        goto yy20;
2281
460k
      }
2282
1.05M
    }
2283
2.25M
  }
2284
2.30M
yy37:
2285
2.30M
  YYDEBUG(37, *YYCURSOR);
2286
2.30M
  yych = *++YYCURSOR;
2287
2.30M
  if (yych <= 'E') {
2288
773k
    if (yych <= ')') {
2289
301k
      if (yych <= '(') goto yy20;
2290
13.1k
      goto yy115;
2291
471k
    } else {
2292
471k
      if (yych <= '@') goto yy20;
2293
190k
      if (yych <= 'D') goto yy116;
2294
145k
      goto yy189;
2295
190k
    }
2296
1.53M
  } else {
2297
1.53M
    if (yych <= 'd') {
2298
517k
      if (yych <= 'Z') goto yy116;
2299
115k
      if (yych <= '`') goto yy20;
2300
39.9k
      goto yy120;
2301
1.01M
    } else {
2302
1.01M
      if (yych <= 'e') goto yy190;
2303
414k
      if (yych <= 'z') goto yy120;
2304
224k
      goto yy20;
2305
414k
    }
2306
1.53M
  }
2307
1.95M
yy38:
2308
1.95M
  YYDEBUG(38, *YYCURSOR);
2309
1.95M
  yyaccept = 2;
2310
1.95M
  yych = *(YYMARKER = ++YYCURSOR);
2311
1.95M
  if (yych <= '.') {
2312
590k
    if (yych <= ' ') {
2313
331k
      if (yych == '\t') goto yy142;
2314
309k
      if (yych <= 0x1F) goto yy20;
2315
29.3k
      goto yy142;
2316
309k
    } else {
2317
259k
      if (yych == ')') goto yy115;
2318
247k
      if (yych <= ',') goto yy20;
2319
171k
      goto yy142;
2320
247k
    }
2321
1.36M
  } else {
2322
1.36M
    if (yych <= 'H') {
2323
663k
      if (yych <= '/') goto yy20;
2324
657k
      if (yych <= '9') goto yy142;
2325
117k
      if (yych <= '@') goto yy20;
2326
63.2k
      goto yy116;
2327
700k
    } else {
2328
700k
      if (yych <= 'Z') {
2329
279k
        if (yych <= 'I') goto yy146;
2330
224k
        goto yy116;
2331
421k
      } else {
2332
421k
        if (yych <= '`') goto yy20;
2333
363k
        if (yych <= 'z') goto yy120;
2334
199k
        goto yy20;
2335
363k
      }
2336
700k
    }
2337
1.36M
  }
2338
1.68M
yy39:
2339
1.68M
  YYDEBUG(39, *YYCURSOR);
2340
1.68M
  yych = *++YYCURSOR;
2341
1.68M
  if (yych <= 'E') {
2342
637k
    if (yych <= ')') {
2343
310k
      if (yych <= '(') goto yy20;
2344
12.6k
      goto yy115;
2345
326k
    } else {
2346
326k
      if (yych <= '@') goto yy20;
2347
73.5k
      if (yych <= 'D') goto yy116;
2348
40.4k
      goto yy191;
2349
73.5k
    }
2350
1.04M
  } else {
2351
1.04M
    if (yych <= 'd') {
2352
343k
      if (yych <= 'Z') goto yy116;
2353
103k
      if (yych <= '`') goto yy20;
2354
32.5k
      goto yy120;
2355
703k
    } else {
2356
703k
      if (yych <= 'e') goto yy192;
2357
305k
      if (yych <= 'z') goto yy120;
2358
174k
      goto yy20;
2359
305k
    }
2360
1.04M
  }
2361
6.62M
yy40:
2362
6.62M
  YYDEBUG(40, *YYCURSOR);
2363
6.62M
  yych = *++YYCURSOR;
2364
6.62M
  if (yych <= 'U') {
2365
3.04M
    if (yych <= 'F') {
2366
2.62M
      if (yych == ')') goto yy115;
2367
2.56M
      if (yych <= '@') goto yy20;
2368
149k
      goto yy116;
2369
2.56M
    } else {
2370
416k
      if (yych <= 'O') {
2371
204k
        if (yych <= 'G') goto yy117;
2372
172k
        goto yy116;
2373
211k
      } else {
2374
211k
        if (yych <= 'P') goto yy118;
2375
165k
        if (yych <= 'T') goto yy116;
2376
24.4k
        goto yy119;
2377
165k
      }
2378
416k
    }
2379
3.58M
  } else {
2380
3.58M
    if (yych <= 'o') {
2381
1.81M
      if (yych <= '`') {
2382
347k
        if (yych <= 'Z') goto yy116;
2383
277k
        goto yy20;
2384
1.46M
      } else {
2385
1.46M
        if (yych == 'g') goto yy117;
2386
1.39M
        goto yy116;
2387
1.46M
      }
2388
1.81M
    } else {
2389
1.76M
      if (yych <= 't') {
2390
1.02M
        if (yych <= 'p') goto yy118;
2391
859k
        goto yy116;
2392
1.02M
      } else {
2393
738k
        if (yych <= 'u') goto yy119;
2394
658k
        if (yych <= 'z') goto yy116;
2395
431k
        goto yy20;
2396
658k
      }
2397
1.76M
    }
2398
3.58M
  }
2399
2.50M
yy41:
2400
2.50M
  YYDEBUG(41, *YYCURSOR);
2401
2.50M
  yych = *++YYCURSOR;
2402
2.50M
  if (yych <= 'A') {
2403
985k
    if (yych == ')') goto yy115;
2404
967k
    if (yych <= '@') goto yy20;
2405
26.6k
    goto yy124;
2406
1.51M
  } else {
2407
1.51M
    if (yych <= '`') {
2408
349k
      if (yych <= 'Z') goto yy116;
2409
147k
      goto yy20;
2410
1.16M
    } else {
2411
1.16M
      if (yych <= 'a') goto yy124;
2412
979k
      if (yych <= 'z') goto yy116;
2413
191k
      goto yy20;
2414
979k
    }
2415
1.51M
  }
2416
31.5M
yy42:
2417
31.5M
  YYDEBUG(42, *YYCURSOR);
2418
31.5M
  yych = *++YYCURSOR;
2419
31.5M
  if (yych <= '@') {
2420
13.0M
    if (yych == ')') goto yy115;
2421
12.8M
    goto yy20;
2422
18.5M
  } else {
2423
18.5M
    if (yych <= 'Z') goto yy116;
2424
15.8M
    if (yych <= '`') goto yy20;
2425
14.9M
    if (yych <= 'z') goto yy116;
2426
3.52M
    goto yy20;
2427
14.9M
  }
2428
6.34M
yy43:
2429
6.34M
  YYDEBUG(43, *YYCURSOR);
2430
6.34M
  yych = *++YYCURSOR;
2431
6.34M
  if (yych <= 'E') {
2432
2.77M
    if (yych <= ')') {
2433
1.17M
      if (yych <= '(') goto yy20;
2434
39.2k
      goto yy115;
2435
1.59M
    } else {
2436
1.59M
      if (yych <= '@') goto yy20;
2437
220k
      if (yych <= 'D') goto yy116;
2438
45.7k
      goto yy126;
2439
220k
    }
2440
3.56M
  } else {
2441
3.56M
    if (yych <= 'd') {
2442
2.01M
      if (yych <= 'Z') goto yy116;
2443
1.73M
      if (yych <= '`') goto yy20;
2444
1.50M
      goto yy116;
2445
1.73M
    } else {
2446
1.55M
      if (yych <= 'e') goto yy126;
2447
1.21M
      if (yych <= 'z') goto yy116;
2448
372k
      goto yy20;
2449
1.21M
    }
2450
3.56M
  }
2451
6.84M
yy44:
2452
6.84M
  YYDEBUG(44, *YYCURSOR);
2453
6.84M
  yych = *++YYCURSOR;
2454
6.84M
  if (yych <= 'L') {
2455
2.61M
    if (yych <= '@') {
2456
2.23M
      if (yych == ')') goto yy115;
2457
2.14M
      goto yy20;
2458
2.23M
    } else {
2459
381k
      if (yych == 'I') goto yy128;
2460
275k
      if (yych <= 'K') goto yy116;
2461
31.9k
      goto yy129;
2462
275k
    }
2463
4.22M
  } else {
2464
4.22M
    if (yych <= 'i') {
2465
2.05M
      if (yych <= 'Z') goto yy116;
2466
1.73M
      if (yych <= '`') goto yy20;
2467
1.41M
      if (yych <= 'h') goto yy116;
2468
320k
      goto yy128;
2469
2.17M
    } else {
2470
2.17M
      if (yych == 'l') goto yy129;
2471
1.97M
      if (yych <= 'z') goto yy116;
2472
511k
      goto yy20;
2473
1.97M
    }
2474
4.22M
  }
2475
3.26M
yy45:
2476
3.26M
  YYDEBUG(45, *YYCURSOR);
2477
3.26M
  yych = *++YYCURSOR;
2478
3.26M
  if (yych <= 'R') {
2479
1.12M
    if (yych <= 'E') {
2480
985k
      if (yych <= ')') {
2481
558k
        if (yych <= '(') goto yy20;
2482
15.9k
        goto yy115;
2483
558k
      } else {
2484
426k
        if (yych <= '@') goto yy20;
2485
76.0k
        if (yych <= 'D') goto yy116;
2486
40.4k
        goto yy132;
2487
76.0k
      }
2488
985k
    } else {
2489
141k
      if (yych <= 'N') {
2490
73.9k
        if (yych == 'I') goto yy133;
2491
55.7k
        goto yy116;
2492
73.9k
      } else {
2493
67.7k
        if (yych <= 'O') goto yy134;
2494
38.6k
        if (yych <= 'Q') goto yy116;
2495
15.1k
        goto yy135;
2496
38.6k
      }
2497
141k
    }
2498
2.14M
  } else {
2499
2.14M
    if (yych <= 'i') {
2500
886k
      if (yych <= 'd') {
2501
267k
        if (yych <= 'Z') goto yy116;
2502
213k
        if (yych <= '`') goto yy20;
2503
144k
        goto yy116;
2504
618k
      } else {
2505
618k
        if (yych <= 'e') goto yy132;
2506
462k
        if (yych <= 'h') goto yy116;
2507
328k
        goto yy133;
2508
462k
      }
2509
1.25M
    } else {
2510
1.25M
      if (yych <= 'q') {
2511
603k
        if (yych == 'o') goto yy134;
2512
157k
        goto yy116;
2513
652k
      } else {
2514
652k
        if (yych <= 'r') goto yy135;
2515
485k
        if (yych <= 'z') goto yy116;
2516
256k
        goto yy20;
2517
485k
      }
2518
1.25M
    }
2519
2.14M
  }
2520
1.88M
yy46:
2521
1.88M
  YYDEBUG(46, *YYCURSOR);
2522
1.88M
  yych = *++YYCURSOR;
2523
1.88M
  if (yych <= 'U') {
2524
976k
    if (yych <= '@') {
2525
540k
      if (yych == ')') goto yy115;
2526
528k
      goto yy20;
2527
540k
    } else {
2528
436k
      if (yych <= 'A') goto yy148;
2529
364k
      if (yych <= 'T') goto yy116;
2530
221k
      goto yy149;
2531
364k
    }
2532
976k
  } else {
2533
904k
    if (yych <= 'a') {
2534
186k
      if (yych <= 'Z') goto yy116;
2535
163k
      if (yych <= '`') goto yy20;
2536
84.7k
      goto yy148;
2537
717k
    } else {
2538
717k
      if (yych == 'u') goto yy149;
2539
578k
      if (yych <= 'z') goto yy116;
2540
184k
      goto yy20;
2541
578k
    }
2542
904k
  }
2543
2.90M
yy47:
2544
2.90M
  YYDEBUG(47, *YYCURSOR);
2545
2.90M
  yych = *++YYCURSOR;
2546
2.90M
  if (yych <= 'A') {
2547
1.05M
    if (yych == ')') goto yy115;
2548
1.03M
    if (yych <= '@') goto yy20;
2549
23.9k
    goto yy152;
2550
1.85M
  } else {
2551
1.85M
    if (yych <= '`') {
2552
348k
      if (yych <= 'Z') goto yy116;
2553
134k
      goto yy20;
2554
1.50M
    } else {
2555
1.50M
      if (yych <= 'a') goto yy152;
2556
1.01M
      if (yych <= 'z') goto yy116;
2557
308k
      goto yy20;
2558
1.01M
    }
2559
1.85M
  }
2560
3.23M
yy48:
2561
3.23M
  YYDEBUG(48, *YYCURSOR);
2562
3.23M
  yych = *++YYCURSOR;
2563
3.23M
  if (yych <= 'O') {
2564
1.44M
    if (yych <= 'A') {
2565
1.20M
      if (yych == ')') goto yy115;
2566
1.16M
      if (yych <= '@') goto yy20;
2567
116k
      goto yy154;
2568
1.16M
    } else {
2569
234k
      if (yych == 'I') goto yy155;
2570
163k
      if (yych <= 'N') goto yy116;
2571
38.5k
      goto yy156;
2572
163k
    }
2573
1.79M
  } else {
2574
1.79M
    if (yych <= 'h') {
2575
655k
      if (yych <= 'Z') goto yy116;
2576
573k
      if (yych <= '`') goto yy20;
2577
491k
      if (yych <= 'a') goto yy154;
2578
329k
      goto yy116;
2579
1.13M
    } else {
2580
1.13M
      if (yych <= 'n') {
2581
361k
        if (yych <= 'i') goto yy155;
2582
188k
        goto yy116;
2583
773k
      } else {
2584
773k
        if (yych <= 'o') goto yy156;
2585
621k
        if (yych <= 'z') goto yy116;
2586
380k
        goto yy20;
2587
621k
      }
2588
1.13M
    }
2589
1.79M
  }
2590
4.56M
yy49:
2591
4.56M
  YYDEBUG(49, *YYCURSOR);
2592
4.56M
  yych = *++YYCURSOR;
2593
4.56M
  if (yych <= 'O') {
2594
1.82M
    if (yych <= 'D') {
2595
1.60M
      if (yych == ')') goto yy115;
2596
1.57M
      if (yych <= '@') goto yy20;
2597
61.4k
      goto yy116;
2598
1.57M
    } else {
2599
221k
      if (yych <= 'H') {
2600
64.2k
        if (yych <= 'E') goto yy160;
2601
29.5k
        goto yy116;
2602
157k
      } else {
2603
157k
        if (yych <= 'I') goto yy161;
2604
124k
        if (yych <= 'N') goto yy116;
2605
56.0k
        goto yy162;
2606
124k
      }
2607
221k
    }
2608
2.74M
  } else {
2609
2.74M
    if (yych <= 'h') {
2610
1.31M
      if (yych <= '`') {
2611
237k
        if (yych <= 'Z') goto yy116;
2612
107k
        goto yy20;
2613
1.07M
      } else {
2614
1.07M
        if (yych == 'e') goto yy160;
2615
571k
        goto yy116;
2616
1.07M
      }
2617
1.42M
    } else {
2618
1.42M
      if (yych <= 'n') {
2619
267k
        if (yych <= 'i') goto yy161;
2620
183k
        goto yy116;
2621
1.16M
      } else {
2622
1.16M
        if (yych <= 'o') goto yy162;
2623
984k
        if (yych <= 'z') goto yy116;
2624
374k
        goto yy20;
2625
984k
      }
2626
1.42M
    }
2627
2.74M
  }
2628
4.40M
yy50:
2629
4.40M
  YYDEBUG(50, *YYCURSOR);
2630
4.40M
  yych = *++YYCURSOR;
2631
4.40M
  if (yych <= 'C') {
2632
1.23M
    if (yych <= ')') {
2633
568k
      if (yych <= '(') goto yy20;
2634
23.1k
      goto yy115;
2635
666k
    } else {
2636
666k
      if (yych <= '@') goto yy20;
2637
74.4k
      if (yych <= 'B') goto yy116;
2638
48.6k
      goto yy166;
2639
74.4k
    }
2640
3.17M
  } else {
2641
3.17M
    if (yych <= 'b') {
2642
605k
      if (yych <= 'Z') goto yy116;
2643
259k
      if (yych <= '`') goto yy20;
2644
163k
      goto yy116;
2645
2.56M
    } else {
2646
2.56M
      if (yych <= 'c') goto yy166;
2647
2.48M
      if (yych <= 'z') goto yy116;
2648
595k
      goto yy20;
2649
2.48M
    }
2650
3.17M
  }
2651
4.41M
yy51:
2652
4.41M
  YYDEBUG(51, *YYCURSOR);
2653
4.41M
  yych = *++YYCURSOR;
2654
4.41M
  if (yych <= 'R') {
2655
2.11M
    if (yych <= ')') {
2656
1.20M
      if (yych <= '(') goto yy20;
2657
29.1k
      goto yy115;
2658
1.20M
    } else {
2659
911k
      if (yych <= '@') goto yy20;
2660
255k
      if (yych <= 'Q') goto yy116;
2661
27.7k
      goto yy168;
2662
255k
    }
2663
2.29M
  } else {
2664
2.29M
    if (yych <= 'q') {
2665
1.24M
      if (yych <= 'Z') goto yy116;
2666
1.16M
      if (yych <= '`') goto yy20;
2667
964k
      goto yy116;
2668
1.16M
    } else {
2669
1.04M
      if (yych <= 'r') goto yy168;
2670
639k
      if (yych <= 'z') goto yy116;
2671
365k
      goto yy20;
2672
639k
    }
2673
2.29M
  }
2674
8.33M
yy52:
2675
8.33M
  YYDEBUG(52, *YYCURSOR);
2676
8.33M
  yych = *++YYCURSOR;
2677
8.33M
  if (yych <= 'U') {
2678
4.59M
    if (yych <= 'D') {
2679
4.27M
      if (yych <= ')') {
2680
1.05M
        if (yych <= '(') goto yy20;
2681
36.6k
        goto yy115;
2682
3.22M
      } else {
2683
3.22M
        if (yych <= '@') goto yy20;
2684
123k
        if (yych <= 'A') goto yy170;
2685
51.0k
        goto yy116;
2686
123k
      }
2687
4.27M
    } else {
2688
321k
      if (yych <= 'H') {
2689
118k
        if (yych <= 'E') goto yy171;
2690
24.4k
        goto yy116;
2691
203k
      } else {
2692
203k
        if (yych <= 'I') goto yy172;
2693
168k
        if (yych <= 'T') goto yy116;
2694
31.8k
        goto yy156;
2695
168k
      }
2696
321k
    }
2697
4.59M
  } else {
2698
3.73M
    if (yych <= 'e') {
2699
870k
      if (yych <= '`') {
2700
174k
        if (yych <= 'Z') goto yy116;
2701
112k
        goto yy20;
2702
695k
      } else {
2703
695k
        if (yych <= 'a') goto yy170;
2704
552k
        if (yych <= 'd') goto yy116;
2705
432k
        goto yy171;
2706
552k
      }
2707
2.86M
    } else {
2708
2.86M
      if (yych <= 't') {
2709
2.10M
        if (yych == 'i') goto yy172;
2710
1.98M
        goto yy116;
2711
2.10M
      } else {
2712
760k
        if (yych <= 'u') goto yy156;
2713
687k
        if (yych <= 'z') goto yy116;
2714
588k
        goto yy20;
2715
687k
      }
2716
2.86M
    }
2717
3.73M
  }
2718
7.69M
yy53:
2719
7.69M
  YYDEBUG(53, *YYCURSOR);
2720
7.69M
  yych = *++YYCURSOR;
2721
7.69M
  switch (yych) {
2722
61.5k
  case ')': goto yy115;
2723
163k
  case '0':
2724
282k
  case '1': goto yy176;
2725
106k
  case '2': goto yy178;
2726
44.1k
  case '3':
2727
92.3k
  case '4':
2728
127k
  case '5':
2729
183k
  case '6':
2730
212k
  case '7':
2731
244k
  case '8':
2732
296k
  case '9': goto yy179;
2733
31.0k
  case 'A':
2734
43.8k
  case 'B':
2735
66.5k
  case 'C':
2736
86.2k
  case 'D':
2737
101k
  case 'F':
2738
114k
  case 'G':
2739
145k
  case 'I':
2740
155k
  case 'J':
2741
162k
  case 'K':
2742
174k
  case 'L':
2743
195k
  case 'M':
2744
213k
  case 'N':
2745
236k
  case 'P':
2746
254k
  case 'Q':
2747
279k
  case 'R':
2748
300k
  case 'S':
2749
352k
  case 'T':
2750
374k
  case 'V':
2751
397k
  case 'X':
2752
411k
  case 'Y':
2753
420k
  case 'Z':
2754
574k
  case 'a':
2755
606k
  case 'b':
2756
658k
  case 'c':
2757
712k
  case 'd':
2758
731k
  case 'f':
2759
762k
  case 'g':
2760
1.41M
  case 'i':
2761
1.42M
  case 'j':
2762
1.44M
  case 'k':
2763
1.47M
  case 'l':
2764
1.51M
  case 'm':
2765
1.56M
  case 'n':
2766
1.61M
  case 'p':
2767
1.63M
  case 'q':
2768
1.88M
  case 'r':
2769
1.94M
  case 's':
2770
2.11M
  case 't':
2771
2.14M
  case 'v':
2772
2.16M
  case 'x':
2773
2.21M
  case 'y':
2774
2.22M
  case 'z': goto yy116;
2775
53.5k
  case 'E':
2776
1.25M
  case 'e': goto yy161;
2777
80.2k
  case 'H':
2778
585k
  case 'h': goto yy180;
2779
28.8k
  case 'O':
2780
262k
  case 'o': goto yy181;
2781
106k
  case 'U':
2782
211k
  case 'u': goto yy182;
2783
46.2k
  case 'W':
2784
102k
  case 'w': goto yy183;
2785
2.30M
  default:  goto yy20;
2786
7.69M
  }
2787
2.29M
yy54:
2788
2.29M
  YYDEBUG(54, *YYCURSOR);
2789
2.29M
  yych = *++YYCURSOR;
2790
2.29M
  if (yych <= 'E') {
2791
899k
    if (yych <= ')') {
2792
345k
      if (yych <= '(') goto yy20;
2793
14.6k
      goto yy115;
2794
554k
    } else {
2795
554k
      if (yych <= '@') goto yy20;
2796
87.6k
      if (yych <= 'D') goto yy116;
2797
52.3k
      goto yy189;
2798
87.6k
    }
2799
1.39M
  } else {
2800
1.39M
    if (yych <= 'd') {
2801
240k
      if (yych <= 'Z') goto yy116;
2802
114k
      if (yych <= '`') goto yy20;
2803
64.9k
      goto yy116;
2804
1.15M
    } else {
2805
1.15M
      if (yych <= 'e') goto yy189;
2806
972k
      if (yych <= 'z') goto yy116;
2807
394k
      goto yy20;
2808
972k
    }
2809
1.39M
  }
2810
2.01M
yy55:
2811
2.01M
  YYDEBUG(55, *YYCURSOR);
2812
2.01M
  yych = *++YYCURSOR;
2813
2.01M
  if (yych <= 'E') {
2814
897k
    if (yych <= ')') {
2815
407k
      if (yych <= '(') goto yy20;
2816
14.0k
      goto yy115;
2817
490k
    } else {
2818
490k
      if (yych <= '@') goto yy20;
2819
56.1k
      if (yych <= 'D') goto yy116;
2820
22.7k
      goto yy191;
2821
56.1k
    }
2822
1.11M
  } else {
2823
1.11M
    if (yych <= 'd') {
2824
226k
      if (yych <= 'Z') goto yy116;
2825
96.9k
      if (yych <= '`') goto yy20;
2826
47.8k
      goto yy116;
2827
886k
    } else {
2828
886k
      if (yych <= 'e') goto yy191;
2829
784k
      if (yych <= 'z') goto yy116;
2830
349k
      goto yy20;
2831
784k
    }
2832
1.11M
  }
2833
3.07M
yy56:
2834
3.07M
  YYDEBUG(56, *YYCURSOR);
2835
3.07M
  yych = *++YYCURSOR;
2836
3.07M
  if (yych == 0xA0) goto yy193;
2837
2.19M
  goto yy5;
2838
2.44M
yy57:
2839
2.44M
  YYDEBUG(57, *YYCURSOR);
2840
2.44M
  yyaccept = 1;
2841
2.44M
  yych = *(YYMARKER = ++YYCURSOR);
2842
2.44M
  if (yych == 0x80) goto yy194;
2843
1.57M
  goto yy5;
2844
8.63M
yy58:
2845
8.63M
  YYDEBUG(58, *YYCURSOR);
2846
8.63M
  yych = *++YYCURSOR;
2847
8.63M
  if (yych <= 0xC1) {
2848
8.42M
    if (yych <= '/') goto yy196;
2849
4.88M
    if (yych <= '9') goto yy197;
2850
1.42M
    goto yy196;
2851
4.88M
  } else {
2852
212k
    if (yych <= 0xC2) goto yy97;
2853
171k
    if (yych == 0xE2) goto yy98;
2854
106k
    goto yy196;
2855
171k
  }
2856
95.1M
yy59:
2857
95.1M
  YYDEBUG(59, *YYCURSOR);
2858
95.1M
  YYCURSOR = YYMARKER;
2859
95.1M
  if (yyaccept <= 16) {
2860
90.8M
    if (yyaccept <= 8) {
2861
83.6M
      if (yyaccept <= 4) {
2862
82.6M
        if (yyaccept <= 2) {
2863
81.1M
          if (yyaccept <= 1) {
2864
73.9M
            if (yyaccept == 0) {
2865
6.98M
              goto yy8;
2866
67.0M
            } else {
2867
67.0M
              goto yy5;
2868
67.0M
            }
2869
73.9M
          } else {
2870
7.16M
            goto yy20;
2871
7.16M
          }
2872
81.1M
        } else {
2873
1.48M
          if (yyaccept == 3) {
2874
390k
            goto yy81;
2875
1.09M
          } else {
2876
1.09M
            goto yy177;
2877
1.09M
          }
2878
1.48M
        }
2879
82.6M
      } else {
2880
983k
        if (yyaccept <= 6) {
2881
216k
          if (yyaccept == 5) {
2882
82.1k
            goto yy224;
2883
134k
          } else {
2884
134k
            goto yy260;
2885
134k
          }
2886
767k
        } else {
2887
767k
          if (yyaccept == 7) {
2888
742k
            goto yy295;
2889
742k
          } else {
2890
24.4k
            goto yy293;
2891
24.4k
          }
2892
767k
        }
2893
983k
      }
2894
83.6M
    } else {
2895
7.22M
      if (yyaccept <= 12) {
2896
2.31M
        if (yyaccept <= 10) {
2897
242k
          if (yyaccept == 9) {
2898
42.5k
            goto yy315;
2899
199k
          } else {
2900
199k
            goto yy325;
2901
199k
          }
2902
2.06M
        } else {
2903
2.06M
          if (yyaccept == 11) {
2904
4.84k
            goto yy351;
2905
2.06M
          } else {
2906
2.06M
            goto yy420;
2907
2.06M
          }
2908
2.06M
        }
2909
4.91M
      } else {
2910
4.91M
        if (yyaccept <= 14) {
2911
4.67M
          if (yyaccept == 13) {
2912
4.67M
            goto yy422;
2913
4.67M
          } else {
2914
4.86k
            goto yy526;
2915
4.86k
          }
2916
4.67M
        } else {
2917
239k
          if (yyaccept == 15) {
2918
228k
            goto yy567;
2919
228k
          } else {
2920
11.2k
            goto yy722;
2921
11.2k
          }
2922
239k
        }
2923
4.91M
      }
2924
7.22M
    }
2925
90.8M
  } else {
2926
4.27M
    if (yyaccept <= 25) {
2927
2.31M
      if (yyaccept <= 21) {
2928
2.01M
        if (yyaccept <= 19) {
2929
717k
          if (yyaccept <= 18) {
2930
60.1k
            if (yyaccept == 17) {
2931
2.31k
              goto yy739;
2932
57.7k
            } else {
2933
57.7k
              goto yy752;
2934
57.7k
            }
2935
656k
          } else {
2936
656k
            goto yy777;
2937
656k
          }
2938
1.29M
        } else {
2939
1.29M
          if (yyaccept == 20) {
2940
282k
            goto yy849;
2941
1.01M
          } else {
2942
1.01M
            goto yy926;
2943
1.01M
          }
2944
1.29M
        }
2945
2.01M
      } else {
2946
298k
        if (yyaccept <= 23) {
2947
133k
          if (yyaccept == 22) {
2948
126k
            goto yy600;
2949
126k
          } else {
2950
7.18k
            goto yy942;
2951
7.18k
          }
2952
165k
        } else {
2953
165k
          if (yyaccept == 24) {
2954
149k
            goto yy982;
2955
149k
          } else {
2956
15.7k
            goto yy1025;
2957
15.7k
          }
2958
165k
        }
2959
298k
      }
2960
2.31M
    } else {
2961
1.95M
      if (yyaccept <= 29) {
2962
1.91M
        if (yyaccept <= 27) {
2963
1.81M
          if (yyaccept == 26) {
2964
103k
            goto yy1043;
2965
1.71M
          } else {
2966
1.71M
            goto yy1048;
2967
1.71M
          }
2968
1.81M
        } else {
2969
104k
          if (yyaccept == 28) {
2970
3.14k
            goto yy1107;
2971
101k
          } else {
2972
101k
            goto yy1145;
2973
101k
          }
2974
104k
        }
2975
1.91M
      } else {
2976
41.6k
        if (yyaccept <= 31) {
2977
10.9k
          if (yyaccept == 30) {
2978
8.12k
            goto yy1172;
2979
8.12k
          } else {
2980
2.82k
            goto yy1175;
2981
2.82k
          }
2982
30.6k
        } else {
2983
30.6k
          if (yyaccept == 32) {
2984
19.4k
            goto yy1329;
2985
19.4k
          } else {
2986
11.2k
            goto yy1375;
2987
11.2k
          }
2988
30.6k
        }
2989
41.6k
      }
2990
1.95M
    }
2991
4.27M
  }
2992
1.00M
yy60:
2993
1.00M
  YYDEBUG(60, *YYCURSOR);
2994
1.00M
  ++YYCURSOR;
2995
1.00M
  if ((YYLIMIT - YYCURSOR) < 25) YYFILL(25);
2996
1.00M
  yych = *YYCURSOR;
2997
1.00M
  YYDEBUG(61, *YYCURSOR);
2998
1.00M
  if (yych <= 0x1F) {
2999
230k
    if (yych == '\t') goto yy60;
3000
142k
    goto yy59;
3001
775k
  } else {
3002
775k
    if (yych <= ' ') goto yy60;
3003
572k
    if (yych <= '/') goto yy59;
3004
395k
    if (yych <= '9') goto yy58;
3005
287k
    goto yy59;
3006
395k
  }
3007
26.1M
yy62:
3008
26.1M
  YYDEBUG(62, *YYCURSOR);
3009
26.1M
  ++YYCURSOR;
3010
26.1M
  if ((YYLIMIT - YYCURSOR) < 25) YYFILL(25);
3011
26.1M
  yych = *YYCURSOR;
3012
26.1M
  YYDEBUG(63, *YYCURSOR);
3013
26.1M
  if (yybm[0+yych] & 4) {
3014
22.2M
    goto yy62;
3015
22.2M
  }
3016
3.90M
  if (yych <= 0x1F) {
3017
389k
    if (yych == '\t') goto yy60;
3018
344k
    goto yy59;
3019
3.51M
  } else {
3020
3.51M
    if (yych <= ' ') goto yy60;
3021
3.43M
    if (yych <= '/') goto yy59;
3022
2.92M
    if (yych <= '9') goto yy58;
3023
1.31M
    goto yy59;
3024
2.92M
  }
3025
3.30M
yy64:
3026
3.30M
  YYDEBUG(64, *YYCURSOR);
3027
3.30M
  yyaccept = 2;
3028
3.30M
  yych = *(YYMARKER = ++YYCURSOR);
3029
3.30M
  if (yych <= 'X') {
3030
2.76M
    if (yych <= 'E') {
3031
2.59M
      if (yych <= '/') {
3032
599k
        if (yych <= '\t') {
3033
137k
          if (yych <= 0x08) goto yy20;
3034
11.7k
          goto yy196;
3035
462k
        } else {
3036
462k
          if (yych == ' ') goto yy196;
3037
411k
          goto yy20;
3038
462k
        }
3039
1.99M
      } else {
3040
1.99M
        if (yych <= ':') {
3041
1.86M
          if (yych <= '9') goto yy202;
3042
84.1k
          goto yy203;
3043
1.86M
        } else {
3044
131k
          if (yych == 'D') goto yy196;
3045
113k
          goto yy20;
3046
131k
        }
3047
1.99M
      }
3048
2.59M
    } else {
3049
167k
      if (yych <= 'M') {
3050
83.8k
        if (yych <= 'G') {
3051
31.7k
          if (yych <= 'F') goto yy196;
3052
6.09k
          goto yy20;
3053
52.0k
        } else {
3054
52.0k
          if (yych <= 'H') goto yy196;
3055
31.7k
          if (yych <= 'L') goto yy20;
3056
7.76k
          goto yy196;
3057
31.7k
        }
3058
83.8k
      } else {
3059
83.8k
        if (yych <= 'U') {
3060
53.5k
          if (yych <= 'R') goto yy20;
3061
29.3k
          goto yy196;
3062
53.5k
        } else {
3063
30.2k
          if (yych == 'W') goto yy196;
3064
24.9k
          goto yy20;
3065
30.2k
        }
3066
83.8k
      }
3067
167k
    }
3068
2.76M
  } else {
3069
541k
    if (yych <= 'r') {
3070
262k
      if (yych <= 'f') {
3071
129k
        if (yych <= 'c') {
3072
77.3k
          if (yych <= 'Y') goto yy196;
3073
48.5k
          goto yy20;
3074
77.3k
        } else {
3075
52.5k
          if (yych == 'e') goto yy20;
3076
36.5k
          goto yy196;
3077
52.5k
        }
3078
132k
      } else {
3079
132k
        if (yych <= 'h') {
3080
22.2k
          if (yych <= 'g') goto yy20;
3081
9.84k
          goto yy196;
3082
110k
        } else {
3083
110k
          if (yych == 'm') goto yy196;
3084
100k
          goto yy20;
3085
110k
        }
3086
132k
      }
3087
278k
    } else {
3088
278k
      if (yych <= 'y') {
3089
75.0k
        if (yych <= 'v') {
3090
56.6k
          if (yych <= 'u') goto yy196;
3091
12.2k
          goto yy20;
3092
56.6k
        } else {
3093
18.3k
          if (yych == 'x') goto yy20;
3094
12.6k
          goto yy196;
3095
18.3k
        }
3096
203k
      } else {
3097
203k
        if (yych <= 0xC2) {
3098
93.2k
          if (yych <= 0xC1) goto yy20;
3099
5.93k
          goto yy97;
3100
110k
        } else {
3101
110k
          if (yych == 0xE2) goto yy98;
3102
105k
          goto yy20;
3103
110k
        }
3104
203k
      }
3105
278k
    }
3106
541k
  }
3107
1.35M
yy65:
3108
1.35M
  YYDEBUG(65, *YYCURSOR);
3109
1.35M
  yyaccept = 2;
3110
1.35M
  yych = *(YYMARKER = ++YYCURSOR);
3111
1.35M
  if (yych <= 'W') {
3112
1.06M
    if (yych <= 'C') {
3113
967k
      if (yych <= '/') {
3114
201k
        if (yych <= '\t') {
3115
57.8k
          if (yych <= 0x08) goto yy20;
3116
13.6k
          goto yy196;
3117
143k
        } else {
3118
143k
          if (yych == ' ') goto yy196;
3119
128k
          goto yy20;
3120
143k
        }
3121
765k
      } else {
3122
765k
        if (yych <= '5') {
3123
551k
          if (yych <= '4') goto yy202;
3124
39.9k
          goto yy204;
3125
551k
        } else {
3126
214k
          if (yych <= '9') goto yy205;
3127
75.0k
          if (yych <= ':') goto yy203;
3128
38.7k
          goto yy20;
3129
75.0k
        }
3130
765k
      }
3131
967k
    } else {
3132
96.1k
      if (yych <= 'H') {
3133
37.8k
        if (yych <= 'E') {
3134
15.9k
          if (yych <= 'D') goto yy196;
3135
7.67k
          goto yy20;
3136
21.8k
        } else {
3137
21.8k
          if (yych == 'G') goto yy20;
3138
16.7k
          goto yy196;
3139
21.8k
        }
3140
58.3k
      } else {
3141
58.3k
        if (yych <= 'R') {
3142
26.1k
          if (yych == 'M') goto yy196;
3143
17.5k
          goto yy20;
3144
32.1k
        } else {
3145
32.1k
          if (yych == 'V') goto yy20;
3146
21.5k
          goto yy196;
3147
32.1k
        }
3148
58.3k
      }
3149
96.1k
    }
3150
1.06M
  } else {
3151
294k
    if (yych <= 'm') {
3152
130k
      if (yych <= 'e') {
3153
70.6k
        if (yych <= 'Y') {
3154
16.2k
          if (yych <= 'X') goto yy20;
3155
10.9k
          goto yy196;
3156
54.4k
        } else {
3157
54.4k
          if (yych == 'd') goto yy196;
3158
34.9k
          goto yy20;
3159
54.4k
        }
3160
70.6k
      } else {
3161
59.9k
        if (yych <= 'g') {
3162
23.5k
          if (yych <= 'f') goto yy196;
3163
9.33k
          goto yy20;
3164
36.3k
        } else {
3165
36.3k
          if (yych <= 'h') goto yy196;
3166
32.9k
          if (yych <= 'l') goto yy20;
3167
16.9k
          goto yy196;
3168
32.9k
        }
3169
59.9k
      }
3170
164k
    } else {
3171
164k
      if (yych <= 'x') {
3172
78.7k
        if (yych <= 'u') {
3173
58.9k
          if (yych <= 'r') goto yy20;
3174
32.7k
          goto yy196;
3175
58.9k
        } else {
3176
19.7k
          if (yych == 'w') goto yy196;
3177
14.1k
          goto yy20;
3178
19.7k
        }
3179
85.3k
      } else {
3180
85.3k
        if (yych <= 0xC2) {
3181
45.7k
          if (yych <= 'y') goto yy196;
3182
38.9k
          if (yych <= 0xC1) goto yy20;
3183
5.70k
          goto yy97;
3184
39.5k
        } else {
3185
39.5k
          if (yych == 0xE2) goto yy98;
3186
35.0k
          goto yy20;
3187
39.5k
        }
3188
85.3k
      }
3189
164k
    }
3190
294k
  }
3191
2.84M
yy66:
3192
2.84M
  YYDEBUG(66, *YYCURSOR);
3193
2.84M
  yyaccept = 2;
3194
2.84M
  yych = *(YYMARKER = ++YYCURSOR);
3195
2.84M
  if (yych <= 'W') {
3196
2.30M
    if (yych <= 'D') {
3197
2.17M
      if (yych <= '/') {
3198
465k
        if (yych <= '\t') {
3199
177k
          if (yych <= 0x08) goto yy20;
3200
10.5k
          goto yy196;
3201
288k
        } else {
3202
288k
          if (yych == ' ') goto yy196;
3203
263k
          goto yy20;
3204
288k
        }
3205
1.70M
      } else {
3206
1.70M
        if (yych <= '9') {
3207
1.56M
          if (yych <= '5') goto yy204;
3208
477k
          goto yy205;
3209
1.56M
        } else {
3210
142k
          if (yych <= ':') goto yy203;
3211
85.7k
          if (yych <= 'C') goto yy20;
3212
9.41k
          goto yy196;
3213
85.7k
        }
3214
1.70M
      }
3215
2.17M
    } else {
3216
135k
      if (yych <= 'L') {
3217
64.1k
        if (yych <= 'F') {
3218
40.7k
          if (yych <= 'E') goto yy20;
3219
21.4k
          goto yy196;
3220
40.7k
        } else {
3221
23.4k
          if (yych == 'H') goto yy196;
3222
16.8k
          goto yy20;
3223
23.4k
        }
3224
71.3k
      } else {
3225
71.3k
        if (yych <= 'R') {
3226
26.6k
          if (yych <= 'M') goto yy196;
3227
19.1k
          goto yy20;
3228
44.7k
        } else {
3229
44.7k
          if (yych == 'V') goto yy20;
3230
26.1k
          goto yy196;
3231
44.7k
        }
3232
71.3k
      }
3233
135k
    }
3234
2.30M
  } else {
3235
538k
    if (yych <= 'm') {
3236
171k
      if (yych <= 'e') {
3237
87.1k
        if (yych <= 'Y') {
3238
24.3k
          if (yych <= 'X') goto yy20;
3239
19.4k
          goto yy196;
3240
62.7k
        } else {
3241
62.7k
          if (yych == 'd') goto yy196;
3242
49.5k
          goto yy20;
3243
62.7k
        }
3244
87.1k
      } else {
3245
83.9k
        if (yych <= 'g') {
3246
32.3k
          if (yych <= 'f') goto yy196;
3247
10.6k
          goto yy20;
3248
51.6k
        } else {
3249
51.6k
          if (yych <= 'h') goto yy196;
3250
42.2k
          if (yych <= 'l') goto yy20;
3251
12.4k
          goto yy196;
3252
42.2k
        }
3253
83.9k
      }
3254
366k
    } else {
3255
366k
      if (yych <= 'x') {
3256
206k
        if (yych <= 'u') {
3257
186k
          if (yych <= 'r') goto yy20;
3258
68.0k
          goto yy196;
3259
186k
        } else {
3260
20.7k
          if (yych == 'w') goto yy196;
3261
12.8k
          goto yy20;
3262
20.7k
        }
3263
206k
      } else {
3264
160k
        if (yych <= 0xC2) {
3265
77.7k
          if (yych <= 'y') goto yy196;
3266
69.5k
          if (yych <= 0xC1) goto yy20;
3267
9.24k
          goto yy97;
3268
82.3k
        } else {
3269
82.3k
          if (yych == 0xE2) goto yy98;
3270
71.5k
          goto yy20;
3271
82.3k
        }
3272
160k
      }
3273
366k
    }
3274
538k
  }
3275
330k
yy67:
3276
330k
  YYDEBUG(67, *YYCURSOR);
3277
330k
  yych = *++YYCURSOR;
3278
330k
  if (yych <= '/') goto yy69;
3279
212k
  if (yych <= '0') goto yy208;
3280
181k
  if (yych <= '1') goto yy209;
3281
154k
  if (yych <= '9') goto yy210;
3282
98.4k
  goto yy69;
3283
4.61M
yy68:
3284
4.61M
  YYDEBUG(68, *YYCURSOR);
3285
4.61M
  ++YYCURSOR;
3286
4.61M
  if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
3287
4.61M
  yych = *YYCURSOR;
3288
16.4M
yy69:
3289
16.4M
  YYDEBUG(69, *YYCURSOR);
3290
16.4M
  if (yych <= 'W') {
3291
12.8M
    if (yych <= 'G') {
3292
10.9M
      if (yych <= '.') {
3293
8.35M
        if (yych <= 0x1F) {
3294
2.34M
          if (yych == '\t') goto yy68;
3295
2.22M
          goto yy59;
3296
6.01M
        } else {
3297
6.01M
          if (yych <= ' ') goto yy68;
3298
1.51M
          if (yych <= ',') goto yy59;
3299
63.2k
          goto yy206;
3300
1.51M
        }
3301
8.35M
      } else {
3302
2.61M
        if (yych <= 'C') {
3303
2.10M
          if (yych == 'A') goto yy76;
3304
1.77M
          goto yy59;
3305
2.10M
        } else {
3306
502k
          if (yych <= 'D') goto yy77;
3307
344k
          if (yych == 'F') goto yy78;
3308
114k
          goto yy59;
3309
344k
        }
3310
2.61M
      }
3311
10.9M
    } else {
3312
1.92M
      if (yych <= 'N') {
3313
921k
        if (yych <= 'J') {
3314
529k
          if (yych <= 'H') goto yy79;
3315
278k
          if (yych <= 'I') goto yy80;
3316
141k
          goto yy82;
3317
391k
        } else {
3318
391k
          if (yych <= 'L') goto yy59;
3319
342k
          if (yych <= 'M') goto yy83;
3320
189k
          goto yy84;
3321
342k
        }
3322
1.00M
      } else {
3323
1.00M
        if (yych <= 'S') {
3324
347k
          if (yych <= 'O') goto yy85;
3325
268k
          if (yych <= 'R') goto yy59;
3326
190k
          goto yy86;
3327
659k
        } else {
3328
659k
          if (yych <= 'T') goto yy87;
3329
277k
          if (yych <= 'U') goto yy88;
3330
216k
          if (yych <= 'V') goto yy89;
3331
93.3k
          goto yy90;
3332
216k
        }
3333
1.00M
      }
3334
1.92M
    }
3335
12.8M
  } else {
3336
3.52M
    if (yych <= 'l') {
3337
1.57M
      if (yych <= 'd') {
3338
932k
        if (yych <= '`') {
3339
374k
          if (yych <= 'X') goto yy91;
3340
266k
          if (yych <= 'Y') goto yy92;
3341
178k
          goto yy59;
3342
558k
        } else {
3343
558k
          if (yych <= 'a') goto yy76;
3344
278k
          if (yych <= 'c') goto yy59;
3345
228k
          goto yy77;
3346
278k
        }
3347
932k
      } else {
3348
643k
        if (yych <= 'g') {
3349
330k
          if (yych == 'f') goto yy78;
3350
146k
          goto yy59;
3351
330k
        } else {
3352
313k
          if (yych <= 'h') goto yy79;
3353
167k
          if (yych == 'j') goto yy82;
3354
97.6k
          goto yy59;
3355
167k
        }
3356
643k
      }
3357
1.94M
    } else {
3358
1.94M
      if (yych <= 'u') {
3359
696k
        if (yych <= 'o') {
3360
372k
          if (yych <= 'm') goto yy83;
3361
202k
          if (yych <= 'n') goto yy84;
3362
183k
          goto yy85;
3363
323k
        } else {
3364
323k
          if (yych <= 'r') goto yy59;
3365
168k
          if (yych <= 's') goto yy86;
3366
147k
          if (yych <= 't') goto yy87;
3367
109k
          goto yy88;
3368
147k
        }
3369
1.25M
      } else {
3370
1.25M
        if (yych <= 'x') {
3371
142k
          if (yych == 'w') goto yy90;
3372
57.2k
          goto yy59;
3373
1.10M
        } else {
3374
1.10M
          if (yych <= 'y') goto yy92;
3375
978k
          if (yych == 0xC2) goto yy211;
3376
972k
          goto yy59;
3377
978k
        }
3378
1.25M
      }
3379
1.94M
    }
3380
3.52M
  }
3381
3.65M
yy70:
3382
3.65M
  YYDEBUG(70, *YYCURSOR);
3383
3.65M
  yych = *++YYCURSOR;
3384
3.65M
  if (yych <= '/') goto yy207;
3385
3.12M
  if (yych <= '0') goto yy212;
3386
2.54M
  if (yych <= '1') goto yy213;
3387
2.11M
  if (yych <= '9') goto yy214;
3388
1.19M
  goto yy207;
3389
1.19M
yy71:
3390
744k
  YYDEBUG(71, *YYCURSOR);
3391
744k
  yych = *++YYCURSOR;
3392
744k
  if (yych <= '1') {
3393
395k
    if (yych <= '/') goto yy207;
3394
272k
    if (yych <= '0') goto yy219;
3395
107k
    goto yy220;
3396
348k
  } else {
3397
348k
    if (yych <= '5') goto yy221;
3398
261k
    if (yych <= '9') goto yy222;
3399
186k
    goto yy207;
3400
261k
  }
3401
1.99M
yy72:
3402
1.99M
  YYDEBUG(72, *YYCURSOR);
3403
1.99M
  yych = *++YYCURSOR;
3404
1.99M
  switch (yych) {
3405
113k
  case '0':
3406
275k
  case '1':
3407
342k
  case '2': goto yy223;
3408
87.3k
  case '3': goto yy225;
3409
20.3k
  case '4':
3410
36.9k
  case '5':
3411
58.9k
  case '6':
3412
94.8k
  case '7':
3413
128k
  case '8':
3414
142k
  case '9': goto yy226;
3415
46.9k
  case 'A':
3416
83.5k
  case 'a': goto yy227;
3417
13.6k
  case 'D':
3418
39.4k
  case 'd': goto yy228;
3419
16.0k
  case 'F':
3420
30.8k
  case 'f': goto yy229;
3421
154k
  case 'J':
3422
425k
  case 'j': goto yy230;
3423
28.4k
  case 'M':
3424
75.1k
  case 'm': goto yy231;
3425
24.7k
  case 'N':
3426
55.3k
  case 'n': goto yy232;
3427
47.1k
  case 'O':
3428
82.3k
  case 'o': goto yy233;
3429
60.0k
  case 'S':
3430
91.7k
  case 's': goto yy234;
3431
535k
  default:  goto yy59;
3432
1.99M
  }
3433
8.20M
yy73:
3434
8.20M
  YYDEBUG(73, *YYCURSOR);
3435
8.20M
  yych = *++YYCURSOR;
3436
8.20M
  if (yych <= 'm') {
3437
7.45M
    if (yych <= '.') {
3438
1.96M
      if (yych <= '\t') {
3439
547k
        if (yych <= 0x08) goto yy69;
3440
38.3k
        goto yy67;
3441
1.41M
      } else {
3442
1.41M
        if (yych <= ',') goto yy69;
3443
298k
        if (yych <= '-') goto yy235;
3444
119k
        goto yy71;
3445
298k
      }
3446
5.49M
    } else {
3447
5.49M
      if (yych <= '5') {
3448
4.40M
        if (yych <= '/') goto yy72;
3449
4.33M
        goto yy236;
3450
4.40M
      } else {
3451
1.08M
        if (yych <= '9') goto yy237;
3452
832k
        if (yych <= ':') goto yy75;
3453
741k
        goto yy69;
3454
832k
      }
3455
5.49M
    }
3456
7.45M
  } else {
3457
752k
    if (yych <= 't') {
3458
290k
      if (yych <= 'q') {
3459
110k
        if (yych <= 'n') goto yy93;
3460
79.2k
        goto yy69;
3461
180k
      } else {
3462
180k
        if (yych <= 'r') goto yy94;
3463
160k
        if (yych <= 's') goto yy95;
3464
126k
        goto yy96;
3465
160k
      }
3466
461k
    } else {
3467
461k
      if (yych <= 0xC2) {
3468
222k
        if (yych <= 0xC1) goto yy69;
3469
16.7k
        goto yy97;
3470
238k
      } else {
3471
238k
        if (yych == 0xE2) goto yy98;
3472
219k
        goto yy69;
3473
238k
      }
3474
461k
    }
3475
752k
  }
3476
11.5M
yy74:
3477
11.5M
  YYDEBUG(74, *YYCURSOR);
3478
11.5M
  yych = *++YYCURSOR;
3479
11.5M
  if (yych <= 'm') {
3480
10.4M
    if (yych <= '.') {
3481
2.54M
      if (yych <= '\t') {
3482
614k
        if (yych <= 0x08) goto yy101;
3483
81.9k
        goto yy99;
3484
1.92M
      } else {
3485
1.92M
        if (yych <= ',') goto yy101;
3486
647k
        if (yych <= '-') goto yy235;
3487
202k
        goto yy102;
3488
647k
      }
3489
7.85M
    } else {
3490
7.85M
      if (yych <= '5') {
3491
3.52M
        if (yych <= '/') goto yy72;
3492
3.34M
        goto yy236;
3493
4.33M
      } else {
3494
4.33M
        if (yych <= '9') goto yy237;
3495
3.60M
        if (yych <= ':') goto yy104;
3496
1.32M
        goto yy101;
3497
3.60M
      }
3498
7.85M
    }
3499
10.4M
  } else {
3500
1.13M
    if (yych <= 't') {
3501
322k
      if (yych <= 'q') {
3502
145k
        if (yych <= 'n') goto yy93;
3503
105k
        goto yy101;
3504
177k
      } else {
3505
177k
        if (yych <= 'r') goto yy94;
3506
135k
        if (yych <= 's') goto yy95;
3507
86.4k
        goto yy96;
3508
135k
      }
3509
816k
    } else {
3510
816k
      if (yych <= 0xC2) {
3511
438k
        if (yych <= 0xC1) goto yy101;
3512
76.0k
        goto yy107;
3513
438k
      } else {
3514
377k
        if (yych == 0xE2) goto yy108;
3515
307k
        goto yy101;
3516
377k
      }
3517
816k
    }
3518
1.13M
  }
3519
2.28M
yy75:
3520
2.28M
  YYDEBUG(75, *YYCURSOR);
3521
2.28M
  yych = *++YYCURSOR;
3522
2.28M
  if (yych <= '/') goto yy59;
3523
1.10M
  if (yych <= '5') goto yy238;
3524
567k
  if (yych <= '9') goto yy239;
3525
497k
  goto yy59;
3526
857k
yy76:
3527
857k
  YYDEBUG(76, *YYCURSOR);
3528
857k
  yych = *++YYCURSOR;
3529
857k
  if (yych <= 'U') {
3530
405k
    if (yych == 'P') goto yy240;
3531
388k
    if (yych <= 'T') goto yy59;
3532
29.1k
    goto yy241;
3533
451k
  } else {
3534
451k
    if (yych <= 'p') {
3535
240k
      if (yych <= 'o') goto yy59;
3536
72.8k
      goto yy240;
3537
240k
    } else {
3538
211k
      if (yych == 'u') goto yy241;
3539
152k
      goto yy59;
3540
211k
    }
3541
451k
  }
3542
1.08M
yy77:
3543
1.08M
  YYDEBUG(77, *YYCURSOR);
3544
1.08M
  yych = *++YYCURSOR;
3545
1.08M
  if (yych <= 'E') {
3546
520k
    if (yych == 'A') goto yy242;
3547
503k
    if (yych <= 'D') goto yy59;
3548
23.6k
    goto yy243;
3549
561k
  } else {
3550
561k
    if (yych <= 'a') {
3551
224k
      if (yych <= '`') goto yy59;
3552
102k
      goto yy242;
3553
336k
    } else {
3554
336k
      if (yych == 'e') goto yy243;
3555
274k
      goto yy59;
3556
336k
    }
3557
561k
  }
3558
1.26M
yy78:
3559
1.26M
  YYDEBUG(78, *YYCURSOR);
3560
1.26M
  yych = *++YYCURSOR;
3561
1.26M
  if (yych <= 'R') {
3562
487k
    if (yych <= 'N') {
3563
370k
      if (yych == 'E') goto yy244;
3564
347k
      goto yy59;
3565
370k
    } else {
3566
117k
      if (yych <= 'O') goto yy245;
3567
48.0k
      if (yych <= 'Q') goto yy59;
3568
29.0k
      goto yy246;
3569
48.0k
    }
3570
773k
  } else {
3571
773k
    if (yych <= 'n') {
3572
444k
      if (yych == 'e') goto yy244;
3573
358k
      goto yy59;
3574
444k
    } else {
3575
328k
      if (yych <= 'o') goto yy245;
3576
247k
      if (yych == 'r') goto yy246;
3577
115k
      goto yy59;
3578
247k
    }
3579
773k
  }
3580
1.32M
yy79:
3581
1.32M
  YYDEBUG(79, *YYCURSOR);
3582
1.32M
  yych = *++YYCURSOR;
3583
1.32M
  if (yych == 'O') goto yy247;
3584
1.31M
  if (yych == 'o') goto yy247;
3585
1.27M
  goto yy59;
3586
1.27M
yy80:
3587
427k
  YYDEBUG(80, *YYCURSOR);
3588
427k
  yyaccept = 3;
3589
427k
  yych = *(YYMARKER = ++YYCURSOR);
3590
427k
  if (yych <= '/') {
3591
102k
    if (yych <= 0x1F) {
3592
47.3k
      if (yych == '\t') goto yy248;
3593
55.0k
    } else {
3594
55.0k
      if (yych <= ' ') goto yy248;
3595
40.8k
      if (yych <= ',') goto yy81;
3596
17.0k
      if (yych <= '.') goto yy248;
3597
17.0k
    }
3598
325k
  } else {
3599
325k
    if (yych <= 'U') {
3600
203k
      if (yych <= '9') goto yy250;
3601
128k
      if (yych == 'I') goto yy252;
3602
128k
    } else {
3603
122k
      if (yych == 'W') goto yy81;
3604
118k
      if (yych <= 'X') goto yy253;
3605
118k
    }
3606
325k
  }
3607
1.45M
yy81:
3608
1.45M
  YYDEBUG(81, *YYCURSOR);
3609
1.45M
#line 1646 "ext/date/lib/parse_date.re"
3610
1.45M
  {
3611
1.45M
    DEBUG_OUTPUT("datenoyearrev");
3612
1.45M
    TIMELIB_INIT;
3613
1.45M
    TIMELIB_HAVE_DATE();
3614
174k
    s->time->d = timelib_get_nr(&ptr, 2);
3615
174k
    timelib_skip_day_suffix(&ptr);
3616
174k
    s->time->m = timelib_get_month(&ptr);
3617
174k
    TIMELIB_DEINIT;
3618
174k
    return TIMELIB_DATE_TEXT;
3619
1.45M
  }
3620
0
#line 3621 "ext/date/lib/parse_date.c"
3621
864k
yy82:
3622
864k
  YYDEBUG(82, *YYCURSOR);
3623
864k
  yych = *++YYCURSOR;
3624
864k
  if (yych <= 'U') {
3625
387k
    if (yych == 'A') goto yy254;
3626
360k
    if (yych <= 'T') goto yy59;
3627
74.8k
    goto yy255;
3628
477k
  } else {
3629
477k
    if (yych <= 'a') {
3630
149k
      if (yych <= '`') goto yy59;
3631
110k
      goto yy254;
3632
327k
    } else {
3633
327k
      if (yych == 'u') goto yy255;
3634
148k
      goto yy59;
3635
327k
    }
3636
477k
  }
3637
1.04M
yy83:
3638
1.04M
  YYDEBUG(83, *YYCURSOR);
3639
1.04M
  yych = *++YYCURSOR;
3640
1.04M
  if (yych <= 'S') {
3641
509k
    if (yych <= 'I') {
3642
439k
      if (yych == 'A') goto yy256;
3643
405k
      if (yych <= 'H') goto yy59;
3644
37.3k
      goto yy257;
3645
405k
    } else {
3646
69.9k
      if (yych == 'O') goto yy258;
3647
55.7k
      if (yych <= 'R') goto yy59;
3648
8.51k
      goto yy259;
3649
55.7k
    }
3650
532k
  } else {
3651
532k
    if (yych <= 'i') {
3652
324k
      if (yych == 'a') goto yy256;
3653
259k
      if (yych <= 'h') goto yy59;
3654
149k
      goto yy257;
3655
259k
    } else {
3656
208k
      if (yych <= 'o') {
3657
72.3k
        if (yych <= 'n') goto yy59;
3658
44.8k
        goto yy258;
3659
135k
      } else {
3660
135k
        if (yych == 's') goto yy259;
3661
124k
        goto yy59;
3662
135k
      }
3663
208k
    }
3664
532k
  }
3665
656k
yy84:
3666
656k
  YYDEBUG(84, *YYCURSOR);
3667
656k
  yych = *++YYCURSOR;
3668
656k
  if (yych == 'O') goto yy261;
3669
634k
  if (yych == 'o') goto yy261;
3670
456k
  goto yy59;
3671
899k
yy85:
3672
899k
  YYDEBUG(85, *YYCURSOR);
3673
899k
  yych = *++YYCURSOR;
3674
899k
  if (yych == 'C') goto yy262;
3675
862k
  if (yych == 'c') goto yy262;
3676
778k
  goto yy59;
3677
778k
yy86:
3678
583k
  YYDEBUG(86, *YYCURSOR);
3679
583k
  yych = *++YYCURSOR;
3680
583k
  if (yych <= 'U') {
3681
199k
    if (yych <= 'D') {
3682
148k
      if (yych == 'A') goto yy263;
3683
137k
      goto yy59;
3684
148k
    } else {
3685
51.3k
      if (yych <= 'E') goto yy264;
3686
30.8k
      if (yych <= 'T') goto yy59;
3687
3.43k
      goto yy265;
3688
30.8k
    }
3689
383k
  } else {
3690
383k
    if (yych <= 'd') {
3691
70.8k
      if (yych == 'a') goto yy263;
3692
34.9k
      goto yy59;
3693
312k
    } else {
3694
312k
      if (yych <= 'e') goto yy264;
3695
141k
      if (yych == 'u') goto yy265;
3696
119k
      goto yy59;
3697
141k
    }
3698
383k
  }
3699
2.27M
yy87:
3700
2.27M
  YYDEBUG(87, *YYCURSOR);
3701
2.27M
  yych = *++YYCURSOR;
3702
2.27M
  if (yych <= 'U') {
3703
1.26M
    if (yych == 'H') goto yy266;
3704
1.21M
    if (yych <= 'T') goto yy59;
3705
32.9k
    goto yy267;
3706
1.21M
  } else {
3707
1.01M
    if (yych <= 'h') {
3708
414k
      if (yych <= 'g') goto yy59;
3709
182k
      goto yy266;
3710
597k
    } else {
3711
597k
      if (yych == 'u') goto yy267;
3712
566k
      goto yy59;
3713
597k
    }
3714
1.01M
  }
3715
934k
yy88:
3716
934k
  YYDEBUG(88, *YYCURSOR);
3717
934k
  yych = *++YYCURSOR;
3718
934k
  if (yych == 'S') goto yy268;
3719
910k
  if (yych == 's') goto yy268;
3720
875k
  goto yy59;
3721
875k
yy89:
3722
346k
  YYDEBUG(89, *YYCURSOR);
3723
346k
  yyaccept = 3;
3724
346k
  yych = *(YYMARKER = ++YYCURSOR);
3725
346k
  if (yych <= ',') {
3726
46.0k
    if (yych <= '\t') {
3727
13.5k
      if (yych <= 0x08) goto yy81;
3728
2.27k
      goto yy248;
3729
32.4k
    } else {
3730
32.4k
      if (yych == ' ') goto yy248;
3731
24.5k
      goto yy81;
3732
32.4k
    }
3733
300k
  } else {
3734
300k
    if (yych <= '9') {
3735
116k
      if (yych <= '.') goto yy248;
3736
99.3k
      if (yych <= '/') goto yy81;
3737
94.4k
      goto yy250;
3738
183k
    } else {
3739
183k
      if (yych == 'I') goto yy91;
3740
122k
      goto yy81;
3741
183k
    }
3742
300k
  }
3743
1.13M
yy90:
3744
1.13M
  YYDEBUG(90, *YYCURSOR);
3745
1.13M
  yych = *++YYCURSOR;
3746
1.13M
  if (yych == 'E') goto yy269;
3747
1.06M
  if (yych == 'e') goto yy269;
3748
908k
  goto yy59;
3749
908k
yy91:
3750
363k
  YYDEBUG(91, *YYCURSOR);
3751
363k
  yyaccept = 3;
3752
363k
  yych = *(YYMARKER = ++YYCURSOR);
3753
363k
  if (yych <= ',') {
3754
63.4k
    if (yych <= '\t') {
3755
27.1k
      if (yych <= 0x08) goto yy81;
3756
5.79k
      goto yy248;
3757
36.2k
    } else {
3758
36.2k
      if (yych == ' ') goto yy248;
3759
31.2k
      goto yy81;
3760
36.2k
    }
3761
299k
  } else {
3762
299k
    if (yych <= '9') {
3763
125k
      if (yych <= '.') goto yy248;
3764
78.7k
      if (yych <= '/') goto yy81;
3765
72.0k
      goto yy250;
3766
174k
    } else {
3767
174k
      if (yych == 'I') goto yy252;
3768
125k
      goto yy81;
3769
174k
    }
3770
299k
  }
3771
1.15M
yy92:
3772
1.15M
  YYDEBUG(92, *YYCURSOR);
3773
1.15M
  yych = *++YYCURSOR;
3774
1.15M
  if (yych == 'E') goto yy270;
3775
1.12M
  if (yych == 'e') goto yy270;
3776
848k
  goto yy59;
3777
848k
yy93:
3778
716k
  YYDEBUG(93, *YYCURSOR);
3779
716k
  yych = *++YYCURSOR;
3780
716k
  if (yych <= 'c') {
3781
340k
    if (yych == 'O') goto yy261;
3782
334k
    goto yy59;
3783
376k
  } else {
3784
376k
    if (yych <= 'd') goto yy271;
3785
345k
    if (yych == 'o') goto yy261;
3786
318k
    goto yy59;
3787
345k
  }
3788
773k
yy94:
3789
773k
  YYDEBUG(94, *YYCURSOR);
3790
773k
  yych = *++YYCURSOR;
3791
773k
  if (yych == 'd') goto yy271;
3792
731k
  goto yy59;
3793
827k
yy95:
3794
827k
  YYDEBUG(95, *YYCURSOR);
3795
827k
  yych = *++YYCURSOR;
3796
827k
  if (yych <= '`') {
3797
436k
    if (yych <= 'D') {
3798
346k
      if (yych == 'A') goto yy263;
3799
337k
      goto yy59;
3800
346k
    } else {
3801
90.2k
      if (yych <= 'E') goto yy264;
3802
67.2k
      if (yych == 'U') goto yy265;
3803
53.4k
      goto yy59;
3804
67.2k
    }
3805
436k
  } else {
3806
391k
    if (yych <= 'e') {
3807
101k
      if (yych <= 'a') goto yy263;
3808
79.1k
      if (yych <= 'd') goto yy59;
3809
58.2k
      goto yy264;
3810
290k
    } else {
3811
290k
      if (yych <= 's') goto yy59;
3812
207k
      if (yych <= 't') goto yy271;
3813
99.9k
      if (yych <= 'u') goto yy265;
3814
90.0k
      goto yy59;
3815
99.9k
    }
3816
391k
  }
3817
1.40M
yy96:
3818
1.40M
  YYDEBUG(96, *YYCURSOR);
3819
1.40M
  yych = *++YYCURSOR;
3820
1.40M
  if (yych <= 'U') {
3821
619k
    if (yych == 'H') goto yy266;
3822
598k
    if (yych <= 'T') goto yy59;
3823
37.3k
    goto yy267;
3824
780k
  } else {
3825
780k
    if (yych <= 'h') {
3826
307k
      if (yych <= 'g') goto yy59;
3827
126k
      goto yy272;
3828
473k
    } else {
3829
473k
      if (yych == 'u') goto yy267;
3830
455k
      goto yy59;
3831
473k
    }
3832
780k
  }
3833
824k
yy97:
3834
824k
  YYDEBUG(97, *YYCURSOR);
3835
824k
  ++YYCURSOR;
3836
824k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
3837
824k
  yych = *YYCURSOR;
3838
824k
  if (yych == 0xA0) goto yy273;
3839
346k
  if (yych == 0xB5) goto yy274;
3840
339k
  goto yy59;
3841
768k
yy98:
3842
768k
  YYDEBUG(98, *YYCURSOR);
3843
768k
  ++YYCURSOR;
3844
768k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
3845
768k
  yych = *YYCURSOR;
3846
768k
  if (yych == 0x80) goto yy275;
3847
263k
  goto yy59;
3848
649k
yy99:
3849
649k
  YYDEBUG(99, *YYCURSOR);
3850
649k
  yych = *++YYCURSOR;
3851
649k
  if (yych <= '/') goto yy101;
3852
405k
  if (yych <= '0') goto yy208;
3853
351k
  if (yych <= '1') goto yy209;
3854
311k
  if (yych <= '9') goto yy210;
3855
226k
  goto yy101;
3856
3.92M
yy100:
3857
3.92M
  YYDEBUG(100, *YYCURSOR);
3858
3.92M
  ++YYCURSOR;
3859
3.92M
  if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
3860
3.92M
  yych = *YYCURSOR;
3861
18.3M
yy101:
3862
18.3M
  YYDEBUG(101, *YYCURSOR);
3863
18.3M
  if (yych <= 'W') {
3864
12.8M
    if (yych <= 'G') {
3865
9.51M
      if (yych <= '.') {
3866
6.91M
        if (yych <= 0x1F) {
3867
1.94M
          if (yych == '\t') goto yy100;
3868
1.60M
          goto yy59;
3869
4.97M
        } else {
3870
4.97M
          if (yych <= ' ') goto yy100;
3871
1.38M
          if (yych <= ',') goto yy59;
3872
81.2k
          goto yy206;
3873
1.38M
        }
3874
6.91M
      } else {
3875
2.59M
        if (yych <= 'C') {
3876
1.72M
          if (yych == 'A') goto yy105;
3877
1.20M
          goto yy59;
3878
1.72M
        } else {
3879
867k
          if (yych <= 'D') goto yy77;
3880
577k
          if (yych == 'F') goto yy78;
3881
96.6k
          goto yy59;
3882
577k
        }
3883
2.59M
      }
3884
9.51M
    } else {
3885
3.30M
      if (yych <= 'O') {
3886
1.56M
        if (yych <= 'J') {
3887
707k
          if (yych <= 'H') goto yy79;
3888
534k
          if (yych <= 'I') goto yy80;
3889
266k
          goto yy82;
3890
860k
        } else {
3891
860k
          if (yych <= 'L') goto yy59;
3892
816k
          if (yych <= 'M') goto yy83;
3893
493k
          if (yych <= 'N') goto yy84;
3894
193k
          goto yy85;
3895
493k
        }
3896
1.73M
      } else {
3897
1.73M
        if (yych <= 'S') {
3898
630k
          if (yych <= 'P') goto yy106;
3899
367k
          if (yych <= 'R') goto yy59;
3900
336k
          goto yy86;
3901
1.10M
        } else {
3902
1.10M
          if (yych <= 'T') goto yy87;
3903
533k
          if (yych <= 'U') goto yy88;
3904
401k
          if (yych <= 'V') goto yy89;
3905
205k
          goto yy90;
3906
401k
        }
3907
1.73M
      }
3908
3.30M
    }
3909
12.8M
  } else {
3910
5.53M
    if (yych <= 'm') {
3911
2.94M
      if (yych <= 'e') {
3912
1.62M
        if (yych <= '`') {
3913
538k
          if (yych <= 'X') goto yy91;
3914
359k
          if (yych <= 'Y') goto yy92;
3915
141k
          goto yy59;
3916
1.09M
        } else {
3917
1.09M
          if (yych <= 'a') goto yy105;
3918
535k
          if (yych == 'd') goto yy77;
3919
128k
          goto yy59;
3920
535k
        }
3921
1.62M
      } else {
3922
1.31M
        if (yych <= 'h') {
3923
670k
          if (yych <= 'f') goto yy78;
3924
303k
          if (yych <= 'g') goto yy59;
3925
275k
          goto yy79;
3926
643k
        } else {
3927
643k
          if (yych == 'j') goto yy82;
3928
481k
          if (yych <= 'l') goto yy59;
3929
396k
          goto yy83;
3930
481k
        }
3931
1.31M
      }
3932
2.94M
    } else {
3933
2.59M
      if (yych <= 'u') {
3934
1.25M
        if (yych <= 'p') {
3935
829k
          if (yych <= 'n') goto yy84;
3936
798k
          if (yych <= 'o') goto yy85;
3937
433k
          goto yy106;
3938
798k
        } else {
3939
426k
          if (yych <= 'r') goto yy59;
3940
373k
          if (yych <= 's') goto yy86;
3941
339k
          if (yych <= 't') goto yy87;
3942
303k
          goto yy88;
3943
339k
        }
3944
1.33M
      } else {
3945
1.33M
        if (yych <= 'x') {
3946
334k
          if (yych == 'w') goto yy90;
3947
44.9k
          goto yy59;
3948
1.00M
        } else {
3949
1.00M
          if (yych <= 'y') goto yy92;
3950
749k
          if (yych == 0xC2) goto yy211;
3951
735k
          goto yy59;
3952
749k
        }
3953
1.33M
      }
3954
2.59M
    }
3955
5.53M
  }
3956
1.61M
yy102:
3957
1.61M
  YYDEBUG(102, *YYCURSOR);
3958
1.61M
  yych = *++YYCURSOR;
3959
1.61M
  if (yych <= '1') {
3960
855k
    if (yych <= '/') goto yy207;
3961
616k
    if (yych <= '0') goto yy276;
3962
291k
    goto yy277;
3963
761k
  } else {
3964
761k
    if (yych <= '5') goto yy278;
3965
497k
    if (yych <= '9') goto yy279;
3966
389k
    goto yy207;
3967
497k
  }
3968
7.03M
yy103:
3969
7.03M
  YYDEBUG(103, *YYCURSOR);
3970
7.03M
  yych = *++YYCURSOR;
3971
7.03M
  if (yych <= 'm') {
3972
6.35M
    if (yych <= '.') {
3973
1.38M
      if (yych <= '\t') {
3974
346k
        if (yych <= 0x08) goto yy69;
3975
72.3k
        goto yy67;
3976
1.03M
      } else {
3977
1.03M
        if (yych <= ',') goto yy69;
3978
348k
        if (yych <= '-') goto yy235;
3979
82.5k
        goto yy71;
3980
348k
      }
3981
4.96M
    } else {
3982
4.96M
      if (yych <= '5') {
3983
2.51M
        if (yych <= '/') goto yy280;
3984
2.31M
        goto yy236;
3985
2.51M
      } else {
3986
2.44M
        if (yych <= '9') goto yy237;
3987
1.92M
        if (yych <= ':') goto yy75;
3988
958k
        goto yy69;
3989
1.92M
      }
3990
4.96M
    }
3991
6.35M
  } else {
3992
682k
    if (yych <= 't') {
3993
194k
      if (yych <= 'q') {
3994
78.4k
        if (yych <= 'n') goto yy93;
3995
45.0k
        goto yy69;
3996
115k
      } else {
3997
115k
        if (yych <= 'r') goto yy94;
3998
85.8k
        if (yych <= 's') goto yy95;
3999
48.1k
        goto yy96;
4000
85.8k
      }
4001
488k
    } else {
4002
488k
      if (yych <= 0xC2) {
4003
285k
        if (yych <= 0xC1) goto yy69;
4004
48.4k
        goto yy97;
4005
285k
      } else {
4006
203k
        if (yych == 0xE2) goto yy98;
4007
177k
        goto yy69;
4008
203k
      }
4009
488k
    }
4010
682k
  }
4011
9.42M
yy104:
4012
9.42M
  YYDEBUG(104, *YYCURSOR);
4013
9.42M
  yych = *++YYCURSOR;
4014
9.42M
  if (yych <= '/') goto yy59;
4015
3.66M
  if (yych <= '5') goto yy281;
4016
2.46M
  if (yych <= '9') goto yy282;
4017
2.30M
  goto yy59;
4018
2.30M
yy105:
4019
1.08M
  YYDEBUG(105, *YYCURSOR);
4020
1.08M
  yych = *++YYCURSOR;
4021
1.08M
  if (yych <= 'T') {
4022
495k
    if (yych <= 'L') {
4023
419k
      if (yych == '.') goto yy283;
4024
397k
      goto yy59;
4025
419k
    } else {
4026
75.6k
      if (yych <= 'M') goto yy284;
4027
43.8k
      if (yych == 'P') goto yy240;
4028
32.9k
      goto yy59;
4029
43.8k
    }
4030
586k
  } else {
4031
586k
    if (yych <= 'o') {
4032
310k
      if (yych <= 'U') goto yy241;
4033
273k
      if (yych == 'm') goto yy284;
4034
230k
      goto yy59;
4035
275k
    } else {
4036
275k
      if (yych <= 'p') goto yy240;
4037
228k
      if (yych == 'u') goto yy241;
4038
188k
      goto yy59;
4039
228k
    }
4040
586k
  }
4041
943k
yy106:
4042
943k
  YYDEBUG(106, *YYCURSOR);
4043
943k
  yych = *++YYCURSOR;
4044
943k
  if (yych <= 'L') {
4045
419k
    if (yych == '.') goto yy283;
4046
382k
    goto yy59;
4047
524k
  } else {
4048
524k
    if (yych <= 'M') goto yy284;
4049
488k
    if (yych == 'm') goto yy284;
4050
441k
    goto yy59;
4051
488k
  }
4052
536k
yy107:
4053
536k
  YYDEBUG(107, *YYCURSOR);
4054
536k
  ++YYCURSOR;
4055
536k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
4056
536k
  yych = *YYCURSOR;
4057
536k
  if (yych == 0xA0) goto yy285;
4058
198k
  if (yych == 0xB5) goto yy274;
4059
191k
  goto yy59;
4060
422k
yy108:
4061
422k
  YYDEBUG(108, *YYCURSOR);
4062
422k
  ++YYCURSOR;
4063
422k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
4064
422k
  yych = *YYCURSOR;
4065
422k
  if (yych == 0x80) goto yy286;
4066
151k
  goto yy59;
4067
2.27M
yy109:
4068
2.27M
  YYDEBUG(109, *YYCURSOR);
4069
2.27M
  yych = *++YYCURSOR;
4070
2.27M
  if (yych <= 'n') {
4071
1.96M
    if (yych <= '-') {
4072
450k
      if (yych == '\t') goto yy67;
4073
423k
      if (yych <= ',') goto yy69;
4074
110k
      goto yy235;
4075
1.51M
    } else {
4076
1.51M
      if (yych <= '/') {
4077
102k
        if (yych <= '.') goto yy287;
4078
53.8k
        goto yy280;
4079
1.41M
      } else {
4080
1.41M
        if (yych <= '9') goto yy237;
4081
491k
        if (yych <= 'm') goto yy69;
4082
14.1k
        goto yy93;
4083
491k
      }
4084
1.51M
    }
4085
1.96M
  } else {
4086
312k
    if (yych <= 't') {
4087
76.6k
      if (yych <= 'q') goto yy69;
4088
54.2k
      if (yych <= 'r') goto yy94;
4089
36.7k
      if (yych <= 's') goto yy95;
4090
23.6k
      goto yy96;
4091
235k
    } else {
4092
235k
      if (yych <= 0xC2) {
4093
139k
        if (yych <= 0xC1) goto yy69;
4094
41.0k
        goto yy97;
4095
139k
      } else {
4096
96.2k
        if (yych == 0xE2) goto yy98;
4097
55.5k
        goto yy69;
4098
96.2k
      }
4099
235k
    }
4100
312k
  }
4101
18.3M
yy110:
4102
18.3M
  YYDEBUG(110, *YYCURSOR);
4103
18.3M
  yych = *++YYCURSOR;
4104
18.3M
  if (yych <= '9') {
4105
13.3M
    if (yych == '-') goto yy288;
4106
12.4M
    if (yych <= '/') goto yy196;
4107
9.26M
    goto yy237;
4108
12.4M
  } else {
4109
5.00M
    if (yych <= 0xC2) {
4110
4.38M
      if (yych <= 0xC1) goto yy196;
4111
70.6k
      goto yy97;
4112
4.38M
    } else {
4113
623k
      if (yych == 0xE2) goto yy98;
4114
571k
      goto yy196;
4115
623k
    }
4116
5.00M
  }
4117
94.2k
yy111:
4118
94.2k
  YYDEBUG(111, *YYCURSOR);
4119
94.2k
  yych = *++YYCURSOR;
4120
94.2k
  if (yybm[0+yych] & 8) {
4121
29.4k
    goto yy112;
4122
29.4k
  }
4123
64.7k
  goto yy59;
4124
2.22M
yy112:
4125
2.22M
  YYDEBUG(112, *YYCURSOR);
4126
2.22M
  ++YYCURSOR;
4127
2.22M
  if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
4128
2.22M
  yych = *YYCURSOR;
4129
2.22M
  YYDEBUG(113, *YYCURSOR);
4130
2.22M
  if (yybm[0+yych] & 8) {
4131
973k
    goto yy112;
4132
973k
  }
4133
1.25M
  if (yych == '.') goto yy289;
4134
1.17M
  YYDEBUG(114, *YYCURSOR);
4135
1.17M
#line 1221 "ext/date/lib/parse_date.re"
4136
1.17M
  {
4137
1.17M
    timelib_ull i;
4138
4139
1.17M
    TIMELIB_INIT;
4140
1.17M
    TIMELIB_HAVE_RELATIVE();
4141
1.17M
    TIMELIB_UNHAVE_DATE();
4142
1.17M
    TIMELIB_UNHAVE_TIME();
4143
1.17M
    TIMELIB_HAVE_TZ();
4144
4145
1.17k
    i = timelib_get_signed_nr(s, &ptr, 24);
4146
1.17k
    s->time->y = 1970;
4147
1.17k
    s->time->m = 1;
4148
1.17k
    s->time->d = 1;
4149
1.17k
    s->time->h = s->time->i = s->time->s = 0;
4150
1.17k
    s->time->us = 0;
4151
1.17k
    s->time->relative.s += i;
4152
1.17k
    s->time->is_localtime = 1;
4153
1.17k
    s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
4154
1.17k
    s->time->z = 0;
4155
1.17k
    s->time->dst = 0;
4156
4157
1.17k
    TIMELIB_DEINIT;
4158
1.17k
    return TIMELIB_RELATIVE;
4159
1.17M
  }
4160
0
#line 4161 "ext/date/lib/parse_date.c"
4161
3.35M
yy115:
4162
3.35M
  YYDEBUG(115, *YYCURSOR);
4163
3.35M
  ++YYCURSOR;
4164
3.35M
  goto yy20;
4165
52.9M
yy116:
4166
52.9M
  YYDEBUG(116, *YYCURSOR);
4167
52.9M
  yych = *++YYCURSOR;
4168
52.9M
  if (yych <= '@') {
4169
16.3M
    if (yych == ')') goto yy115;
4170
16.0M
    goto yy20;
4171
36.5M
  } else {
4172
36.5M
    if (yych <= 'Z') goto yy291;
4173
26.0M
    if (yych <= '`') goto yy20;
4174
24.3M
    if (yych <= 'z') goto yy291;
4175
4.21M
    goto yy20;
4176
24.3M
  }
4177
132k
yy117:
4178
132k
  YYDEBUG(117, *YYCURSOR);
4179
132k
  yych = *++YYCURSOR;
4180
132k
  if (yych <= 'O') {
4181
71.5k
    if (yych <= ')') {
4182
22.5k
      if (yych <= '(') goto yy20;
4183
2.55k
      goto yy115;
4184
49.0k
    } else {
4185
49.0k
      if (yych <= '@') goto yy20;
4186
24.7k
      if (yych <= 'N') goto yy291;
4187
12.7k
      goto yy292;
4188
24.7k
    }
4189
71.5k
  } else {
4190
61.2k
    if (yych <= 'n') {
4191
34.5k
      if (yych <= 'Z') goto yy291;
4192
29.6k
      if (yych <= '`') goto yy20;
4193
24.3k
      goto yy291;
4194
29.6k
    } else {
4195
26.7k
      if (yych <= 'o') goto yy292;
4196
18.0k
      if (yych <= 'z') goto yy291;
4197
10.9k
      goto yy20;
4198
18.0k
    }
4199
61.2k
  }
4200
335k
yy118:
4201
335k
  YYDEBUG(118, *YYCURSOR);
4202
335k
  yych = *++YYCURSOR;
4203
335k
  if (yych <= 'R') {
4204
180k
    if (yych <= ')') {
4205
71.7k
      if (yych <= '(') goto yy20;
4206
3.33k
      goto yy115;
4207
109k
    } else {
4208
109k
      if (yych <= '@') goto yy20;
4209
73.1k
      if (yych <= 'Q') goto yy291;
4210
28.0k
      goto yy294;
4211
73.1k
    }
4212
180k
  } else {
4213
154k
    if (yych <= 'q') {
4214
63.0k
      if (yych <= 'Z') goto yy291;
4215
49.5k
      if (yych <= '`') goto yy20;
4216
39.1k
      goto yy291;
4217
91.3k
    } else {
4218
91.3k
      if (yych <= 'r') goto yy294;
4219
26.2k
      if (yych <= 'z') goto yy291;
4220
16.0k
      goto yy20;
4221
26.2k
    }
4222
154k
  }
4223
226k
yy119:
4224
226k
  YYDEBUG(119, *YYCURSOR);
4225
226k
  yych = *++YYCURSOR;
4226
226k
  if (yych <= 'G') {
4227
91.6k
    if (yych <= ')') {
4228
36.8k
      if (yych <= '(') goto yy20;
4229
16.2k
      goto yy115;
4230
54.8k
    } else {
4231
54.8k
      if (yych <= '@') goto yy20;
4232
39.8k
      if (yych <= 'F') goto yy291;
4233
29.5k
      goto yy296;
4234
39.8k
    }
4235
134k
  } else {
4236
134k
    if (yych <= 'f') {
4237
38.5k
      if (yych <= 'Z') goto yy291;
4238
18.5k
      if (yych <= '`') goto yy20;
4239
13.6k
      goto yy291;
4240
95.8k
    } else {
4241
95.8k
      if (yych <= 'g') goto yy296;
4242
42.3k
      if (yych <= 'z') goto yy291;
4243
12.2k
      goto yy20;
4244
42.3k
    }
4245
134k
  }
4246
10.7M
yy120:
4247
10.7M
  YYDEBUG(120, *YYCURSOR);
4248
10.7M
  yyaccept = 2;
4249
10.7M
  yych = *(YYMARKER = ++YYCURSOR);
4250
10.7M
  if (yych <= '/') {
4251
2.09M
    if (yych <= ',') {
4252
1.84M
      if (yych == ')') goto yy115;
4253
1.74M
      goto yy20;
4254
1.84M
    } else {
4255
246k
      if (yych == '.') goto yy20;
4256
159k
      goto yy297;
4257
246k
    }
4258
8.66M
  } else {
4259
8.66M
    if (yych <= '^') {
4260
2.62M
      if (yych <= '@') goto yy20;
4261
1.61M
      if (yych <= 'Z') goto yy291;
4262
120k
      goto yy20;
4263
6.03M
    } else {
4264
6.03M
      if (yych <= '_') goto yy297;
4265
5.96M
      if (yych <= '`') goto yy20;
4266
5.80M
      if (yych <= 'z') goto yy298;
4267
806k
      goto yy20;
4268
5.80M
    }
4269
8.66M
  }
4270
156k
yy121:
4271
156k
  YYDEBUG(121, *YYCURSOR);
4272
156k
  yyaccept = 2;
4273
156k
  yych = *(YYMARKER = ++YYCURSOR);
4274
156k
  if (yych <= 'N') {
4275
34.4k
    if (yych <= '-') {
4276
17.5k
      if (yych == ')') goto yy115;
4277
14.7k
      if (yych <= ',') goto yy20;
4278
3.02k
      goto yy297;
4279
16.8k
    } else {
4280
16.8k
      if (yych == '/') goto yy297;
4281
13.3k
      if (yych <= '@') goto yy20;
4282
3.18k
      goto yy291;
4283
13.3k
    }
4284
122k
  } else {
4285
122k
    if (yych <= '_') {
4286
21.7k
      if (yych <= 'O') goto yy292;
4287
16.1k
      if (yych <= 'Z') goto yy291;
4288
12.6k
      if (yych <= '^') goto yy20;
4289
7.21k
      goto yy297;
4290
100k
    } else {
4291
100k
      if (yych <= 'n') {
4292
16.3k
        if (yych <= '`') goto yy20;
4293
12.1k
        goto yy298;
4294
84.0k
      } else {
4295
84.0k
        if (yych <= 'o') goto yy299;
4296
12.2k
        if (yych <= 'z') goto yy298;
4297
8.22k
        goto yy20;
4298
12.2k
      }
4299
100k
    }
4300
122k
  }
4301
359k
yy122:
4302
359k
  YYDEBUG(122, *YYCURSOR);
4303
359k
  yyaccept = 2;
4304
359k
  yych = *(YYMARKER = ++YYCURSOR);
4305
359k
  if (yych <= 'Q') {
4306
72.3k
    if (yych <= '-') {
4307
30.4k
      if (yych == ')') goto yy115;
4308
27.8k
      if (yych <= ',') goto yy20;
4309
4.50k
      goto yy297;
4310
41.9k
    } else {
4311
41.9k
      if (yych == '/') goto yy297;
4312
37.0k
      if (yych <= '@') goto yy20;
4313
9.46k
      goto yy291;
4314
37.0k
    }
4315
287k
  } else {
4316
287k
    if (yych <= '_') {
4317
33.4k
      if (yych <= 'R') goto yy294;
4318
11.4k
      if (yych <= 'Z') goto yy291;
4319
7.10k
      if (yych <= '^') goto yy20;
4320
2.61k
      goto yy297;
4321
253k
    } else {
4322
253k
      if (yych <= 'q') {
4323
28.0k
        if (yych <= '`') goto yy20;
4324
23.9k
        goto yy298;
4325
225k
      } else {
4326
225k
        if (yych <= 'r') goto yy300;
4327
20.2k
        if (yych <= 'z') goto yy298;
4328
13.0k
        goto yy20;
4329
20.2k
      }
4330
253k
    }
4331
287k
  }
4332
535k
yy123:
4333
535k
  YYDEBUG(123, *YYCURSOR);
4334
535k
  yyaccept = 2;
4335
535k
  yych = *(YYMARKER = ++YYCURSOR);
4336
535k
  if (yych <= 'F') {
4337
62.0k
    if (yych <= '-') {
4338
22.3k
      if (yych == ')') goto yy115;
4339
19.4k
      if (yych <= ',') goto yy20;
4340
4.28k
      goto yy297;
4341
39.6k
    } else {
4342
39.6k
      if (yych == '/') goto yy297;
4343
36.2k
      if (yych <= '@') goto yy20;
4344
4.74k
      goto yy291;
4345
36.2k
    }
4346
473k
  } else {
4347
473k
    if (yych <= '_') {
4348
92.5k
      if (yych <= 'G') goto yy296;
4349
19.5k
      if (yych <= 'Z') goto yy291;
4350
11.0k
      if (yych <= '^') goto yy20;
4351
6.27k
      goto yy297;
4352
381k
    } else {
4353
381k
      if (yych <= 'f') {
4354
18.5k
        if (yych <= '`') goto yy20;
4355
15.1k
        goto yy298;
4356
362k
      } else {
4357
362k
        if (yych <= 'g') goto yy301;
4358
101k
        if (yych <= 'z') goto yy298;
4359
22.0k
        goto yy20;
4360
101k
      }
4361
381k
    }
4362
473k
  }
4363
346k
yy124:
4364
346k
  YYDEBUG(124, *YYCURSOR);
4365
346k
  yych = *++YYCURSOR;
4366
346k
  if (yych <= 'C') {
4367
183k
    if (yych <= ')') {
4368
56.9k
      if (yych <= '(') goto yy20;
4369
4.74k
      goto yy115;
4370
126k
    } else {
4371
126k
      if (yych <= '@') goto yy20;
4372
104k
      if (yych <= 'B') goto yy291;
4373
88.7k
      goto yy302;
4374
104k
    }
4375
183k
  } else {
4376
162k
    if (yych <= 'b') {
4377
58.8k
      if (yych <= 'Z') goto yy291;
4378
21.3k
      if (yych <= '`') goto yy20;
4379
14.3k
      goto yy291;
4380
103k
    } else {
4381
103k
      if (yych <= 'c') goto yy302;
4382
60.4k
      if (yych <= 'z') goto yy291;
4383
8.81k
      goto yy20;
4384
60.4k
    }
4385
162k
  }
4386
347k
yy125:
4387
347k
  YYDEBUG(125, *YYCURSOR);
4388
347k
  yyaccept = 2;
4389
347k
  yych = *(YYMARKER = ++YYCURSOR);
4390
347k
  if (yych <= 'B') {
4391
54.5k
    if (yych <= '-') {
4392
33.0k
      if (yych == ')') goto yy115;
4393
26.8k
      if (yych <= ',') goto yy20;
4394
4.02k
      goto yy297;
4395
26.8k
    } else {
4396
21.5k
      if (yych == '/') goto yy297;
4397
20.1k
      if (yych <= '@') goto yy20;
4398
3.71k
      goto yy291;
4399
20.1k
    }
4400
293k
  } else {
4401
293k
    if (yych <= '_') {
4402
76.2k
      if (yych <= 'C') goto yy302;
4403
17.9k
      if (yych <= 'Z') goto yy291;
4404
5.28k
      if (yych <= '^') goto yy20;
4405
1.76k
      goto yy297;
4406
216k
    } else {
4407
216k
      if (yych <= 'b') {
4408
15.8k
        if (yych <= '`') goto yy20;
4409
9.28k
        goto yy298;
4410
201k
      } else {
4411
201k
        if (yych <= 'c') goto yy303;
4412
61.0k
        if (yych <= 'z') goto yy298;
4413
7.99k
        goto yy20;
4414
61.0k
      }
4415
216k
    }
4416
293k
  }
4417
554k
yy126:
4418
554k
  YYDEBUG(126, *YYCURSOR);
4419
554k
  yych = *++YYCURSOR;
4420
554k
  if (yych <= 'C') {
4421
201k
    if (yych <= ')') {
4422
82.5k
      if (yych <= '(') goto yy20;
4423
4.71k
      goto yy115;
4424
119k
    } else {
4425
119k
      if (yych <= '@') goto yy20;
4426
69.5k
      if (yych <= 'B') goto yy291;
4427
52.3k
      goto yy304;
4428
69.5k
    }
4429
352k
  } else {
4430
352k
    if (yych <= 'b') {
4431
111k
      if (yych <= 'Z') goto yy291;
4432
50.2k
      if (yych <= '`') goto yy20;
4433
23.3k
      goto yy291;
4434
240k
    } else {
4435
240k
      if (yych <= 'c') goto yy304;
4436
152k
      if (yych <= 'z') goto yy291;
4437
30.5k
      goto yy20;
4438
152k
    }
4439
352k
  }
4440
271k
yy127:
4441
271k
  YYDEBUG(127, *YYCURSOR);
4442
271k
  yyaccept = 2;
4443
271k
  yych = *(YYMARKER = ++YYCURSOR);
4444
271k
  if (yych <= 'B') {
4445
74.0k
    if (yych <= '-') {
4446
42.0k
      if (yych == ')') goto yy115;
4447
31.2k
      if (yych <= ',') goto yy20;
4448
3.33k
      goto yy297;
4449
31.9k
    } else {
4450
31.9k
      if (yych == '/') goto yy297;
4451
22.8k
      if (yych <= '@') goto yy20;
4452
4.29k
      goto yy291;
4453
22.8k
    }
4454
197k
  } else {
4455
197k
    if (yych <= '_') {
4456
25.3k
      if (yych <= 'C') goto yy304;
4457
18.0k
      if (yych <= 'Z') goto yy291;
4458
3.35k
      if (yych <= '^') goto yy20;
4459
1.30k
      goto yy297;
4460
172k
    } else {
4461
172k
      if (yych <= 'b') {
4462
25.2k
        if (yych <= '`') goto yy20;
4463
17.2k
        goto yy298;
4464
147k
      } else {
4465
147k
        if (yych <= 'c') goto yy305;
4466
48.8k
        if (yych <= 'z') goto yy298;
4467
9.44k
        goto yy20;
4468
48.8k
      }
4469
172k
    }
4470
197k
  }
4471
460k
yy128:
4472
460k
  YYDEBUG(128, *YYCURSOR);
4473
460k
  yych = *++YYCURSOR;
4474
460k
  if (yych <= 'G') {
4475
107k
    if (yych <= ')') {
4476
39.8k
      if (yych <= '(') goto yy20;
4477
4.20k
      goto yy115;
4478
67.9k
    } else {
4479
67.9k
      if (yych <= '@') goto yy20;
4480
33.2k
      if (yych <= 'F') goto yy291;
4481
25.8k
      goto yy306;
4482
33.2k
    }
4483
352k
  } else {
4484
352k
    if (yych <= 'f') {
4485
33.2k
      if (yych <= 'Z') goto yy291;
4486
20.2k
      if (yych <= '`') goto yy20;
4487
12.2k
      goto yy291;
4488
319k
    } else {
4489
319k
      if (yych <= 'g') goto yy306;
4490
131k
      if (yych <= 'z') goto yy291;
4491
18.2k
      goto yy20;
4492
131k
    }
4493
352k
  }
4494
275k
yy129:
4495
275k
  YYDEBUG(129, *YYCURSOR);
4496
275k
  yych = *++YYCURSOR;
4497
275k
  if (yych <= 'E') {
4498
124k
    if (yych <= ')') {
4499
46.7k
      if (yych <= '(') goto yy20;
4500
4.02k
      goto yy115;
4501
77.9k
    } else {
4502
77.9k
      if (yych <= '@') goto yy20;
4503
35.4k
      if (yych <= 'D') goto yy291;
4504
20.2k
      goto yy307;
4505
35.4k
    }
4506
150k
  } else {
4507
150k
    if (yych <= 'd') {
4508
29.6k
      if (yych <= 'Z') goto yy291;
4509
16.1k
      if (yych <= '`') goto yy20;
4510
9.95k
      goto yy291;
4511
120k
    } else {
4512
120k
      if (yych <= 'e') goto yy307;
4513
49.6k
      if (yych <= 'z') goto yy291;
4514
11.4k
      goto yy20;
4515
49.6k
    }
4516
150k
  }
4517
492k
yy130:
4518
492k
  YYDEBUG(130, *YYCURSOR);
4519
492k
  yyaccept = 2;
4520
492k
  yych = *(YYMARKER = ++YYCURSOR);
4521
492k
  if (yych <= 'F') {
4522
60.1k
    if (yych <= '-') {
4523
39.1k
      if (yych == ')') goto yy115;
4524
36.2k
      if (yych <= ',') goto yy20;
4525
5.20k
      goto yy297;
4526
36.2k
    } else {
4527
21.0k
      if (yych == '/') goto yy297;
4528
17.3k
      if (yych <= '@') goto yy20;
4529
4.94k
      goto yy291;
4530
17.3k
    }
4531
432k
  } else {
4532
432k
    if (yych <= '_') {
4533
55.8k
      if (yych <= 'G') goto yy306;
4534
16.0k
      if (yych <= 'Z') goto yy291;
4535
8.48k
      if (yych <= '^') goto yy20;
4536
3.08k
      goto yy297;
4537
376k
    } else {
4538
376k
      if (yych <= 'f') {
4539
19.1k
        if (yych <= '`') goto yy20;
4540
13.4k
        goto yy298;
4541
357k
      } else {
4542
357k
        if (yych <= 'g') goto yy308;
4543
35.2k
        if (yych <= 'z') goto yy298;
4544
22.5k
        goto yy20;
4545
35.2k
      }
4546
376k
    }
4547
432k
  }
4548
352k
yy131:
4549
352k
  YYDEBUG(131, *YYCURSOR);
4550
352k
  yyaccept = 2;
4551
352k
  yych = *(YYMARKER = ++YYCURSOR);
4552
352k
  if (yych <= 'D') {
4553
38.0k
    if (yych <= '-') {
4554
21.5k
      if (yych == ')') goto yy115;
4555
19.3k
      if (yych <= ',') goto yy20;
4556
2.63k
      goto yy297;
4557
19.3k
    } else {
4558
16.4k
      if (yych == '/') goto yy297;
4559
15.7k
      if (yych <= '@') goto yy20;
4560
2.21k
      goto yy291;
4561
15.7k
    }
4562
314k
  } else {
4563
314k
    if (yych <= '_') {
4564
44.9k
      if (yych <= 'E') goto yy307;
4565
22.2k
      if (yych <= 'Z') goto yy291;
4566
12.0k
      if (yych <= '^') goto yy20;
4567
4.09k
      goto yy297;
4568
269k
    } else {
4569
269k
      if (yych <= 'd') {
4570
14.1k
        if (yych <= '`') goto yy20;
4571
12.6k
        goto yy298;
4572
254k
      } else {
4573
254k
        if (yych <= 'e') goto yy309;
4574
21.8k
        if (yych <= 'z') goto yy298;
4575
5.72k
        goto yy20;
4576
21.8k
      }
4577
269k
    }
4578
314k
  }
4579
263k
yy132:
4580
263k
  YYDEBUG(132, *YYCURSOR);
4581
263k
  yych = *++YYCURSOR;
4582
263k
  if (yych <= 'B') {
4583
85.9k
    if (yych <= ')') {
4584
43.5k
      if (yych <= '(') goto yy20;
4585
4.37k
      goto yy115;
4586
43.5k
    } else {
4587
42.4k
      if (yych <= '@') goto yy20;
4588
20.2k
      if (yych <= 'A') goto yy291;
4589
16.3k
      goto yy310;
4590
20.2k
    }
4591
177k
  } else {
4592
177k
    if (yych <= 'a') {
4593
40.1k
      if (yych <= 'Z') goto yy291;
4594
20.4k
      if (yych <= '`') goto yy20;
4595
1.80k
      goto yy291;
4596
136k
    } else {
4597
136k
      if (yych <= 'b') goto yy310;
4598
61.1k
      if (yych <= 'z') goto yy291;
4599
12.2k
      goto yy20;
4600
61.1k
    }
4601
177k
  }
4602
429k
yy133:
4603
429k
  YYDEBUG(133, *YYCURSOR);
4604
429k
  yych = *++YYCURSOR;
4605
429k
  if (yych <= 'R') {
4606
183k
    if (yych <= '@') {
4607
52.5k
      if (yych == ')') goto yy115;
4608
50.9k
      goto yy20;
4609
130k
    } else {
4610
130k
      if (yych == 'F') goto yy311;
4611
122k
      if (yych <= 'Q') goto yy291;
4612
108k
      goto yy312;
4613
122k
    }
4614
246k
  } else {
4615
246k
    if (yych <= 'f') {
4616
61.6k
      if (yych <= 'Z') goto yy291;
4617
49.4k
      if (yych <= '`') goto yy20;
4618
43.0k
      if (yych <= 'e') goto yy291;
4619
21.1k
      goto yy311;
4620
184k
    } else {
4621
184k
      if (yych == 'r') goto yy312;
4622
122k
      if (yych <= 'z') goto yy291;
4623
16.3k
      goto yy20;
4624
122k
    }
4625
246k
  }
4626
640k
yy134:
4627
640k
  YYDEBUG(134, *YYCURSOR);
4628
640k
  yych = *++YYCURSOR;
4629
640k
  if (yych <= 'U') {
4630
218k
    if (yych <= ')') {
4631
53.8k
      if (yych <= '(') goto yy20;
4632
5.41k
      goto yy115;
4633
164k
    } else {
4634
164k
      if (yych <= '@') goto yy20;
4635
125k
      if (yych <= 'T') goto yy291;
4636
41.9k
      goto yy313;
4637
125k
    }
4638
422k
  } else {
4639
422k
    if (yych <= 't') {
4640
299k
      if (yych <= 'Z') goto yy291;
4641
290k
      if (yych <= '`') goto yy20;
4642
282k
      goto yy291;
4643
290k
    } else {
4644
122k
      if (yych <= 'u') goto yy313;
4645
56.9k
      if (yych <= 'z') goto yy291;
4646
41.8k
      goto yy20;
4647
56.9k
    }
4648
422k
  }
4649
253k
yy135:
4650
253k
  YYDEBUG(135, *YYCURSOR);
4651
253k
  yych = *++YYCURSOR;
4652
253k
  if (yych <= 'O') {
4653
87.5k
    if (yych <= '@') {
4654
34.1k
      if (yych == ')') goto yy115;
4655
31.9k
      goto yy20;
4656
53.3k
    } else {
4657
53.3k
      if (yych == 'I') goto yy314;
4658
31.9k
      if (yych <= 'N') goto yy291;
4659
22.8k
      goto yy316;
4660
31.9k
    }
4661
166k
  } else {
4662
166k
    if (yych <= 'i') {
4663
63.4k
      if (yych <= 'Z') goto yy291;
4664
49.2k
      if (yych <= '`') goto yy20;
4665
37.7k
      if (yych <= 'h') goto yy291;
4666
24.9k
      goto yy314;
4667
102k
    } else {
4668
102k
      if (yych == 'o') goto yy316;
4669
24.9k
      if (yych <= 'z') goto yy291;
4670
11.9k
      goto yy20;
4671
24.9k
    }
4672
166k
  }
4673
435k
yy136:
4674
435k
  YYDEBUG(136, *YYCURSOR);
4675
435k
  yyaccept = 2;
4676
435k
  yych = *(YYMARKER = ++YYCURSOR);
4677
435k
  if (yych <= 'A') {
4678
76.5k
    if (yych <= '-') {
4679
51.5k
      if (yych == ')') goto yy115;
4680
42.4k
      if (yych <= ',') goto yy20;
4681
4.61k
      goto yy297;
4682
42.4k
    } else {
4683
24.9k
      if (yych == '/') goto yy297;
4684
22.5k
      if (yych <= '@') goto yy20;
4685
3.23k
      goto yy291;
4686
22.5k
    }
4687
358k
  } else {
4688
358k
    if (yych <= '_') {
4689
40.6k
      if (yych <= 'B') goto yy310;
4690
16.2k
      if (yych <= 'Z') goto yy291;
4691
8.34k
      if (yych <= '^') goto yy20;
4692
2.61k
      goto yy297;
4693
317k
    } else {
4694
317k
      if (yych <= 'a') {
4695
11.6k
        if (yych <= '`') goto yy20;
4696
2.80k
        goto yy298;
4697
306k
      } else {
4698
306k
        if (yych <= 'b') goto yy317;
4699
41.6k
        if (yych <= 'z') goto yy298;
4700
19.1k
        goto yy20;
4701
41.6k
      }
4702
317k
    }
4703
358k
  }
4704
368k
yy137:
4705
368k
  YYDEBUG(137, *YYCURSOR);
4706
368k
  yyaccept = 2;
4707
368k
  yych = *(YYMARKER = ++YYCURSOR);
4708
368k
  if (yych <= 'Q') {
4709
74.6k
    if (yych <= '.') {
4710
38.5k
      if (yych <= ')') {
4711
24.8k
        if (yych <= '(') goto yy20;
4712
6.77k
        goto yy115;
4713
24.8k
      } else {
4714
13.7k
        if (yych == '-') goto yy297;
4715
6.86k
        goto yy20;
4716
13.7k
      }
4717
38.5k
    } else {
4718
36.0k
      if (yych <= '@') {
4719
25.5k
        if (yych <= '/') goto yy297;
4720
22.8k
        goto yy20;
4721
25.5k
      } else {
4722
10.5k
        if (yych == 'F') goto yy311;
4723
7.13k
        goto yy291;
4724
10.5k
      }
4725
36.0k
    }
4726
294k
  } else {
4727
294k
    if (yych <= '`') {
4728
30.7k
      if (yych <= 'Z') {
4729
22.8k
        if (yych <= 'R') goto yy312;
4730
4.34k
        goto yy291;
4731
22.8k
      } else {
4732
7.89k
        if (yych == '_') goto yy297;
4733
6.40k
        goto yy20;
4734
7.89k
      }
4735
263k
    } else {
4736
263k
      if (yych <= 'q') {
4737
59.0k
        if (yych == 'f') goto yy318;
4738
47.4k
        goto yy298;
4739
204k
      } else {
4740
204k
        if (yych <= 'r') goto yy319;
4741
18.1k
        if (yych <= 'z') goto yy298;
4742
7.19k
        goto yy20;
4743
18.1k
      }
4744
263k
    }
4745
294k
  }
4746
378k
yy138:
4747
378k
  YYDEBUG(138, *YYCURSOR);
4748
378k
  yyaccept = 2;
4749
378k
  yych = *(YYMARKER = ++YYCURSOR);
4750
378k
  if (yych <= 'T') {
4751
59.5k
    if (yych <= '-') {
4752
18.9k
      if (yych == ')') goto yy115;
4753
17.0k
      if (yych <= ',') goto yy20;
4754
4.48k
      goto yy297;
4755
40.6k
    } else {
4756
40.6k
      if (yych == '/') goto yy297;
4757
37.3k
      if (yych <= '@') goto yy20;
4758
13.0k
      goto yy291;
4759
37.3k
    }
4760
318k
  } else {
4761
318k
    if (yych <= '_') {
4762
29.9k
      if (yych <= 'U') goto yy313;
4763
12.0k
      if (yych <= 'Z') goto yy291;
4764
8.39k
      if (yych <= '^') goto yy20;
4765
2.09k
      goto yy297;
4766
288k
    } else {
4767
288k
      if (yych <= 't') {
4768
65.1k
        if (yych <= '`') goto yy20;
4769
59.8k
        goto yy298;
4770
223k
      } else {
4771
223k
        if (yych <= 'u') goto yy320;
4772
18.3k
        if (yych <= 'z') goto yy298;
4773
12.4k
        goto yy20;
4774
18.3k
      }
4775
288k
    }
4776
318k
  }
4777
533k
yy139:
4778
533k
  YYDEBUG(139, *YYCURSOR);
4779
533k
  yyaccept = 2;
4780
533k
  yych = *(YYMARKER = ++YYCURSOR);
4781
533k
  if (yych <= 'N') {
4782
75.1k
    if (yych <= '.') {
4783
33.7k
      if (yych <= ')') {
4784
22.3k
        if (yych <= '(') goto yy20;
4785
4.36k
        goto yy115;
4786
22.3k
      } else {
4787
11.4k
        if (yych == '-') goto yy297;
4788
5.53k
        goto yy20;
4789
11.4k
      }
4790
41.3k
    } else {
4791
41.3k
      if (yych <= '@') {
4792
24.5k
        if (yych <= '/') goto yy297;
4793
20.0k
        goto yy20;
4794
24.5k
      } else {
4795
16.7k
        if (yych == 'I') goto yy314;
4796
6.48k
        goto yy291;
4797
16.7k
      }
4798
41.3k
    }
4799
458k
  } else {
4800
458k
    if (yych <= '`') {
4801
70.5k
      if (yych <= 'Z') {
4802
64.4k
        if (yych <= 'O') goto yy316;
4803
10.8k
        goto yy291;
4804
64.4k
      } else {
4805
6.06k
        if (yych == '_') goto yy297;
4806
3.45k
        goto yy20;
4807
6.06k
      }
4808
388k
    } else {
4809
388k
      if (yych <= 'n') {
4810
100k
        if (yych == 'i') goto yy321;
4811
22.7k
        goto yy298;
4812
287k
      } else {
4813
287k
        if (yych <= 'o') goto yy322;
4814
38.3k
        if (yych <= 'z') goto yy298;
4815
17.0k
        goto yy20;
4816
38.3k
      }
4817
388k
    }
4818
458k
  }
4819
347k
yy140:
4820
347k
  YYDEBUG(140, *YYCURSOR);
4821
347k
  yych = *++YYCURSOR;
4822
347k
  if (yych <= 'S') {
4823
61.8k
    if (yych == ')') goto yy115;
4824
59.8k
    if (yych <= '@') goto yy20;
4825
13.4k
    goto yy291;
4826
285k
  } else {
4827
285k
    if (yych <= 'Z') {
4828
231k
      if (yych <= 'T') goto yy323;
4829
4.22k
      goto yy291;
4830
231k
    } else {
4831
54.1k
      if (yych <= '`') goto yy20;
4832
47.2k
      if (yych <= 'z') goto yy291;
4833
17.8k
      goto yy20;
4834
47.2k
    }
4835
285k
  }
4836
1.31M
yy141:
4837
1.31M
  YYDEBUG(141, *YYCURSOR);
4838
1.31M
  ++YYCURSOR;
4839
1.31M
  if ((YYLIMIT - YYCURSOR) < 26) YYFILL(26);
4840
1.31M
  yych = *YYCURSOR;
4841
4.94M
yy142:
4842
4.94M
  YYDEBUG(142, *YYCURSOR);
4843
4.94M
  if (yybm[0+yych] & 16) {
4844
1.31M
    goto yy141;
4845
1.31M
  }
4846
3.62M
  if (yych <= '/') goto yy59;
4847
3.41M
  if (yych <= '2') goto yy143;
4848
1.47M
  if (yych <= '3') goto yy144;
4849
1.26M
  if (yych <= '9') goto yy145;
4850
515k
  goto yy59;
4851
1.93M
yy143:
4852
1.93M
  YYDEBUG(143, *YYCURSOR);
4853
1.93M
  yych = *++YYCURSOR;
4854
1.93M
  if (yych <= '9') {
4855
1.36M
    if (yych <= ' ') {
4856
398k
      if (yych <= 0x08) {
4857
191k
        if (yych <= 0x00) goto yy324;
4858
21.2k
        goto yy59;
4859
206k
      } else {
4860
206k
        if (yych <= '\t') goto yy326;
4861
78.9k
        if (yych <= 0x1F) goto yy59;
4862
60.5k
        goto yy326;
4863
78.9k
      }
4864
966k
    } else {
4865
966k
      if (yych <= '-') {
4866
85.6k
        if (yych == ',') goto yy326;
4867
71.5k
        goto yy59;
4868
880k
      } else {
4869
880k
        if (yych <= '.') goto yy326;
4870
559k
        if (yych <= '/') goto yy59;
4871
541k
        goto yy328;
4872
559k
      }
4873
966k
    }
4874
1.36M
  } else {
4875
570k
    if (yych <= 'm') {
4876
192k
      if (yych <= 'd') {
4877
148k
        if (yych <= 'c') goto yy59;
4878
13.6k
        goto yy326;
4879
148k
      } else {
4880
43.6k
        if (yych == 'h') goto yy326;
4881
38.1k
        goto yy59;
4882
43.6k
      }
4883
378k
    } else {
4884
378k
      if (yych <= 'r') {
4885
43.1k
        if (yych <= 'n') goto yy329;
4886
21.8k
        if (yych <= 'q') goto yy59;
4887
10.7k
        goto yy329;
4888
335k
      } else {
4889
335k
        if (yych <= 's') goto yy330;
4890
302k
        if (yych <= 't') goto yy331;
4891
95.5k
        goto yy59;
4892
302k
      }
4893
378k
    }
4894
570k
  }
4895
213k
yy144:
4896
213k
  YYDEBUG(144, *YYCURSOR);
4897
213k
  yych = *++YYCURSOR;
4898
213k
  if (yych <= '1') {
4899
100k
    if (yych <= ' ') {
4900
48.4k
      if (yych <= 0x08) {
4901
19.3k
        if (yych <= 0x00) goto yy324;
4902
6.99k
        goto yy59;
4903
29.0k
      } else {
4904
29.0k
        if (yych <= '\t') goto yy326;
4905
16.1k
        if (yych <= 0x1F) goto yy59;
4906
10.1k
        goto yy326;
4907
16.1k
      }
4908
51.6k
    } else {
4909
51.6k
      if (yych <= '-') {
4910
11.8k
        if (yych == ',') goto yy326;
4911
9.12k
        goto yy59;
4912
39.7k
      } else {
4913
39.7k
        if (yych <= '.') goto yy326;
4914
16.6k
        if (yych <= '/') goto yy59;
4915
14.1k
        goto yy328;
4916
16.6k
      }
4917
51.6k
    }
4918
113k
  } else {
4919
113k
    if (yych <= 'm') {
4920
51.0k
      if (yych <= 'd') {
4921
43.0k
        if (yych <= '9') goto yy332;
4922
21.6k
        if (yych <= 'c') goto yy59;
4923
6.63k
        goto yy326;
4924
21.6k
      } else {
4925
8.00k
        if (yych == 'h') goto yy326;
4926
5.54k
        goto yy59;
4927
8.00k
      }
4928
62.7k
    } else {
4929
62.7k
      if (yych <= 'r') {
4930
15.8k
        if (yych <= 'n') goto yy329;
4931
6.24k
        if (yych <= 'q') goto yy59;
4932
2.87k
        goto yy329;
4933
46.8k
      } else {
4934
46.8k
        if (yych <= 's') goto yy330;
4935
41.8k
        if (yych <= 't') goto yy331;
4936
15.3k
        goto yy59;
4937
41.8k
      }
4938
62.7k
    }
4939
113k
  }
4940
746k
yy145:
4941
746k
  YYDEBUG(145, *YYCURSOR);
4942
746k
  yych = *++YYCURSOR;
4943
746k
  if (yych <= '9') {
4944
545k
    if (yych <= ' ') {
4945
120k
      if (yych <= 0x08) {
4946
51.3k
        if (yych <= 0x00) goto yy324;
4947
10.3k
        goto yy59;
4948
68.7k
      } else {
4949
68.7k
        if (yych <= '\t') goto yy326;
4950
37.5k
        if (yych <= 0x1F) goto yy59;
4951
14.8k
        goto yy326;
4952
37.5k
      }
4953
425k
    } else {
4954
425k
      if (yych <= '-') {
4955
58.4k
        if (yych == ',') goto yy326;
4956
31.5k
        goto yy59;
4957
367k
      } else {
4958
367k
        if (yych <= '.') goto yy326;
4959
146k
        if (yych <= '/') goto yy59;
4960
134k
        goto yy332;
4961
146k
      }
4962
425k
    }
4963
545k
  } else {
4964
200k
    if (yych <= 'm') {
4965
111k
      if (yych <= 'd') {
4966
72.8k
        if (yych <= 'c') goto yy59;
4967
6.08k
        goto yy326;
4968
72.8k
      } else {
4969
39.1k
        if (yych == 'h') goto yy326;
4970
27.1k
        goto yy59;
4971
39.1k
      }
4972
111k
    } else {
4973
88.4k
      if (yych <= 'r') {
4974
12.3k
        if (yych <= 'n') goto yy329;
4975
9.23k
        if (yych <= 'q') goto yy59;
4976
5.31k
        goto yy329;
4977
76.0k
      } else {
4978
76.0k
        if (yych <= 's') goto yy330;
4979
66.1k
        if (yych <= 't') goto yy331;
4980
46.3k
        goto yy59;
4981
66.1k
      }
4982
88.4k
    }
4983
200k
  }
4984
657k
yy146:
4985
657k
  YYDEBUG(146, *YYCURSOR);
4986
657k
  yyaccept = 2;
4987
657k
  yych = *(YYMARKER = ++YYCURSOR);
4988
657k
  if (yych <= '.') {
4989
171k
    if (yych <= ' ') {
4990
120k
      if (yych == '\t') goto yy142;
4991
109k
      if (yych <= 0x1F) goto yy20;
4992
9.17k
      goto yy142;
4993
109k
    } else {
4994
50.4k
      if (yych == ')') goto yy115;
4995
36.4k
      if (yych <= ',') goto yy20;
4996
4.18k
      goto yy142;
4997
36.4k
    }
4998
486k
  } else {
4999
486k
    if (yych <= 'H') {
5000
87.3k
      if (yych <= '/') goto yy20;
5001
77.8k
      if (yych <= '9') goto yy142;
5002
37.6k
      if (yych <= '@') goto yy20;
5003
27.2k
      goto yy291;
5004
398k
    } else {
5005
398k
      if (yych <= 'Z') {
5006
260k
        if (yych <= 'I') goto yy333;
5007
27.3k
        goto yy291;
5008
260k
      } else {
5009
138k
        if (yych <= '`') goto yy20;
5010
124k
        if (yych <= 'z') goto yy291;
5011
94.1k
        goto yy20;
5012
124k
      }
5013
398k
    }
5014
486k
  }
5015
111k
yy147:
5016
111k
  YYDEBUG(147, *YYCURSOR);
5017
111k
  yyaccept = 2;
5018
111k
  yych = *(YYMARKER = ++YYCURSOR);
5019
111k
  if (yych <= ',') {
5020
21.7k
    if (yych <= 0x1F) {
5021
8.72k
      if (yych == '\t') goto yy142;
5022
5.78k
      goto yy20;
5023
13.0k
    } else {
5024
13.0k
      if (yych <= ' ') goto yy142;
5025
10.1k
      if (yych == ')') goto yy115;
5026
3.86k
      goto yy20;
5027
10.1k
    }
5028
90.2k
  } else {
5029
90.2k
    if (yych <= '@') {
5030
57.5k
      if (yych == '/') goto yy20;
5031
51.9k
      if (yych <= '9') goto yy142;
5032
9.55k
      goto yy20;
5033
51.9k
    } else {
5034
32.6k
      if (yych <= 'Z') goto yy291;
5035
17.9k
      if (yych <= '`') goto yy20;
5036
15.6k
      if (yych <= 'z') goto yy291;
5037
6.00k
      goto yy20;
5038
15.6k
    }
5039
90.2k
  }
5040
235k
yy148:
5041
235k
  YYDEBUG(148, *YYCURSOR);
5042
235k
  yych = *++YYCURSOR;
5043
235k
  if (yych <= 'N') {
5044
103k
    if (yych <= ')') {
5045
27.4k
      if (yych <= '(') goto yy20;
5046
1.40k
      goto yy115;
5047
76.3k
    } else {
5048
76.3k
      if (yych <= '@') goto yy20;
5049
45.5k
      if (yych <= 'M') goto yy291;
5050
33.4k
      goto yy334;
5051
45.5k
    }
5052
131k
  } else {
5053
131k
    if (yych <= 'm') {
5054
26.3k
      if (yych <= 'Z') goto yy291;
5055
19.3k
      if (yych <= '`') goto yy20;
5056
15.8k
      goto yy291;
5057
105k
    } else {
5058
105k
      if (yych <= 'n') goto yy334;
5059
33.8k
      if (yych <= 'z') goto yy291;
5060
17.8k
      goto yy20;
5061
33.8k
    }
5062
131k
  }
5063
426k
yy149:
5064
426k
  YYDEBUG(149, *YYCURSOR);
5065
426k
  yych = *++YYCURSOR;
5066
426k
  if (yych <= 'N') {
5067
143k
    if (yych <= '@') {
5068
57.9k
      if (yych == ')') goto yy115;
5069
50.4k
      goto yy20;
5070
85.2k
    } else {
5071
85.2k
      if (yych == 'L') goto yy335;
5072
48.3k
      if (yych <= 'M') goto yy291;
5073
34.6k
      goto yy336;
5074
48.3k
    }
5075
282k
  } else {
5076
282k
    if (yych <= 'l') {
5077
120k
      if (yych <= 'Z') goto yy291;
5078
115k
      if (yych <= '`') goto yy20;
5079
108k
      if (yych <= 'k') goto yy291;
5080
85.1k
      goto yy335;
5081
162k
    } else {
5082
162k
      if (yych == 'n') goto yy336;
5083
50.5k
      if (yych <= 'z') goto yy291;
5084
33.9k
      goto yy20;
5085
50.5k
    }
5086
282k
  }
5087
409k
yy150:
5088
409k
  YYDEBUG(150, *YYCURSOR);
5089
409k
  yyaccept = 2;
5090
409k
  yych = *(YYMARKER = ++YYCURSOR);
5091
409k
  if (yych <= 'M') {
5092
59.1k
    if (yych <= '-') {
5093
26.7k
      if (yych == ')') goto yy115;
5094
24.4k
      if (yych <= ',') goto yy20;
5095
3.45k
      goto yy297;
5096
32.3k
    } else {
5097
32.3k
      if (yych == '/') goto yy297;
5098
29.0k
      if (yych <= '@') goto yy20;
5099
9.83k
      goto yy291;
5100
29.0k
    }
5101
350k
  } else {
5102
350k
    if (yych <= '_') {
5103
36.7k
      if (yych <= 'N') goto yy334;
5104
12.6k
      if (yych <= 'Z') goto yy291;
5105
8.45k
      if (yych <= '^') goto yy20;
5106
1.76k
      goto yy297;
5107
313k
    } else {
5108
313k
      if (yych <= 'm') {
5109
18.1k
        if (yych <= '`') goto yy20;
5110
15.0k
        goto yy298;
5111
295k
      } else {
5112
295k
        if (yych <= 'n') goto yy337;
5113
54.9k
        if (yych <= 'z') goto yy298;
5114
42.8k
        goto yy20;
5115
54.9k
      }
5116
313k
    }
5117
350k
  }
5118
549k
yy151:
5119
549k
  YYDEBUG(151, *YYCURSOR);
5120
549k
  yyaccept = 2;
5121
549k
  yych = *(YYMARKER = ++YYCURSOR);
5122
549k
  if (yych <= 'M') {
5123
126k
    if (yych <= '.') {
5124
51.8k
      if (yych <= ')') {
5125
33.8k
        if (yych <= '(') goto yy20;
5126
15.1k
        goto yy115;
5127
33.8k
      } else {
5128
17.9k
        if (yych == '-') goto yy297;
5129
10.0k
        goto yy20;
5130
17.9k
      }
5131
74.2k
    } else {
5132
74.2k
      if (yych <= '@') {
5133
38.0k
        if (yych <= '/') goto yy297;
5134
33.5k
        goto yy20;
5135
38.0k
      } else {
5136
36.2k
        if (yych == 'L') goto yy335;
5137
9.46k
        goto yy291;
5138
36.2k
      }
5139
74.2k
    }
5140
423k
  } else {
5141
423k
    if (yych <= '`') {
5142
111k
      if (yych <= 'Z') {
5143
95.1k
        if (yych <= 'N') goto yy336;
5144
10.1k
        goto yy291;
5145
95.1k
      } else {
5146
16.4k
        if (yych == '_') goto yy297;
5147
8.37k
        goto yy20;
5148
16.4k
      }
5149
311k
    } else {
5150
311k
      if (yych <= 'm') {
5151
162k
        if (yych == 'l') goto yy338;
5152
18.0k
        goto yy298;
5153
162k
      } else {
5154
149k
        if (yych <= 'n') goto yy339;
5155
37.4k
        if (yych <= 'z') goto yy298;
5156
22.5k
        goto yy20;
5157
37.4k
      }
5158
311k
    }
5159
423k
  }
5160
544k
yy152:
5161
544k
  YYDEBUG(152, *YYCURSOR);
5162
544k
  yych = *++YYCURSOR;
5163
544k
  if (yych <= 'S') {
5164
92.8k
    if (yych <= ')') {
5165
40.5k
      if (yych <= '(') goto yy20;
5166
7.98k
      goto yy115;
5167
52.2k
    } else {
5168
52.2k
      if (yych <= '@') goto yy20;
5169
22.1k
      if (yych <= 'R') goto yy291;
5170
6.52k
      goto yy340;
5171
22.1k
    }
5172
451k
  } else {
5173
451k
    if (yych <= 'r') {
5174
50.8k
      if (yych <= 'Z') goto yy291;
5175
41.0k
      if (yych <= '`') goto yy20;
5176
31.8k
      goto yy291;
5177
400k
    } else {
5178
400k
      if (yych <= 's') goto yy340;
5179
33.9k
      if (yych <= 'z') goto yy291;
5180
20.0k
      goto yy20;
5181
33.9k
    }
5182
451k
  }
5183
259k
yy153:
5184
259k
  YYDEBUG(153, *YYCURSOR);
5185
259k
  yyaccept = 2;
5186
259k
  yych = *(YYMARKER = ++YYCURSOR);
5187
259k
  if (yych <= 'R') {
5188
45.4k
    if (yych <= '-') {
5189
16.5k
      if (yych == ')') goto yy115;
5190
14.7k
      if (yych <= ',') goto yy20;
5191
2.46k
      goto yy297;
5192
28.8k
    } else {
5193
28.8k
      if (yych == '/') goto yy297;
5194
26.3k
      if (yych <= '@') goto yy20;
5195
8.74k
      goto yy291;
5196
26.3k
    }
5197
213k
  } else {
5198
213k
    if (yych <= '_') {
5199
26.2k
      if (yych <= 'S') goto yy340;
5200
14.6k
      if (yych <= 'Z') goto yy291;
5201
9.91k
      if (yych <= '^') goto yy20;
5202
6.00k
      goto yy297;
5203
187k
    } else {
5204
187k
      if (yych <= 'r') {
5205
23.4k
        if (yych <= '`') goto yy20;
5206
19.8k
        goto yy298;
5207
164k
      } else {
5208
164k
        if (yych <= 's') goto yy341;
5209
19.2k
        if (yych <= 'z') goto yy298;
5210
8.18k
        goto yy20;
5211
19.2k
      }
5212
187k
    }
5213
213k
  }
5214
461k
yy154:
5215
461k
  YYDEBUG(154, *YYCURSOR);
5216
461k
  yych = *++YYCURSOR;
5217
461k
  if (yych <= 'Y') {
5218
213k
    if (yych <= '@') {
5219
81.0k
      if (yych == ')') goto yy115;
5220
77.7k
      goto yy20;
5221
132k
    } else {
5222
132k
      if (yych == 'R') goto yy342;
5223
90.8k
      if (yych <= 'X') goto yy291;
5224
50.3k
      goto yy343;
5225
90.8k
    }
5226
248k
  } else {
5227
248k
    if (yych <= 'r') {
5228
140k
      if (yych <= 'Z') goto yy291;
5229
135k
      if (yych <= '`') goto yy20;
5230
121k
      if (yych <= 'q') goto yy291;
5231
64.9k
      goto yy342;
5232
121k
    } else {
5233
107k
      if (yych == 'y') goto yy343;
5234
61.6k
      if (yych <= 'z') goto yy291;
5235
34.6k
      goto yy20;
5236
61.6k
    }
5237
248k
  }
5238
328k
yy155:
5239
328k
  YYDEBUG(155, *YYCURSOR);
5240
328k
  yych = *++YYCURSOR;
5241
328k
  if (yych <= 'D') {
5242
126k
    if (yych <= ')') {
5243
31.1k
      if (yych <= '(') goto yy20;
5244
9.49k
      goto yy115;
5245
95.0k
    } else {
5246
95.0k
      if (yych <= '@') goto yy20;
5247
40.5k
      if (yych <= 'C') goto yy291;
5248
24.5k
      goto yy344;
5249
40.5k
    }
5250
202k
  } else {
5251
202k
    if (yych <= 'c') {
5252
81.5k
      if (yych <= 'Z') goto yy291;
5253
41.7k
      if (yych <= '`') goto yy20;
5254
35.3k
      goto yy291;
5255
120k
    } else {
5256
120k
      if (yych <= 'd') goto yy344;
5257
84.2k
      if (yych <= 'z') goto yy291;
5258
28.2k
      goto yy20;
5259
84.2k
    }
5260
202k
  }
5261
351k
yy156:
5262
351k
  YYDEBUG(156, *YYCURSOR);
5263
351k
  yych = *++YYCURSOR;
5264
351k
  if (yych <= 'N') {
5265
164k
    if (yych <= ')') {
5266
46.4k
      if (yych <= '(') goto yy20;
5267
8.85k
      goto yy115;
5268
117k
    } else {
5269
117k
      if (yych <= '@') goto yy20;
5270
62.7k
      if (yych <= 'M') goto yy291;
5271
41.4k
      goto yy314;
5272
62.7k
    }
5273
186k
  } else {
5274
186k
    if (yych <= 'm') {
5275
65.7k
      if (yych <= 'Z') goto yy291;
5276
46.7k
      if (yych <= '`') goto yy20;
5277
39.5k
      goto yy291;
5278
121k
    } else {
5279
121k
      if (yych <= 'n') goto yy314;
5280
96.3k
      if (yych <= 'z') goto yy291;
5281
31.3k
      goto yy20;
5282
96.3k
    }
5283
186k
  }
5284
424k
yy157:
5285
424k
  YYDEBUG(157, *YYCURSOR);
5286
424k
  yyaccept = 2;
5287
424k
  yych = *(YYMARKER = ++YYCURSOR);
5288
424k
  if (yych <= 'X') {
5289
91.4k
    if (yych <= '.') {
5290
38.6k
      if (yych <= ')') {
5291
29.4k
        if (yych <= '(') goto yy20;
5292
3.06k
        goto yy115;
5293
29.4k
      } else {
5294
9.25k
        if (yych == '-') goto yy297;
5295
4.42k
        goto yy20;
5296
9.25k
      }
5297
52.7k
    } else {
5298
52.7k
      if (yych <= '@') {
5299
28.8k
        if (yych <= '/') goto yy297;
5300
26.0k
        goto yy20;
5301
28.8k
      } else {
5302
23.9k
        if (yych == 'R') goto yy342;
5303
11.9k
        goto yy291;
5304
23.9k
      }
5305
52.7k
    }
5306
332k
  } else {
5307
332k
    if (yych <= '`') {
5308
18.1k
      if (yych <= 'Z') {
5309
8.98k
        if (yych <= 'Y') goto yy343;
5310
1.37k
        goto yy291;
5311
9.16k
      } else {
5312
9.16k
        if (yych == '_') goto yy297;
5313
6.64k
        goto yy20;
5314
9.16k
      }
5315
314k
    } else {
5316
314k
      if (yych <= 'x') {
5317
227k
        if (yych == 'r') goto yy345;
5318
31.5k
        goto yy298;
5319
227k
      } else {
5320
86.7k
        if (yych <= 'y') goto yy346;
5321
31.9k
        if (yych <= 'z') goto yy298;
5322
21.8k
        goto yy20;
5323
31.9k
      }
5324
314k
    }
5325
332k
  }
5326
405k
yy158:
5327
405k
  YYDEBUG(158, *YYCURSOR);
5328
405k
  yyaccept = 2;
5329
405k
  yych = *(YYMARKER = ++YYCURSOR);
5330
405k
  if (yych <= 'C') {
5331
51.5k
    if (yych <= '-') {
5332
23.0k
      if (yych == ')') goto yy115;
5333
18.7k
      if (yych <= ',') goto yy20;
5334
2.67k
      goto yy297;
5335
28.5k
    } else {
5336
28.5k
      if (yych == '/') goto yy297;
5337
22.7k
      if (yych <= '@') goto yy20;
5338
2.18k
      goto yy291;
5339
22.7k
    }
5340
353k
  } else {
5341
353k
    if (yych <= '_') {
5342
59.2k
      if (yych <= 'D') goto yy344;
5343
20.0k
      if (yych <= 'Z') goto yy291;
5344
8.47k
      if (yych <= '^') goto yy20;
5345
4.12k
      goto yy297;
5346
294k
    } else {
5347
294k
      if (yych <= 'c') {
5348
11.3k
        if (yych <= '`') goto yy20;
5349
8.04k
        goto yy298;
5350
282k
      } else {
5351
282k
        if (yych <= 'd') goto yy347;
5352
31.4k
        if (yych <= 'z') goto yy298;
5353
15.7k
        goto yy20;
5354
31.4k
      }
5355
294k
    }
5356
353k
  }
5357
347k
yy159:
5358
347k
  YYDEBUG(159, *YYCURSOR);
5359
347k
  yyaccept = 2;
5360
347k
  yych = *(YYMARKER = ++YYCURSOR);
5361
347k
  if (yych <= 'M') {
5362
74.7k
    if (yych <= '-') {
5363
26.6k
      if (yych == ')') goto yy115;
5364
23.8k
      if (yych <= ',') goto yy20;
5365
3.45k
      goto yy297;
5366
48.0k
    } else {
5367
48.0k
      if (yych == '/') goto yy297;
5368
37.4k
      if (yych <= '@') goto yy20;
5369
8.86k
      goto yy291;
5370
37.4k
    }
5371
272k
  } else {
5372
272k
    if (yych <= '_') {
5373
67.2k
      if (yych <= 'N') goto yy314;
5374
16.5k
      if (yych <= 'Z') goto yy291;
5375
5.35k
      if (yych <= '^') goto yy20;
5376
2.09k
      goto yy297;
5377
205k
    } else {
5378
205k
      if (yych <= 'm') {
5379
20.8k
        if (yych <= '`') goto yy20;
5380
17.4k
        goto yy298;
5381
184k
      } else {
5382
184k
        if (yych <= 'n') goto yy321;
5383
35.6k
        if (yych <= 'z') goto yy298;
5384
21.8k
        goto yy20;
5385
35.6k
      }
5386
205k
    }
5387
272k
  }
5388
573k
yy160:
5389
573k
  YYDEBUG(160, *YYCURSOR);
5390
573k
  yych = *++YYCURSOR;
5391
573k
  if (yych <= 'X') {
5392
142k
    if (yych <= ')') {
5393
57.2k
      if (yych <= '(') goto yy20;
5394
18.3k
      goto yy115;
5395
85.7k
    } else {
5396
85.7k
      if (yych <= '@') goto yy20;
5397
41.8k
      if (yych <= 'W') goto yy291;
5398
9.14k
      goto yy348;
5399
41.8k
    }
5400
430k
  } else {
5401
430k
    if (yych <= 'w') {
5402
166k
      if (yych <= 'Z') goto yy291;
5403
163k
      if (yych <= '`') goto yy20;
5404
154k
      goto yy291;
5405
263k
    } else {
5406
263k
      if (yych <= 'x') goto yy348;
5407
36.1k
      if (yych <= 'z') goto yy291;
5408
30.8k
      goto yy20;
5409
36.1k
    }
5410
430k
  }
5411
1.46M
yy161:
5412
1.46M
  YYDEBUG(161, *YYCURSOR);
5413
1.46M
  yych = *++YYCURSOR;
5414
1.46M
  if (yych <= 'N') {
5415
238k
    if (yych <= ')') {
5416
88.2k
      if (yych <= '(') goto yy20;
5417
6.97k
      goto yy115;
5418
150k
    } else {
5419
150k
      if (yych <= '@') goto yy20;
5420
66.7k
      if (yych <= 'M') goto yy291;
5421
7.94k
      goto yy311;
5422
66.7k
    }
5423
1.22M
  } else {
5424
1.22M
    if (yych <= 'm') {
5425
292k
      if (yych <= 'Z') goto yy291;
5426
243k
      if (yych <= '`') goto yy20;
5427
105k
      goto yy291;
5428
933k
    } else {
5429
933k
      if (yych <= 'n') goto yy311;
5430
739k
      if (yych <= 'z') goto yy291;
5431
84.7k
      goto yy20;
5432
739k
    }
5433
1.22M
  }
5434
291k
yy162:
5435
291k
  YYDEBUG(162, *YYCURSOR);
5436
291k
  yych = *++YYCURSOR;
5437
291k
  if (yych <= 'W') {
5438
129k
    if (yych <= 'N') {
5439
80.9k
      if (yych == ')') goto yy115;
5440
74.6k
      if (yych <= '@') goto yy20;
5441
14.6k
      goto yy291;
5442
74.6k
    } else {
5443
48.8k
      if (yych <= 'O') goto yy349;
5444
33.9k
      if (yych <= 'U') goto yy291;
5445
29.8k
      if (yych <= 'V') goto yy304;
5446
4.46k
      goto yy350;
5447
29.8k
    }
5448
161k
  } else {
5449
161k
    if (yych <= 'o') {
5450
86.9k
      if (yych <= 'Z') goto yy291;
5451
85.1k
      if (yych <= '`') goto yy20;
5452
76.2k
      if (yych <= 'n') goto yy291;
5453
50.3k
      goto yy349;
5454
76.2k
    } else {
5455
74.9k
      if (yych <= 'v') {
5456
31.6k
        if (yych <= 'u') goto yy291;
5457
19.3k
        goto yy304;
5458
43.3k
      } else {
5459
43.3k
        if (yych <= 'w') goto yy350;
5460
20.8k
        if (yych <= 'z') goto yy291;
5461
18.9k
        goto yy20;
5462
20.8k
      }
5463
74.9k
    }
5464
161k
  }
5465
253k
yy163:
5466
253k
  YYDEBUG(163, *YYCURSOR);
5467
253k
  yyaccept = 2;
5468
253k
  yych = *(YYMARKER = ++YYCURSOR);
5469
253k
  if (yych <= 'W') {
5470
45.7k
    if (yych <= '-') {
5471
22.9k
      if (yych == ')') goto yy115;
5472
18.0k
      if (yych <= ',') goto yy20;
5473
3.43k
      goto yy297;
5474
22.8k
    } else {
5475
22.8k
      if (yych == '/') goto yy297;
5476
16.1k
      if (yych <= '@') goto yy20;
5477
7.16k
      goto yy291;
5478
16.1k
    }
5479
207k
  } else {
5480
207k
    if (yych <= '_') {
5481
12.2k
      if (yych <= 'X') goto yy348;
5482
7.46k
      if (yych <= 'Z') goto yy291;
5483
5.12k
      if (yych <= '^') goto yy20;
5484
2.53k
      goto yy297;
5485
195k
    } else {
5486
195k
      if (yych <= 'w') {
5487
34.6k
        if (yych <= '`') goto yy20;
5488
27.4k
        goto yy298;
5489
160k
      } else {
5490
160k
        if (yych <= 'x') goto yy352;
5491
18.0k
        if (yych <= 'z') goto yy298;
5492
16.6k
        goto yy20;
5493
18.0k
      }
5494
195k
    }
5495
207k
  }
5496
385k
yy164:
5497
385k
  YYDEBUG(164, *YYCURSOR);
5498
385k
  yyaccept = 2;
5499
385k
  yych = *(YYMARKER = ++YYCURSOR);
5500
385k
  if (yych <= 'M') {
5501
112k
    if (yych <= '-') {
5502
42.1k
      if (yych == ')') goto yy115;
5503
35.3k
      if (yych <= ',') goto yy20;
5504
9.22k
      goto yy297;
5505
70.7k
    } else {
5506
70.7k
      if (yych == '/') goto yy297;
5507
66.0k
      if (yych <= '@') goto yy20;
5508
35.4k
      goto yy291;
5509
66.0k
    }
5510
272k
  } else {
5511
272k
    if (yych <= '_') {
5512
37.2k
      if (yych <= 'N') goto yy311;
5513
26.8k
      if (yych <= 'Z') goto yy291;
5514
14.9k
      if (yych <= '^') goto yy20;
5515
4.44k
      goto yy297;
5516
235k
    } else {
5517
235k
      if (yych <= 'm') {
5518
23.5k
        if (yych <= '`') goto yy20;
5519
20.3k
        goto yy298;
5520
212k
      } else {
5521
212k
        if (yych <= 'n') goto yy318;
5522
99.9k
        if (yych <= 'z') goto yy298;
5523
23.8k
        goto yy20;
5524
99.9k
      }
5525
235k
    }
5526
272k
  }
5527
581k
yy165:
5528
581k
  YYDEBUG(165, *YYCURSOR);
5529
581k
  yyaccept = 2;
5530
581k
  yych = *(YYMARKER = ++YYCURSOR);
5531
581k
  if (yych <= 'V') {
5532
154k
    if (yych <= '.') {
5533
43.8k
      if (yych <= ')') {
5534
26.8k
        if (yych <= '(') goto yy20;
5535
4.03k
        goto yy115;
5536
26.8k
      } else {
5537
17.0k
        if (yych == '-') goto yy297;
5538
7.31k
        goto yy20;
5539
17.0k
      }
5540
110k
    } else {
5541
110k
      if (yych <= 'N') {
5542
62.5k
        if (yych <= '/') goto yy297;
5543
51.0k
        if (yych <= '@') goto yy20;
5544
20.7k
        goto yy291;
5545
51.0k
      } else {
5546
48.0k
        if (yych <= 'O') goto yy349;
5547
42.6k
        if (yych <= 'U') goto yy291;
5548
28.4k
        goto yy304;
5549
42.6k
      }
5550
110k
    }
5551
427k
  } else {
5552
427k
    if (yych <= 'n') {
5553
45.3k
      if (yych <= '^') {
5554
20.9k
        if (yych <= 'W') goto yy350;
5555
9.14k
        if (yych <= 'Z') goto yy291;
5556
5.24k
        goto yy20;
5557
24.4k
      } else {
5558
24.4k
        if (yych <= '_') goto yy297;
5559
21.5k
        if (yych <= '`') goto yy20;
5560
19.7k
        goto yy298;
5561
21.5k
      }
5562
381k
    } else {
5563
381k
      if (yych <= 'v') {
5564
312k
        if (yych <= 'o') goto yy353;
5565
218k
        if (yych <= 'u') goto yy298;
5566
204k
        goto yy305;
5567
218k
      } else {
5568
69.7k
        if (yych <= 'w') goto yy354;
5569
31.7k
        if (yych <= 'z') goto yy298;
5570
28.2k
        goto yy20;
5571
31.7k
      }
5572
381k
    }
5573
427k
  }
5574
257k
yy166:
5575
257k
  YYDEBUG(166, *YYCURSOR);
5576
257k
  yych = *++YYCURSOR;
5577
257k
  if (yych <= 'T') {
5578
102k
    if (yych <= ')') {
5579
26.8k
      if (yych <= '(') goto yy20;
5580
2.95k
      goto yy115;
5581
75.6k
    } else {
5582
75.6k
      if (yych <= '@') goto yy20;
5583
37.3k
      if (yych <= 'S') goto yy291;
5584
15.5k
      goto yy355;
5585
37.3k
    }
5586
155k
  } else {
5587
155k
    if (yych <= 's') {
5588
42.0k
      if (yych <= 'Z') goto yy291;
5589
36.4k
      if (yych <= '`') goto yy20;
5590
33.5k
      goto yy291;
5591
113k
    } else {
5592
113k
      if (yych <= 't') goto yy355;
5593
18.8k
      if (yych <= 'z') goto yy291;
5594
13.9k
      goto yy20;
5595
18.8k
    }
5596
155k
  }
5597
361k
yy167:
5598
361k
  YYDEBUG(167, *YYCURSOR);
5599
361k
  yyaccept = 2;
5600
361k
  yych = *(YYMARKER = ++YYCURSOR);
5601
361k
  if (yych <= 'S') {
5602
56.3k
    if (yych <= '-') {
5603
28.6k
      if (yych == ')') goto yy115;
5604
25.0k
      if (yych <= ',') goto yy20;
5605
8.40k
      goto yy297;
5606
27.6k
    } else {
5607
27.6k
      if (yych == '/') goto yy297;
5608
24.5k
      if (yych <= '@') goto yy20;
5609
12.3k
      goto yy291;
5610
24.5k
    }
5611
305k
  } else {
5612
305k
    if (yych <= '_') {
5613
41.3k
      if (yych <= 'T') goto yy355;
5614
13.2k
      if (yych <= 'Z') goto yy291;
5615
5.72k
      if (yych <= '^') goto yy20;
5616
2.14k
      goto yy297;
5617
264k
    } else {
5618
264k
      if (yych <= 's') {
5619
21.7k
        if (yych <= '`') goto yy20;
5620
17.2k
        goto yy298;
5621
242k
      } else {
5622
242k
        if (yych <= 't') goto yy356;
5623
16.1k
        if (yych <= 'z') goto yy298;
5624
11.1k
        goto yy20;
5625
16.1k
      }
5626
264k
    }
5627
305k
  }
5628
499k
yy168:
5629
499k
  YYDEBUG(168, *YYCURSOR);
5630
499k
  yych = *++YYCURSOR;
5631
499k
  if (yych <= 'E') {
5632
122k
    if (yych <= ')') {
5633
49.7k
      if (yych <= '(') goto yy20;
5634
5.52k
      goto yy115;
5635
72.7k
    } else {
5636
72.7k
      if (yych <= '@') goto yy20;
5637
26.5k
      if (yych <= 'D') goto yy291;
5638
15.8k
      goto yy357;
5639
26.5k
    }
5640
376k
  } else {
5641
376k
    if (yych <= 'd') {
5642
56.8k
      if (yych <= 'Z') goto yy291;
5643
22.8k
      if (yych <= '`') goto yy20;
5644
14.0k
      goto yy291;
5645
320k
    } else {
5646
320k
      if (yych <= 'e') goto yy357;
5647
135k
      if (yych <= 'z') goto yy291;
5648
17.0k
      goto yy20;
5649
135k
    }
5650
376k
  }
5651
361k
yy169:
5652
361k
  YYDEBUG(169, *YYCURSOR);
5653
361k
  yyaccept = 2;
5654
361k
  yych = *(YYMARKER = ++YYCURSOR);
5655
361k
  if (yych <= 'D') {
5656
47.3k
    if (yych <= '-') {
5657
22.1k
      if (yych == ')') goto yy115;
5658
18.5k
      if (yych <= ',') goto yy20;
5659
3.95k
      goto yy297;
5660
25.1k
    } else {
5661
25.1k
      if (yych == '/') goto yy297;
5662
20.0k
      if (yych <= '@') goto yy20;
5663
3.20k
      goto yy291;
5664
20.0k
    }
5665
314k
  } else {
5666
314k
    if (yych <= '_') {
5667
30.5k
      if (yych <= 'E') goto yy357;
5668
19.3k
      if (yych <= 'Z') goto yy291;
5669
13.7k
      if (yych <= '^') goto yy20;
5670
3.63k
      goto yy297;
5671
283k
    } else {
5672
283k
      if (yych <= 'd') {
5673
13.8k
        if (yych <= '`') goto yy20;
5674
8.91k
        goto yy298;
5675
270k
      } else {
5676
270k
        if (yych <= 'e') goto yy358;
5677
44.4k
        if (yych <= 'z') goto yy298;
5678
15.5k
        goto yy20;
5679
44.4k
      }
5680
283k
    }
5681
314k
  }
5682
282k
yy170:
5683
282k
  YYDEBUG(170, *YYCURSOR);
5684
282k
  yych = *++YYCURSOR;
5685
282k
  if (yych <= 'T') {
5686
137k
    if (yych <= ')') {
5687
37.5k
      if (yych <= '(') goto yy20;
5688
4.98k
      goto yy115;
5689
99.8k
    } else {
5690
99.8k
      if (yych <= '@') goto yy20;
5691
55.3k
      if (yych <= 'S') goto yy291;
5692
19.2k
      goto yy359;
5693
55.3k
    }
5694
145k
  } else {
5695
145k
    if (yych <= 's') {
5696
63.5k
      if (yych <= 'Z') goto yy291;
5697
59.5k
      if (yych <= '`') goto yy20;
5698
48.9k
      goto yy291;
5699
81.8k
    } else {
5700
81.8k
      if (yych <= 't') goto yy359;
5701
24.8k
      if (yych <= 'z') goto yy291;
5702
12.1k
      goto yy20;
5703
24.8k
    }
5704
145k
  }
5705
658k
yy171:
5706
658k
  YYDEBUG(171, *YYCURSOR);
5707
658k
  yych = *++YYCURSOR;
5708
658k
  if (yych <= 'V') {
5709
249k
    if (yych <= 'B') {
5710
106k
      if (yych == ')') goto yy115;
5711
103k
      if (yych <= '@') goto yy20;
5712
11.9k
      goto yy291;
5713
142k
    } else {
5714
142k
      if (yych <= 'O') {
5715
63.0k
        if (yych <= 'C') goto yy360;
5716
22.5k
        goto yy291;
5717
79.3k
      } else {
5718
79.3k
        if (yych <= 'P') goto yy361;
5719
35.8k
        if (yych <= 'U') goto yy291;
5720
17.4k
        goto yy362;
5721
35.8k
      }
5722
142k
    }
5723
409k
  } else {
5724
409k
    if (yych <= 'o') {
5725
140k
      if (yych <= '`') {
5726
21.8k
        if (yych <= 'Z') goto yy291;
5727
16.5k
        goto yy20;
5728
118k
      } else {
5729
118k
        if (yych == 'c') goto yy360;
5730
56.5k
        goto yy291;
5731
118k
      }
5732
269k
    } else {
5733
269k
      if (yych <= 'u') {
5734
158k
        if (yych <= 'p') goto yy361;
5735
76.7k
        goto yy291;
5736
158k
      } else {
5737
111k
        if (yych <= 'v') goto yy362;
5738
58.4k
        if (yych <= 'z') goto yy291;
5739
51.0k
        goto yy20;
5740
58.4k
      }
5741
269k
    }
5742
409k
  }
5743
179k
yy172:
5744
179k
  YYDEBUG(172, *YYCURSOR);
5745
179k
  yych = *++YYCURSOR;
5746
179k
  if (yych <= 'X') {
5747
66.1k
    if (yych <= ')') {
5748
18.7k
      if (yych <= '(') goto yy20;
5749
2.88k
      goto yy115;
5750
47.3k
    } else {
5751
47.3k
      if (yych <= '@') goto yy20;
5752
22.1k
      if (yych <= 'W') goto yy291;
5753
7.70k
      goto yy311;
5754
22.1k
    }
5755
112k
  } else {
5756
112k
    if (yych <= 'w') {
5757
57.6k
      if (yych <= 'Z') goto yy291;
5758
54.6k
      if (yych <= '`') goto yy20;
5759
50.6k
      goto yy291;
5760
55.2k
    } else {
5761
55.2k
      if (yych <= 'x') goto yy311;
5762
18.7k
      if (yych <= 'z') goto yy291;
5763
16.9k
      goto yy20;
5764
18.7k
    }
5765
112k
  }
5766
373k
yy173:
5767
373k
  YYDEBUG(173, *YYCURSOR);
5768
373k
  yyaccept = 2;
5769
373k
  yych = *(YYMARKER = ++YYCURSOR);
5770
373k
  if (yych <= 'S') {
5771
59.6k
    if (yych <= '-') {
5772
29.2k
      if (yych == ')') goto yy115;
5773
25.2k
      if (yych <= ',') goto yy20;
5774
2.30k
      goto yy297;
5775
30.4k
    } else {
5776
30.4k
      if (yych == '/') goto yy297;
5777
27.7k
      if (yych <= '@') goto yy20;
5778
8.26k
      goto yy291;
5779
27.7k
    }
5780
313k
  } else {
5781
313k
    if (yych <= '_') {
5782
33.7k
      if (yych <= 'T') goto yy359;
5783
17.5k
      if (yych <= 'Z') goto yy291;
5784
12.0k
      if (yych <= '^') goto yy20;
5785
5.71k
      goto yy297;
5786
280k
    } else {
5787
280k
      if (yych <= 's') {
5788
42.1k
        if (yych <= '`') goto yy20;
5789
26.2k
        goto yy298;
5790
237k
      } else {
5791
237k
        if (yych <= 't') goto yy363;
5792
30.1k
        if (yych <= 'z') goto yy298;
5793
23.5k
        goto yy20;
5794
30.1k
      }
5795
280k
    }
5796
313k
  }
5797
1.13M
yy174:
5798
1.13M
  YYDEBUG(174, *YYCURSOR);
5799
1.13M
  yyaccept = 2;
5800
1.13M
  yych = *(YYMARKER = ++YYCURSOR);
5801
1.13M
  if (yych <= 'U') {
5802
223k
    if (yych <= '/') {
5803
55.4k
      if (yych <= ',') {
5804
43.0k
        if (yych == ')') goto yy115;
5805
39.0k
        goto yy20;
5806
43.0k
      } else {
5807
12.4k
        if (yych == '.') goto yy20;
5808
8.72k
        goto yy297;
5809
12.4k
      }
5810
168k
    } else {
5811
168k
      if (yych <= 'C') {
5812
66.5k
        if (yych <= '@') goto yy20;
5813
25.7k
        if (yych <= 'B') goto yy291;
5814
23.1k
        goto yy360;
5815
101k
      } else {
5816
101k
        if (yych == 'P') goto yy361;
5817
16.8k
        goto yy291;
5818
101k
      }
5819
168k
    }
5820
913k
  } else {
5821
913k
    if (yych <= 'b') {
5822
70.4k
      if (yych <= '^') {
5823
24.9k
        if (yych <= 'V') goto yy362;
5824
11.4k
        if (yych <= 'Z') goto yy291;
5825
8.35k
        goto yy20;
5826
45.5k
      } else {
5827
45.5k
        if (yych <= '_') goto yy297;
5828
32.8k
        if (yych <= '`') goto yy20;
5829
23.3k
        goto yy298;
5830
32.8k
      }
5831
843k
    } else {
5832
843k
      if (yych <= 'p') {
5833
585k
        if (yych <= 'c') goto yy364;
5834
325k
        if (yych <= 'o') goto yy298;
5835
274k
        goto yy365;
5836
325k
      } else {
5837
258k
        if (yych == 'v') goto yy366;
5838
79.7k
        if (yych <= 'z') goto yy298;
5839
54.7k
        goto yy20;
5840
79.7k
      }
5841
843k
    }
5842
913k
  }
5843
84.6k
yy175:
5844
84.6k
  YYDEBUG(175, *YYCURSOR);
5845
84.6k
  yyaccept = 2;
5846
84.6k
  yych = *(YYMARKER = ++YYCURSOR);
5847
84.6k
  if (yych <= 'W') {
5848
21.1k
    if (yych <= '-') {
5849
10.3k
      if (yych == ')') goto yy115;
5850
7.94k
      if (yych <= ',') goto yy20;
5851
720
      goto yy297;
5852
10.8k
    } else {
5853
10.8k
      if (yych == '/') goto yy297;
5854
8.90k
      if (yych <= '@') goto yy20;
5855
3.04k
      goto yy291;
5856
8.90k
    }
5857
63.4k
  } else {
5858
63.4k
    if (yych <= '_') {
5859
7.80k
      if (yych <= 'X') goto yy311;
5860
6.77k
      if (yych <= 'Z') goto yy291;
5861
4.55k
      if (yych <= '^') goto yy20;
5862
1.82k
      goto yy297;
5863
55.6k
    } else {
5864
55.6k
      if (yych <= 'w') {
5865
22.1k
        if (yych <= '`') goto yy20;
5866
21.5k
        goto yy298;
5867
33.5k
      } else {
5868
33.5k
        if (yych <= 'x') goto yy318;
5869
11.6k
        if (yych <= 'z') goto yy298;
5870
9.70k
        goto yy20;
5871
11.6k
      }
5872
55.6k
    }
5873
63.4k
  }
5874
734k
yy176:
5875
734k
  YYDEBUG(176, *YYCURSOR);
5876
734k
  yyaccept = 4;
5877
734k
  yych = *(YYMARKER = ++YYCURSOR);
5878
734k
  if (yych <= '/') {
5879
124k
    if (yych == '.') goto yy75;
5880
610k
  } else {
5881
610k
    if (yych <= '9') goto yy367;
5882
231k
    if (yych <= ':') goto yy75;
5883
231k
  }
5884
4.50M
yy177:
5885
4.50M
  YYDEBUG(177, *YYCURSOR);
5886
4.50M
#line 1387 "ext/date/lib/parse_date.re"
5887
4.50M
  {
5888
4.50M
    int tz_not_found;
5889
4.50M
    DEBUG_OUTPUT("timetiny24 | timeshort24 | timelong24 | iso8601long");
5890
4.50M
    TIMELIB_INIT;
5891
4.50M
    TIMELIB_HAVE_TIME();
5892
682k
    s->time->h = timelib_get_nr(&ptr, 2);
5893
682k
    if (*ptr == ':' || *ptr == '.') {
5894
486k
      s->time->i = timelib_get_nr(&ptr, 2);
5895
486k
      if (*ptr == ':' || *ptr == '.') {
5896
135k
        s->time->s = timelib_get_nr(&ptr, 2);
5897
5898
135k
        if (*ptr == '.') {
5899
15.9k
          s->time->us = timelib_get_frac_nr(&ptr);
5900
15.9k
        }
5901
135k
      }
5902
486k
    }
5903
5904
682k
    if (*ptr != '\0') {
5905
0
      s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
5906
0
      if (tz_not_found) {
5907
0
        add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
5908
0
      }
5909
0
    }
5910
682k
    TIMELIB_DEINIT;
5911
682k
    return TIMELIB_TIME24_WITH_ZONE;
5912
4.50M
  }
5913
0
#line 5914 "ext/date/lib/parse_date.c"
5914
264k
yy178:
5915
264k
  YYDEBUG(178, *YYCURSOR);
5916
264k
  yyaccept = 4;
5917
264k
  yych = *(YYMARKER = ++YYCURSOR);
5918
264k
  if (yych <= '/') {
5919
46.1k
    if (yych == '.') goto yy75;
5920
40.6k
    goto yy177;
5921
218k
  } else {
5922
218k
    if (yych <= '4') goto yy367;
5923
120k
    if (yych == ':') goto yy75;
5924
88.2k
    goto yy177;
5925
120k
  }
5926
482k
yy179:
5927
482k
  YYDEBUG(179, *YYCURSOR);
5928
482k
  yyaccept = 4;
5929
482k
  yych = *(YYMARKER = ++YYCURSOR);
5930
482k
  if (yych == '.') goto yy75;
5931
468k
  if (yych == ':') goto yy75;
5932
438k
  goto yy177;
5933
727k
yy180:
5934
727k
  YYDEBUG(180, *YYCURSOR);
5935
727k
  yych = *++YYCURSOR;
5936
727k
  if (yych <= 'U') {
5937
285k
    if (yych <= '@') {
5938
172k
      if (yych == ')') goto yy115;
5939
163k
      goto yy20;
5940
172k
    } else {
5941
113k
      if (yych == 'I') goto yy368;
5942
94.1k
      if (yych <= 'T') goto yy291;
5943
48.7k
      goto yy369;
5944
94.1k
    }
5945
442k
  } else {
5946
442k
    if (yych <= 'i') {
5947
273k
      if (yych <= 'Z') goto yy291;
5948
267k
      if (yych <= '`') goto yy20;
5949
235k
      if (yych <= 'h') goto yy291;
5950
191k
      goto yy368;
5951
235k
    } else {
5952
168k
      if (yych == 'u') goto yy369;
5953
136k
      if (yych <= 'z') goto yy291;
5954
80.5k
      goto yy20;
5955
136k
    }
5956
442k
  }
5957
316k
yy181:
5958
316k
  YYDEBUG(181, *YYCURSOR);
5959
316k
  yych = *++YYCURSOR;
5960
316k
  if (yych <= 'M') {
5961
84.9k
    if (yych <= '@') {
5962
52.0k
      if (yych == ')') goto yy115;
5963
47.5k
      goto yy20;
5964
52.0k
    } else {
5965
32.8k
      if (yych == 'D') goto yy370;
5966
28.1k
      if (yych <= 'L') goto yy291;
5967
14.6k
      goto yy371;
5968
28.1k
    }
5969
231k
  } else {
5970
231k
    if (yych <= 'd') {
5971
71.7k
      if (yych <= 'Z') goto yy291;
5972
58.8k
      if (yych <= '`') goto yy20;
5973
48.4k
      if (yych <= 'c') goto yy291;
5974
26.1k
      goto yy370;
5975
159k
    } else {
5976
159k
      if (yych == 'm') goto yy371;
5977
111k
      if (yych <= 'z') goto yy291;
5978
25.8k
      goto yy20;
5979
111k
    }
5980
231k
  }
5981
255k
yy182:
5982
255k
  YYDEBUG(182, *YYCURSOR);
5983
255k
  yych = *++YYCURSOR;
5984
255k
  if (yych <= 'E') {
5985
89.0k
    if (yych <= ')') {
5986
23.5k
      if (yych <= '(') goto yy20;
5987
3.94k
      goto yy115;
5988
65.4k
    } else {
5989
65.4k
      if (yych <= '@') goto yy20;
5990
33.9k
      if (yych <= 'D') goto yy291;
5991
24.3k
      goto yy372;
5992
33.9k
    }
5993
166k
  } else {
5994
166k
    if (yych <= 'd') {
5995
45.9k
      if (yych <= 'Z') goto yy291;
5996
21.9k
      if (yych <= '`') goto yy20;
5997
8.16k
      goto yy291;
5998
120k
    } else {
5999
120k
      if (yych <= 'e') goto yy372;
6000
73.8k
      if (yych <= 'z') goto yy291;
6001
25.1k
      goto yy20;
6002
73.8k
    }
6003
166k
  }
6004
135k
yy183:
6005
135k
  YYDEBUG(183, *YYCURSOR);
6006
135k
  yych = *++YYCURSOR;
6007
135k
  if (yych <= 'E') {
6008
40.9k
    if (yych <= ')') {
6009
14.7k
      if (yych <= '(') goto yy20;
6010
3.04k
      goto yy115;
6011
26.1k
    } else {
6012
26.1k
      if (yych <= '@') goto yy20;
6013
13.9k
      if (yych <= 'D') goto yy291;
6014
5.56k
      goto yy373;
6015
13.9k
    }
6016
94.5k
  } else {
6017
94.5k
    if (yych <= 'd') {
6018
27.2k
      if (yych <= 'Z') goto yy291;
6019
12.8k
      if (yych <= '`') goto yy20;
6020
6.32k
      goto yy291;
6021
67.2k
    } else {
6022
67.2k
      if (yych <= 'e') goto yy373;
6023
31.1k
      if (yych <= 'z') goto yy291;
6024
13.4k
      goto yy20;
6025
31.1k
    }
6026
94.5k
  }
6027
655k
yy184:
6028
655k
  YYDEBUG(184, *YYCURSOR);
6029
655k
  yyaccept = 2;
6030
655k
  yych = *(YYMARKER = ++YYCURSOR);
6031
655k
  if (yych <= 'T') {
6032
97.4k
    if (yych <= '.') {
6033
44.0k
      if (yych <= ')') {
6034
33.6k
        if (yych <= '(') goto yy20;
6035
3.79k
        goto yy115;
6036
33.6k
      } else {
6037
10.4k
        if (yych == '-') goto yy297;
6038
5.37k
        goto yy20;
6039
10.4k
      }
6040
53.3k
    } else {
6041
53.3k
      if (yych <= '@') {
6042
20.7k
        if (yych <= '/') goto yy297;
6043
18.6k
        goto yy20;
6044
32.5k
      } else {
6045
32.5k
        if (yych == 'I') goto yy368;
6046
13.0k
        goto yy291;
6047
32.5k
      }
6048
53.3k
    }
6049
557k
  } else {
6050
557k
    if (yych <= '`') {
6051
26.4k
      if (yych <= 'Z') {
6052
19.4k
        if (yych <= 'U') goto yy369;
6053
3.96k
        goto yy291;
6054
19.4k
      } else {
6055
6.97k
        if (yych == '_') goto yy297;
6056
5.15k
        goto yy20;
6057
6.97k
      }
6058
531k
    } else {
6059
531k
      if (yych <= 't') {
6060
317k
        if (yych == 'i') goto yy374;
6061
38.2k
        goto yy298;
6062
317k
      } else {
6063
214k
        if (yych <= 'u') goto yy375;
6064
24.5k
        if (yych <= 'z') goto yy298;
6065
17.2k
        goto yy20;
6066
24.5k
      }
6067
531k
    }
6068
557k
  }
6069
461k
yy185:
6070
461k
  YYDEBUG(185, *YYCURSOR);
6071
461k
  yyaccept = 2;
6072
461k
  yych = *(YYMARKER = ++YYCURSOR);
6073
461k
  if (yych <= 'L') {
6074
70.1k
    if (yych <= '.') {
6075
32.1k
      if (yych <= ')') {
6076
19.3k
        if (yych <= '(') goto yy20;
6077
1.47k
        goto yy115;
6078
19.3k
      } else {
6079
12.8k
        if (yych == '-') goto yy297;
6080
6.79k
        goto yy20;
6081
12.8k
      }
6082
38.0k
    } else {
6083
38.0k
      if (yych <= '@') {
6084
18.1k
        if (yych <= '/') goto yy297;
6085
16.2k
        goto yy20;
6086
19.8k
      } else {
6087
19.8k
        if (yych == 'D') goto yy370;
6088
7.48k
        goto yy291;
6089
19.8k
      }
6090
38.0k
    }
6091
391k
  } else {
6092
391k
    if (yych <= '`') {
6093
43.8k
      if (yych <= 'Z') {
6094
32.0k
        if (yych <= 'M') goto yy371;
6095
6.04k
        goto yy291;
6096
32.0k
      } else {
6097
11.7k
        if (yych == '_') goto yy297;
6098
5.10k
        goto yy20;
6099
11.7k
      }
6100
347k
    } else {
6101
347k
      if (yych <= 'l') {
6102
132k
        if (yych == 'd') goto yy376;
6103
11.6k
        goto yy298;
6104
214k
      } else {
6105
214k
        if (yych <= 'm') goto yy377;
6106
26.1k
        if (yych <= 'z') goto yy298;
6107
14.6k
        goto yy20;
6108
26.1k
      }
6109
347k
    }
6110
391k
  }
6111
206k
yy186:
6112
206k
  YYDEBUG(186, *YYCURSOR);
6113
206k
  yyaccept = 2;
6114
206k
  yych = *(YYMARKER = ++YYCURSOR);
6115
206k
  if (yych <= 'D') {
6116
28.9k
    if (yych <= '-') {
6117
12.5k
      if (yych == ')') goto yy115;
6118
11.2k
      if (yych <= ',') goto yy20;
6119
1.36k
      goto yy297;
6120
16.3k
    } else {
6121
16.3k
      if (yych == '/') goto yy297;
6122
15.3k
      if (yych <= '@') goto yy20;
6123
3.18k
      goto yy291;
6124
15.3k
    }
6125
178k
  } else {
6126
178k
    if (yych <= '_') {
6127
37.4k
      if (yych <= 'E') goto yy372;
6128
17.6k
      if (yych <= 'Z') goto yy291;
6129
6.88k
      if (yych <= '^') goto yy20;
6130
4.05k
      goto yy297;
6131
140k
    } else {
6132
140k
      if (yych <= 'd') {
6133
47.9k
        if (yych <= '`') goto yy20;
6134
45.3k
        goto yy298;
6135
92.6k
      } else {
6136
92.6k
        if (yych <= 'e') goto yy378;
6137
28.9k
        if (yych <= 'z') goto yy298;
6138
8.60k
        goto yy20;
6139
28.9k
      }
6140
140k
    }
6141
178k
  }
6142
227k
yy187:
6143
227k
  YYDEBUG(187, *YYCURSOR);
6144
227k
  yyaccept = 2;
6145
227k
  yych = *(YYMARKER = ++YYCURSOR);
6146
227k
  if (yych <= 'D') {
6147
30.7k
    if (yych <= '-') {
6148
14.7k
      if (yych == ')') goto yy115;
6149
13.3k
      if (yych <= ',') goto yy20;
6150
2.23k
      goto yy297;
6151
16.0k
    } else {
6152
16.0k
      if (yych == '/') goto yy297;
6153
14.2k
      if (yych <= '@') goto yy20;
6154
2.03k
      goto yy291;
6155
14.2k
    }
6156
196k
  } else {
6157
196k
    if (yych <= '_') {
6158
52.3k
      if (yych <= 'E') goto yy373;
6159
16.9k
      if (yych <= 'Z') goto yy291;
6160
4.83k
      if (yych <= '^') goto yy20;
6161
1.07k
      goto yy297;
6162
144k
    } else {
6163
144k
      if (yych <= 'd') {
6164
6.29k
        if (yych <= '`') goto yy20;
6165
4.41k
        goto yy298;
6166
138k
      } else {
6167
138k
        if (yych <= 'e') goto yy379;
6168
21.2k
        if (yych <= 'z') goto yy298;
6169
10.3k
        goto yy20;
6170
21.2k
      }
6171
144k
    }
6172
196k
  }
6173
254k
yy188:
6174
254k
  YYDEBUG(188, *YYCURSOR);
6175
254k
  yyaccept = 2;
6176
254k
  yych = *(YYMARKER = ++YYCURSOR);
6177
254k
  if (yych <= '.') {
6178
36.8k
    if (yych <= ' ') {
6179
20.1k
      if (yych == '\t') goto yy142;
6180
16.8k
      if (yych <= 0x1F) goto yy20;
6181
6.59k
      goto yy142;
6182
16.8k
    } else {
6183
16.7k
      if (yych == ')') goto yy115;
6184
13.4k
      if (yych <= ',') goto yy20;
6185
10.5k
      goto yy142;
6186
13.4k
    }
6187
217k
  } else {
6188
217k
    if (yych <= 'H') {
6189
46.9k
      if (yych <= '/') goto yy20;
6190
34.5k
      if (yych <= '9') goto yy142;
6191
8.89k
      if (yych <= '@') goto yy20;
6192
4.65k
      goto yy291;
6193
170k
    } else {
6194
170k
      if (yych <= 'Z') {
6195
132k
        if (yych <= 'I') goto yy380;
6196
9.42k
        goto yy291;
6197
132k
      } else {
6198
38.7k
        if (yych <= '`') goto yy20;
6199
33.7k
        if (yych <= 'z') goto yy291;
6200
14.1k
        goto yy20;
6201
33.7k
      }
6202
170k
    }
6203
217k
  }
6204
384k
yy189:
6205
384k
  YYDEBUG(189, *YYCURSOR);
6206
384k
  yych = *++YYCURSOR;
6207
384k
  if (yych <= 'E') {
6208
138k
    if (yych <= '@') {
6209
63.2k
      if (yych == ')') goto yy115;
6210
60.7k
      goto yy20;
6211
75.2k
    } else {
6212
75.2k
      if (yych <= 'C') goto yy291;
6213
70.3k
      if (yych <= 'D') goto yy381;
6214
19.9k
      goto yy382;
6215
70.3k
    }
6216
245k
  } else {
6217
245k
    if (yych <= 'c') {
6218
43.3k
      if (yych <= 'Z') goto yy291;
6219
21.3k
      if (yych <= '`') goto yy20;
6220
6.44k
      goto yy291;
6221
202k
    } else {
6222
202k
      if (yych <= 'd') goto yy381;
6223
162k
      if (yych <= 'e') goto yy382;
6224
85.2k
      if (yych <= 'z') goto yy291;
6225
30.1k
      goto yy20;
6226
85.2k
    }
6227
245k
  }
6228
603k
yy190:
6229
603k
  YYDEBUG(190, *YYCURSOR);
6230
603k
  yyaccept = 2;
6231
603k
  yych = *(YYMARKER = ++YYCURSOR);
6232
603k
  if (yych <= 'D') {
6233
89.4k
    if (yych <= '-') {
6234
30.2k
      if (yych == ')') goto yy115;
6235
25.0k
      if (yych <= ',') goto yy20;
6236
3.83k
      goto yy297;
6237
59.1k
    } else {
6238
59.1k
      if (yych <= '/') {
6239
9.53k
        if (yych <= '.') goto yy20;
6240
5.45k
        goto yy297;
6241
49.6k
      } else {
6242
49.6k
        if (yych <= '@') goto yy20;
6243
30.6k
        if (yych <= 'C') goto yy291;
6244
28.4k
        goto yy381;
6245
30.6k
      }
6246
59.1k
    }
6247
514k
  } else {
6248
514k
    if (yych <= '`') {
6249
47.9k
      if (yych <= 'Z') {
6250
26.4k
        if (yych <= 'E') goto yy382;
6251
15.3k
        goto yy291;
6252
26.4k
      } else {
6253
21.5k
        if (yych == '_') goto yy297;
6254
17.8k
        goto yy20;
6255
21.5k
      }
6256
466k
    } else {
6257
466k
      if (yych <= 'd') {
6258
228k
        if (yych <= 'c') goto yy298;
6259
207k
        goto yy383;
6260
237k
      } else {
6261
237k
        if (yych <= 'e') goto yy384;
6262
45.4k
        if (yych <= 'z') goto yy298;
6263
19.1k
        goto yy20;
6264
45.4k
      }
6265
466k
    }
6266
514k
  }
6267
164k
yy191:
6268
164k
  YYDEBUG(191, *YYCURSOR);
6269
164k
  yych = *++YYCURSOR;
6270
164k
  if (yych <= 'S') {
6271
46.6k
    if (yych <= ')') {
6272
12.5k
      if (yych <= '(') goto yy20;
6273
2.14k
      goto yy115;
6274
34.0k
    } else {
6275
34.0k
      if (yych <= '@') goto yy20;
6276
15.8k
      if (yych <= 'R') goto yy291;
6277
6.06k
      goto yy385;
6278
15.8k
    }
6279
118k
  } else {
6280
118k
    if (yych <= 'r') {
6281
31.6k
      if (yych <= 'Z') goto yy291;
6282
24.3k
      if (yych <= '`') goto yy20;
6283
16.1k
      goto yy291;
6284
86.6k
    } else {
6285
86.6k
      if (yych <= 's') goto yy385;
6286
26.2k
      if (yych <= 'z') goto yy291;
6287
14.0k
      goto yy20;
6288
26.2k
    }
6289
118k
  }
6290
398k
yy192:
6291
398k
  YYDEBUG(192, *YYCURSOR);
6292
398k
  yyaccept = 2;
6293
398k
  yych = *(YYMARKER = ++YYCURSOR);
6294
398k
  if (yych <= 'R') {
6295
49.1k
    if (yych <= '-') {
6296
25.6k
      if (yych == ')') goto yy115;
6297
24.1k
      if (yych <= ',') goto yy20;
6298
4.30k
      goto yy297;
6299
24.1k
    } else {
6300
23.5k
      if (yych == '/') goto yy297;
6301
21.9k
      if (yych <= '@') goto yy20;
6302
9.45k
      goto yy291;
6303
21.9k
    }
6304
349k
  } else {
6305
349k
    if (yych <= '_') {
6306
51.0k
      if (yych <= 'S') goto yy385;
6307
15.2k
      if (yych <= 'Z') goto yy291;
6308
10.1k
      if (yych <= '^') goto yy20;
6309
3.42k
      goto yy297;
6310
298k
    } else {
6311
298k
      if (yych <= 'r') {
6312
24.0k
        if (yych <= '`') goto yy20;
6313
20.4k
        goto yy298;
6314
274k
      } else {
6315
274k
        if (yych <= 's') goto yy386;
6316
20.5k
        if (yych <= 'z') goto yy298;
6317
12.5k
        goto yy20;
6318
20.5k
      }
6319
298k
    }
6320
349k
  }
6321
983k
yy193:
6322
983k
  YYDEBUG(193, *YYCURSOR);
6323
983k
  yyaccept = 0;
6324
983k
  YYMARKER = ++YYCURSOR;
6325
983k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
6326
983k
  yych = *YYCURSOR;
6327
983k
  if (yych == 0xC2) goto yy387;
6328
830k
  goto yy8;
6329
924k
yy194:
6330
924k
  YYDEBUG(194, *YYCURSOR);
6331
924k
  ++YYCURSOR;
6332
924k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
6333
924k
  yych = *YYCURSOR;
6334
924k
  if (yych == 0xAF) goto yy388;
6335
238k
  goto yy59;
6336
4.31M
yy195:
6337
4.31M
  YYDEBUG(195, *YYCURSOR);
6338
4.31M
  ++YYCURSOR;
6339
4.31M
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
6340
4.31M
  yych = *YYCURSOR;
6341
37.0M
yy196:
6342
37.0M
  YYDEBUG(196, *YYCURSOR);
6343
37.0M
  if (yych <= 'X') {
6344
27.8M
    if (yych <= 'G') {
6345
25.5M
      if (yych <= ' ') {
6346
10.1M
        if (yych == '\t') goto yy195;
6347
9.42M
        if (yych <= 0x1F) goto yy59;
6348
3.55M
        goto yy195;
6349
15.4M
      } else {
6350
15.4M
        if (yych <= 'D') {
6351
14.7M
          if (yych <= 'C') goto yy59;
6352
255k
          goto yy198;
6353
14.7M
        } else {
6354
707k
          if (yych == 'F') goto yy199;
6355
319k
          goto yy59;
6356
707k
        }
6357
15.4M
      }
6358
25.5M
    } else {
6359
2.27M
      if (yych <= 'S') {
6360
1.32M
        if (yych <= 'L') {
6361
500k
          if (yych <= 'H') goto yy79;
6362
326k
          goto yy59;
6363
819k
        } else {
6364
819k
          if (yych <= 'M') goto yy200;
6365
575k
          if (yych <= 'R') goto yy59;
6366
195k
          goto yy201;
6367
575k
        }
6368
1.32M
      } else {
6369
957k
        if (yych <= 'U') {
6370
615k
          if (yych <= 'T') goto yy87;
6371
84.3k
          goto yy88;
6372
615k
        } else {
6373
341k
          if (yych == 'W') goto yy90;
6374
188k
          goto yy59;
6375
341k
        }
6376
957k
      }
6377
2.27M
    }
6378
27.8M
  } else {
6379
9.19M
    if (yych <= 'r') {
6380
3.85M
      if (yych <= 'f') {
6381
1.95M
        if (yych <= 'c') {
6382
1.04M
          if (yych <= 'Y') goto yy92;
6383
837k
          goto yy59;
6384
1.04M
        } else {
6385
910k
          if (yych <= 'd') goto yy198;
6386
640k
          if (yych <= 'e') goto yy59;
6387
216k
          goto yy199;
6388
640k
        }
6389
1.95M
      } else {
6390
1.90M
        if (yych <= 'h') {
6391
354k
          if (yych <= 'g') goto yy59;
6392
217k
          goto yy79;
6393
1.55M
        } else {
6394
1.55M
          if (yych == 'm') goto yy200;
6395
1.20M
          goto yy59;
6396
1.55M
        }
6397
1.90M
      }
6398
5.33M
    } else {
6399
5.33M
      if (yych <= 'w') {
6400
1.45M
        if (yych <= 't') {
6401
944k
          if (yych <= 's') goto yy201;
6402
565k
          goto yy87;
6403
944k
        } else {
6404
505k
          if (yych <= 'u') goto yy88;
6405
324k
          if (yych <= 'v') goto yy59;
6406
195k
          goto yy90;
6407
324k
        }
6408
3.88M
      } else {
6409
3.88M
        if (yych <= 'y') {
6410
258k
          if (yych <= 'x') goto yy59;
6411
187k
          goto yy92;
6412
3.62M
        } else {
6413
3.62M
          if (yych == 0xC2) goto yy211;
6414
3.59M
          goto yy59;
6415
3.62M
        }
6416
3.88M
      }
6417
5.33M
    }
6418
9.19M
  }
6419
3.46M
yy197:
6420
3.46M
  YYDEBUG(197, *YYCURSOR);
6421
3.46M
  yych = *++YYCURSOR;
6422
3.46M
  if (yych <= 0xC1) {
6423
3.34M
    if (yych <= '/') goto yy196;
6424
2.45M
    if (yych <= '9') goto yy389;
6425
518k
    goto yy196;
6426
2.45M
  } else {
6427
114k
    if (yych <= 0xC2) goto yy97;
6428
83.3k
    if (yych == 0xE2) goto yy98;
6429
59.9k
    goto yy196;
6430
83.3k
  }
6431
613k
yy198:
6432
613k
  YYDEBUG(198, *YYCURSOR);
6433
613k
  yych = *++YYCURSOR;
6434
613k
  if (yych == 'A') goto yy242;
6435
595k
  if (yych == 'a') goto yy242;
6436
501k
  goto yy59;
6437
663k
yy199:
6438
663k
  YYDEBUG(199, *YYCURSOR);
6439
663k
  yych = *++YYCURSOR;
6440
663k
  if (yych <= 'R') {
6441
282k
    if (yych == 'O') goto yy245;
6442
227k
    if (yych <= 'Q') goto yy59;
6443
13.3k
    goto yy246;
6444
381k
  } else {
6445
381k
    if (yych <= 'o') {
6446
259k
      if (yych <= 'n') goto yy59;
6447
50.4k
      goto yy245;
6448
259k
    } else {
6449
122k
      if (yych == 'r') goto yy246;
6450
62.1k
      goto yy59;
6451
122k
    }
6452
381k
  }
6453
659k
yy200:
6454
659k
  YYDEBUG(200, *YYCURSOR);
6455
659k
  yych = *++YYCURSOR;
6456
659k
  if (yych <= 'S') {
6457
280k
    if (yych <= 'N') {
6458
261k
      if (yych == 'I') goto yy257;
6459
234k
      goto yy59;
6460
261k
    } else {
6461
19.1k
      if (yych <= 'O') goto yy258;
6462
11.1k
      if (yych <= 'R') goto yy59;
6463
4.86k
      goto yy259;
6464
11.1k
    }
6465
379k
  } else {
6466
379k
    if (yych <= 'n') {
6467
264k
      if (yych == 'i') goto yy257;
6468
115k
      goto yy59;
6469
264k
    } else {
6470
114k
      if (yych <= 'o') goto yy258;
6471
86.3k
      if (yych == 's') goto yy259;
6472
76.0k
      goto yy59;
6473
86.3k
    }
6474
379k
  }
6475
649k
yy201:
6476
649k
  YYDEBUG(201, *YYCURSOR);
6477
649k
  yych = *++YYCURSOR;
6478
649k
  if (yych <= 'U') {
6479
286k
    if (yych <= 'D') {
6480
232k
      if (yych == 'A') goto yy263;
6481
225k
      goto yy59;
6482
232k
    } else {
6483
54.1k
      if (yych <= 'E') goto yy390;
6484
36.0k
      if (yych <= 'T') goto yy59;
6485
11.3k
      goto yy265;
6486
36.0k
    }
6487
362k
  } else {
6488
362k
    if (yych <= 'd') {
6489
65.4k
      if (yych == 'a') goto yy263;
6490
36.2k
      goto yy59;
6491
296k
    } else {
6492
296k
      if (yych <= 'e') goto yy390;
6493
211k
      if (yych == 'u') goto yy265;
6494
194k
      goto yy59;
6495
211k
    }
6496
362k
  }
6497
2.29M
yy202:
6498
2.29M
  YYDEBUG(202, *YYCURSOR);
6499
2.29M
  yyaccept = 2;
6500
2.29M
  yych = *(YYMARKER = ++YYCURSOR);
6501
2.29M
  if (yych <= 'W') {
6502
2.00M
    if (yych <= 'D') {
6503
1.79M
      if (yych <= '/') {
6504
423k
        if (yych <= '\t') {
6505
69.0k
          if (yych <= 0x08) goto yy20;
6506
15.4k
          goto yy196;
6507
354k
        } else {
6508
354k
          if (yych == ' ') goto yy196;
6509
331k
          goto yy20;
6510
354k
        }
6511
1.37M
      } else {
6512
1.37M
        if (yych <= '9') {
6513
1.15M
          if (yych <= '5') goto yy391;
6514
161k
          goto yy392;
6515
1.15M
        } else {
6516
223k
          if (yych <= ':') goto yy393;
6517
43.1k
          if (yych <= 'C') goto yy20;
6518
11.3k
          goto yy196;
6519
43.1k
        }
6520
1.37M
      }
6521
1.79M
    } else {
6522
206k
      if (yych <= 'L') {
6523
61.0k
        if (yych <= 'F') {
6524
38.6k
          if (yych <= 'E') goto yy20;
6525
28.2k
          goto yy196;
6526
38.6k
        } else {
6527
22.4k
          if (yych == 'H') goto yy196;
6528
19.5k
          goto yy20;
6529
22.4k
        }
6530
144k
      } else {
6531
144k
        if (yych <= 'R') {
6532
35.0k
          if (yych <= 'M') goto yy196;
6533
28.0k
          goto yy20;
6534
109k
        } else {
6535
109k
          if (yych == 'V') goto yy20;
6536
88.4k
          goto yy196;
6537
109k
        }
6538
144k
      }
6539
206k
    }
6540
2.00M
  } else {
6541
286k
    if (yych <= 'm') {
6542
104k
      if (yych <= 'e') {
6543
55.5k
        if (yych <= 'Y') {
6544
15.3k
          if (yych <= 'X') goto yy20;
6545
2.63k
          goto yy196;
6546
40.1k
        } else {
6547
40.1k
          if (yych == 'd') goto yy196;
6548
32.7k
          goto yy20;
6549
40.1k
        }
6550
55.5k
      } else {
6551
48.4k
        if (yych <= 'g') {
6552
19.2k
          if (yych <= 'f') goto yy196;
6553
6.40k
          goto yy20;
6554
29.1k
        } else {
6555
29.1k
          if (yych <= 'h') goto yy196;
6556
21.0k
          if (yych <= 'l') goto yy20;
6557
5.12k
          goto yy196;
6558
21.0k
        }
6559
48.4k
      }
6560
182k
    } else {
6561
182k
      if (yych <= 'x') {
6562
65.5k
        if (yych <= 'u') {
6563
55.4k
          if (yych <= 'r') goto yy20;
6564
21.2k
          goto yy196;
6565
55.4k
        } else {
6566
10.0k
          if (yych == 'w') goto yy196;
6567
6.43k
          goto yy20;
6568
10.0k
        }
6569
116k
      } else {
6570
116k
        if (yych <= 0xC2) {
6571
67.3k
          if (yych <= 'y') goto yy196;
6572
61.7k
          if (yych <= 0xC1) goto yy20;
6573
18.2k
          goto yy97;
6574
61.7k
        } else {
6575
49.5k
          if (yych == 0xE2) goto yy98;
6576
45.9k
          goto yy20;
6577
49.5k
        }
6578
116k
      }
6579
182k
    }
6580
286k
  }
6581
189k
yy203:
6582
189k
  YYDEBUG(203, *YYCURSOR);
6583
189k
  yych = *++YYCURSOR;
6584
189k
  if (yych <= '/') goto yy59;
6585
137k
  if (yych <= '5') goto yy394;
6586
83.0k
  if (yych <= '9') goto yy115;
6587
67.3k
  goto yy59;
6588
1.12M
yy204:
6589
1.12M
  YYDEBUG(204, *YYCURSOR);
6590
1.12M
  yyaccept = 2;
6591
1.12M
  yych = *(YYMARKER = ++YYCURSOR);
6592
1.12M
  if (yych <= 'X') {
6593
959k
    if (yych <= 'E') {
6594
890k
      if (yych <= ' ') {
6595
68.3k
        if (yych == '\t') goto yy196;
6596
64.3k
        if (yych <= 0x1F) goto yy20;
6597
12.1k
        goto yy196;
6598
821k
      } else {
6599
821k
        if (yych <= '9') {
6600
759k
          if (yych <= '/') goto yy20;
6601
650k
          goto yy392;
6602
759k
        } else {
6603
62.1k
          if (yych == 'D') goto yy196;
6604
58.0k
          goto yy20;
6605
62.1k
        }
6606
821k
      }
6607
890k
    } else {
6608
69.8k
      if (yych <= 'M') {
6609
34.0k
        if (yych <= 'G') {
6610
13.4k
          if (yych <= 'F') goto yy196;
6611
1.01k
          goto yy20;
6612
20.5k
        } else {
6613
20.5k
          if (yych <= 'H') goto yy196;
6614
18.7k
          if (yych <= 'L') goto yy20;
6615
5.51k
          goto yy196;
6616
18.7k
        }
6617
35.7k
      } else {
6618
35.7k
        if (yych <= 'U') {
6619
23.5k
          if (yych <= 'R') goto yy20;
6620
16.6k
          goto yy196;
6621
23.5k
        } else {
6622
12.1k
          if (yych == 'W') goto yy196;
6623
9.38k
          goto yy20;
6624
12.1k
        }
6625
35.7k
      }
6626
69.8k
    }
6627
959k
  } else {
6628
167k
    if (yych <= 'r') {
6629
71.9k
      if (yych <= 'f') {
6630
39.4k
        if (yych <= 'c') {
6631
21.5k
          if (yych <= 'Y') goto yy196;
6632
17.3k
          goto yy20;
6633
21.5k
        } else {
6634
17.8k
          if (yych == 'e') goto yy20;
6635
10.9k
          goto yy196;
6636
17.8k
        }
6637
39.4k
      } else {
6638
32.4k
        if (yych <= 'h') {
6639
9.40k
          if (yych <= 'g') goto yy20;
6640
3.60k
          goto yy196;
6641
23.0k
        } else {
6642
23.0k
          if (yych == 'm') goto yy196;
6643
18.4k
          goto yy20;
6644
23.0k
        }
6645
32.4k
      }
6646
95.8k
    } else {
6647
95.8k
      if (yych <= 'y') {
6648
32.4k
        if (yych <= 'v') {
6649
20.6k
          if (yych <= 'u') goto yy196;
6650
4.04k
          goto yy20;
6651
20.6k
        } else {
6652
11.8k
          if (yych == 'x') goto yy20;
6653
7.79k
          goto yy196;
6654
11.8k
        }
6655
63.3k
      } else {
6656
63.3k
        if (yych <= 0xC2) {
6657
27.5k
          if (yych <= 0xC1) goto yy20;
6658
2.71k
          goto yy97;
6659
35.7k
        } else {
6660
35.7k
          if (yych == 0xE2) goto yy98;
6661
31.7k
          goto yy20;
6662
35.7k
        }
6663
63.3k
      }
6664
95.8k
    }
6665
167k
  }
6666
616k
yy205:
6667
616k
  YYDEBUG(205, *YYCURSOR);
6668
616k
  yyaccept = 2;
6669
616k
  yych = *(YYMARKER = ++YYCURSOR);
6670
616k
  if (yych <= 'X') {
6671
509k
    if (yych <= 'E') {
6672
439k
      if (yych <= ' ') {
6673
31.0k
        if (yych == '\t') goto yy196;
6674
27.6k
        if (yych <= 0x1F) goto yy20;
6675
4.96k
        goto yy196;
6676
408k
      } else {
6677
408k
        if (yych <= '9') {
6678
378k
          if (yych <= '/') goto yy20;
6679
347k
          goto yy395;
6680
378k
        } else {
6681
29.9k
          if (yych == 'D') goto yy196;
6682
25.6k
          goto yy20;
6683
29.9k
        }
6684
408k
      }
6685
439k
    } else {
6686
69.7k
      if (yych <= 'M') {
6687
28.2k
        if (yych <= 'G') {
6688
17.7k
          if (yych <= 'F') goto yy196;
6689
6.44k
          goto yy20;
6690
17.7k
        } else {
6691
10.4k
          if (yych <= 'H') goto yy196;
6692
9.46k
          if (yych <= 'L') goto yy20;
6693
3.71k
          goto yy196;
6694
9.46k
        }
6695
41.5k
      } else {
6696
41.5k
        if (yych <= 'U') {
6697
29.6k
          if (yych <= 'R') goto yy20;
6698
23.1k
          goto yy196;
6699
29.6k
        } else {
6700
11.9k
          if (yych == 'W') goto yy196;
6701
7.82k
          goto yy20;
6702
11.9k
        }
6703
41.5k
      }
6704
69.7k
    }
6705
509k
  } else {
6706
107k
    if (yych <= 'r') {
6707
53.5k
      if (yych <= 'f') {
6708
34.6k
        if (yych <= 'c') {
6709
24.0k
          if (yych <= 'Y') goto yy196;
6710
12.2k
          goto yy20;
6711
24.0k
        } else {
6712
10.5k
          if (yych == 'e') goto yy20;
6713
5.59k
          goto yy196;
6714
10.5k
        }
6715
34.6k
      } else {
6716
18.9k
        if (yych <= 'h') {
6717
3.36k
          if (yych <= 'g') goto yy20;
6718
829
          goto yy196;
6719
15.5k
        } else {
6720
15.5k
          if (yych == 'm') goto yy196;
6721
13.0k
          goto yy20;
6722
15.5k
        }
6723
18.9k
      }
6724
53.6k
    } else {
6725
53.6k
      if (yych <= 'y') {
6726
16.9k
        if (yych <= 'v') {
6727
7.95k
          if (yych <= 'u') goto yy196;
6728
4.56k
          goto yy20;
6729
8.95k
        } else {
6730
8.95k
          if (yych == 'x') goto yy20;
6731
7.34k
          goto yy196;
6732
8.95k
        }
6733
36.7k
      } else {
6734
36.7k
        if (yych <= 0xC2) {
6735
14.9k
          if (yych <= 0xC1) goto yy20;
6736
3.75k
          goto yy97;
6737
21.8k
        } else {
6738
21.8k
          if (yych == 0xE2) goto yy98;
6739
18.3k
          goto yy20;
6740
21.8k
        }
6741
36.7k
      }
6742
53.6k
    }
6743
107k
  }
6744
873k
yy206:
6745
873k
  YYDEBUG(206, *YYCURSOR);
6746
873k
  ++YYCURSOR;
6747
873k
  if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
6748
873k
  yych = *YYCURSOR;
6749
4.19M
yy207:
6750
4.19M
  YYDEBUG(207, *YYCURSOR);
6751
4.19M
  switch (yych) {
6752
32.1k
  case '\t':
6753
193k
  case ' ':
6754
585k
  case '-':
6755
728k
  case '.': goto yy206;
6756
190k
  case 'A':
6757
239k
  case 'a': goto yy76;
6758
45.0k
  case 'D':
6759
92.7k
  case 'd': goto yy215;
6760
42.9k
  case 'F':
6761
110k
  case 'f': goto yy216;
6762
23.1k
  case 'I': goto yy80;
6763
151k
  case 'J':
6764
224k
  case 'j': goto yy82;
6765
69.2k
  case 'M':
6766
172k
  case 'm': goto yy217;
6767
61.6k
  case 'N':
6768
115k
  case 'n': goto yy84;
6769
46.4k
  case 'O':
6770
78.9k
  case 'o': goto yy85;
6771
76.8k
  case 'S':
6772
165k
  case 's': goto yy218;
6773
28.4k
  case 'V': goto yy89;
6774
15.4k
  case 'X': goto yy91;
6775
2.19M
  default:  goto yy59;
6776
4.19M
  }
6777
104k
yy208:
6778
104k
  YYDEBUG(208, *YYCURSOR);
6779
104k
  yych = *++YYCURSOR;
6780
104k
  if (yych <= '.') {
6781
35.9k
    if (yych <= ',') goto yy59;
6782
20.8k
    if (yych <= '-') goto yy396;
6783
14.6k
    goto yy397;
6784
68.3k
  } else {
6785
68.3k
    if (yych <= '/') goto yy59;
6786
61.9k
    if (yych <= '9') goto yy210;
6787
24.3k
    goto yy59;
6788
61.9k
  }
6789
76.8k
yy209:
6790
76.8k
  YYDEBUG(209, *YYCURSOR);
6791
76.8k
  yych = *++YYCURSOR;
6792
76.8k
  if (yych <= '.') {
6793
18.1k
    if (yych <= ',') goto yy59;
6794
11.9k
    if (yych <= '-') goto yy396;
6795
9.53k
    goto yy397;
6796
58.7k
  } else {
6797
58.7k
    if (yych <= '/') goto yy59;
6798
46.6k
    if (yych >= '3') goto yy59;
6799
46.6k
  }
6800
204k
yy210:
6801
204k
  YYDEBUG(210, *YYCURSOR);
6802
204k
  yych = *++YYCURSOR;
6803
204k
  if (yych <= ',') goto yy59;
6804
177k
  if (yych <= '-') goto yy396;
6805
166k
  if (yych <= '.') goto yy397;
6806
151k
  goto yy59;
6807
151k
yy211:
6808
62.1k
  YYDEBUG(211, *YYCURSOR);
6809
62.1k
  yych = *++YYCURSOR;
6810
62.1k
  if (yych == 0xB5) goto yy274;
6811
51.2k
  goto yy59;
6812
576k
yy212:
6813
576k
  YYDEBUG(212, *YYCURSOR);
6814
576k
  yych = *++YYCURSOR;
6815
576k
  if (yych <= '.') {
6816
108k
    if (yych <= ',') goto yy59;
6817
47.2k
    if (yych <= '-') goto yy398;
6818
10.7k
    goto yy396;
6819
467k
  } else {
6820
467k
    if (yych <= '/') goto yy59;
6821
459k
    if (yych <= '9') goto yy214;
6822
150k
    goto yy59;
6823
459k
  }
6824
436k
yy213:
6825
436k
  YYDEBUG(213, *YYCURSOR);
6826
436k
  yych = *++YYCURSOR;
6827
436k
  if (yych <= '.') {
6828
95.7k
    if (yych <= ',') goto yy59;
6829
49.4k
    if (yych <= '-') goto yy398;
6830
6.74k
    goto yy396;
6831
341k
  } else {
6832
341k
    if (yych <= '/') goto yy59;
6833
335k
    if (yych >= '3') goto yy59;
6834
335k
  }
6835
1.65M
yy214:
6836
1.65M
  YYDEBUG(214, *YYCURSOR);
6837
1.65M
  yych = *++YYCURSOR;
6838
1.65M
  if (yych <= ',') goto yy59;
6839
1.43M
  if (yych <= '-') goto yy398;
6840
1.20M
  if (yych <= '.') goto yy396;
6841
1.18M
  goto yy59;
6842
1.18M
yy215:
6843
92.7k
  YYDEBUG(215, *YYCURSOR);
6844
92.7k
  yych = *++YYCURSOR;
6845
92.7k
  if (yych == 'E') goto yy243;
6846
80.2k
  if (yych == 'e') goto yy243;
6847
52.7k
  goto yy59;
6848
110k
yy216:
6849
110k
  YYDEBUG(216, *YYCURSOR);
6850
110k
  yych = *++YYCURSOR;
6851
110k
  if (yych == 'E') goto yy244;
6852
98.0k
  if (yych == 'e') goto yy244;
6853
55.3k
  goto yy59;
6854
172k
yy217:
6855
172k
  YYDEBUG(217, *YYCURSOR);
6856
172k
  yych = *++YYCURSOR;
6857
172k
  if (yych == 'A') goto yy256;
6858
122k
  if (yych == 'a') goto yy256;
6859
79.1k
  goto yy59;
6860
165k
yy218:
6861
165k
  YYDEBUG(218, *YYCURSOR);
6862
165k
  yych = *++YYCURSOR;
6863
165k
  if (yych == 'E') goto yy399;
6864
152k
  if (yych == 'e') goto yy399;
6865
79.6k
  goto yy59;
6866
165k
yy219:
6867
165k
  YYDEBUG(219, *YYCURSOR);
6868
165k
  yyaccept = 4;
6869
165k
  yych = *(YYMARKER = ++YYCURSOR);
6870
165k
  if (yych <= '.') {
6871
60.5k
    if (yych <= ',') goto yy177;
6872
38.0k
    if (yych <= '-') goto yy396;
6873
15.8k
    goto yy400;
6874
105k
  } else {
6875
105k
    if (yych <= '/') goto yy177;
6876
104k
    if (yych <= '9') goto yy222;
6877
40.3k
    if (yych <= ':') goto yy401;
6878
34.2k
    goto yy177;
6879
40.3k
  }
6880
107k
yy220:
6881
107k
  YYDEBUG(220, *YYCURSOR);
6882
107k
  yyaccept = 4;
6883
107k
  yych = *(YYMARKER = ++YYCURSOR);
6884
107k
  if (yych <= '/') {
6885
33.0k
    if (yych <= ',') goto yy177;
6886
22.7k
    if (yych <= '-') goto yy396;
6887
16.7k
    if (yych <= '.') goto yy400;
6888
3.71k
    goto yy177;
6889
73.9k
  } else {
6890
73.9k
    if (yych <= '2') goto yy222;
6891
44.5k
    if (yych <= '9') goto yy239;
6892
33.1k
    if (yych <= ':') goto yy401;
6893
24.9k
    goto yy177;
6894
33.1k
  }
6895
86.8k
yy221:
6896
86.8k
  YYDEBUG(221, *YYCURSOR);
6897
86.8k
  yyaccept = 4;
6898
86.8k
  yych = *(YYMARKER = ++YYCURSOR);
6899
86.8k
  if (yych <= '.') {
6900
39.8k
    if (yych <= ',') goto yy177;
6901
24.7k
    if (yych <= '-') goto yy396;
6902
19.2k
    goto yy400;
6903
47.0k
  } else {
6904
47.0k
    if (yych <= '/') goto yy177;
6905
42.0k
    if (yych <= '9') goto yy239;
6906
16.3k
    if (yych <= ':') goto yy401;
6907
13.3k
    goto yy177;
6908
16.3k
  }
6909
168k
yy222:
6910
168k
  YYDEBUG(222, *YYCURSOR);
6911
168k
  yyaccept = 4;
6912
168k
  yych = *(YYMARKER = ++YYCURSOR);
6913
168k
  if (yych <= '.') {
6914
77.6k
    if (yych <= ',') goto yy177;
6915
58.9k
    if (yych <= '-') goto yy396;
6916
49.5k
    goto yy400;
6917
90.9k
  } else {
6918
90.9k
    if (yych == ':') goto yy401;
6919
75.7k
    goto yy177;
6920
90.9k
  }
6921
342k
yy223:
6922
342k
  YYDEBUG(223, *YYCURSOR);
6923
342k
  yyaccept = 5;
6924
342k
  yych = *(YYMARKER = ++YYCURSOR);
6925
342k
  if (yych <= 'n') {
6926
291k
    if (yych <= '/') {
6927
101k
      if (yych >= '/') goto yy402;
6928
190k
    } else {
6929
190k
      if (yych <= '9') goto yy226;
6930
47.1k
      if (yych >= 'n') goto yy403;
6931
47.1k
    }
6932
291k
  } else {
6933
50.8k
    if (yych <= 'r') {
6934
18.9k
      if (yych >= 'r') goto yy403;
6935
31.8k
    } else {
6936
31.8k
      if (yych <= 's') goto yy404;
6937
21.9k
      if (yych <= 't') goto yy405;
6938
21.9k
    }
6939
50.8k
  }
6940
572k
yy224:
6941
572k
  YYDEBUG(224, *YYCURSOR);
6942
572k
#line 1481 "ext/date/lib/parse_date.re"
6943
572k
  {
6944
572k
    int length = 0;
6945
572k
    DEBUG_OUTPUT("americanshort | american");
6946
572k
    TIMELIB_INIT;
6947
572k
    TIMELIB_HAVE_DATE();
6948
62.7k
    s->time->m = timelib_get_nr(&ptr, 2);
6949
62.7k
    s->time->d = timelib_get_nr(&ptr, 2);
6950
62.7k
    if (*ptr == '/') {
6951
15.3k
      s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
6952
15.3k
      TIMELIB_PROCESS_YEAR(s->time->y, length);
6953
15.3k
    }
6954
62.7k
    TIMELIB_DEINIT;
6955
62.7k
    return TIMELIB_AMERICAN;
6956
572k
  }
6957
0
#line 6958 "ext/date/lib/parse_date.c"
6958
87.3k
yy225:
6959
87.3k
  YYDEBUG(225, *YYCURSOR);
6960
87.3k
  yyaccept = 5;
6961
87.3k
  yych = *(YYMARKER = ++YYCURSOR);
6962
87.3k
  if (yych <= 'n') {
6963
60.9k
    if (yych <= '/') {
6964
16.6k
      if (yych <= '.') goto yy224;
6965
7.70k
      goto yy402;
6966
44.2k
    } else {
6967
44.2k
      if (yych <= '1') goto yy226;
6968
36.4k
      if (yych <= 'm') goto yy224;
6969
2.43k
      goto yy403;
6970
36.4k
    }
6971
60.9k
  } else {
6972
26.3k
    if (yych <= 'r') {
6973
8.45k
      if (yych <= 'q') goto yy224;
6974
2.77k
      goto yy403;
6975
17.9k
    } else {
6976
17.9k
      if (yych <= 's') goto yy404;
6977
11.7k
      if (yych <= 't') goto yy405;
6978
8.80k
      goto yy224;
6979
11.7k
    }
6980
26.3k
  }
6981
293k
yy226:
6982
293k
  YYDEBUG(226, *YYCURSOR);
6983
293k
  yyaccept = 5;
6984
293k
  yych = *(YYMARKER = ++YYCURSOR);
6985
293k
  if (yych <= 'n') {
6986
245k
    if (yych == '/') goto yy402;
6987
189k
    if (yych <= 'm') goto yy224;
6988
5.76k
    goto yy403;
6989
189k
  } else {
6990
48.0k
    if (yych <= 'r') {
6991
13.8k
      if (yych <= 'q') goto yy224;
6992
6.29k
      goto yy403;
6993
34.1k
    } else {
6994
34.1k
      if (yych <= 's') goto yy404;
6995
28.4k
      if (yych <= 't') goto yy405;
6996
21.3k
      goto yy224;
6997
28.4k
    }
6998
48.0k
  }
6999
103k
yy227:
7000
103k
  YYDEBUG(227, *YYCURSOR);
7001
103k
  yych = *++YYCURSOR;
7002
103k
  if (yych <= 'U') {
7003
47.1k
    if (yych == 'P') goto yy406;
7004
42.7k
    if (yych <= 'T') goto yy59;
7005
18.7k
    goto yy407;
7006
55.9k
  } else {
7007
55.9k
    if (yych <= 'p') {
7008
26.2k
      if (yych <= 'o') goto yy59;
7009
18.6k
      goto yy406;
7010
29.7k
    } else {
7011
29.7k
      if (yych == 'u') goto yy407;
7012
19.6k
      goto yy59;
7013
29.7k
    }
7014
55.9k
  }
7015
55.9k
yy228:
7016
55.9k
  YYDEBUG(228, *YYCURSOR);
7017
55.9k
  yych = *++YYCURSOR;
7018
55.9k
  if (yych == 'E') goto yy408;
7019
35.7k
  if (yych == 'e') goto yy408;
7020
21.8k
  goto yy59;
7021
37.9k
yy229:
7022
37.9k
  YYDEBUG(229, *YYCURSOR);
7023
37.9k
  yych = *++YYCURSOR;
7024
37.9k
  if (yych == 'E') goto yy409;
7025
32.4k
  if (yych == 'e') goto yy409;
7026
17.0k
  goto yy59;
7027
499k
yy230:
7028
499k
  YYDEBUG(230, *YYCURSOR);
7029
499k
  yych = *++YYCURSOR;
7030
499k
  if (yych <= 'U') {
7031
283k
    if (yych == 'A') goto yy410;
7032
240k
    if (yych <= 'T') goto yy59;
7033
204k
    goto yy411;
7034
240k
  } else {
7035
215k
    if (yych <= 'a') {
7036
25.4k
      if (yych <= '`') goto yy59;
7037
18.2k
      goto yy410;
7038
190k
    } else {
7039
190k
      if (yych == 'u') goto yy411;
7040
27.5k
      goto yy59;
7041
190k
    }
7042
215k
  }
7043
95.5k
yy231:
7044
95.5k
  YYDEBUG(231, *YYCURSOR);
7045
95.5k
  yych = *++YYCURSOR;
7046
95.5k
  if (yych == 'A') goto yy412;
7047
45.6k
  if (yych == 'a') goto yy412;
7048
17.5k
  goto yy59;
7049
65.4k
yy232:
7050
65.4k
  YYDEBUG(232, *YYCURSOR);
7051
65.4k
  yych = *++YYCURSOR;
7052
65.4k
  if (yych == 'O') goto yy413;
7053
53.1k
  if (yych == 'o') goto yy413;
7054
37.3k
  goto yy59;
7055
100k
yy233:
7056
100k
  YYDEBUG(233, *YYCURSOR);
7057
100k
  yych = *++YYCURSOR;
7058
100k
  if (yych == 'C') goto yy414;
7059
70.7k
  if (yych == 'c') goto yy414;
7060
46.7k
  goto yy59;
7061
111k
yy234:
7062
111k
  YYDEBUG(234, *YYCURSOR);
7063
111k
  yych = *++YYCURSOR;
7064
111k
  if (yych == 'E') goto yy415;
7065
106k
  if (yych == 'e') goto yy415;
7066
22.6k
  goto yy59;
7067
1.00M
yy235:
7068
1.00M
  YYDEBUG(235, *YYCURSOR);
7069
1.00M
  yych = *++YYCURSOR;
7070
1.00M
  if (yych <= '/') goto yy207;
7071
897k
  if (yych <= '0') goto yy416;
7072
670k
  if (yych <= '1') goto yy417;
7073
534k
  if (yych <= '9') goto yy214;
7074
298k
  goto yy207;
7075
9.99M
yy236:
7076
9.99M
  YYDEBUG(236, *YYCURSOR);
7077
9.99M
  yych = *++YYCURSOR;
7078
9.99M
  if (yych <= '9') {
7079
8.17M
    if (yych == '-') goto yy418;
7080
7.91M
    if (yych <= '/') goto yy196;
7081
6.66M
    goto yy419;
7082
7.91M
  } else {
7083
1.82M
    if (yych <= 0xC2) {
7084
1.58M
      if (yych <= 0xC1) goto yy196;
7085
36.4k
      goto yy97;
7086
1.58M
    } else {
7087
238k
      if (yych == 0xE2) goto yy98;
7088
215k
      goto yy196;
7089
238k
    }
7090
1.82M
  }
7091
11.6M
yy237:
7092
11.6M
  YYDEBUG(237, *YYCURSOR);
7093
11.6M
  yych = *++YYCURSOR;
7094
11.6M
  if (yych <= '9') {
7095
9.33M
    if (yych == '-') goto yy418;
7096
8.85M
    if (yych <= '/') goto yy196;
7097
7.53M
    goto yy421;
7098
8.85M
  } else {
7099
2.34M
    if (yych <= 0xC2) {
7100
2.09M
      if (yych <= 0xC1) goto yy196;
7101
39.8k
      goto yy97;
7102
2.09M
    } else {
7103
245k
      if (yych == 0xE2) goto yy98;
7104
213k
      goto yy196;
7105
245k
    }
7106
2.34M
  }
7107
534k
yy238:
7108
534k
  YYDEBUG(238, *YYCURSOR);
7109
534k
  yyaccept = 4;
7110
534k
  yych = *(YYMARKER = ++YYCURSOR);
7111
534k
  if (yych <= '/') {
7112
79.1k
    if (yych == '.') goto yy401;
7113
61.9k
    goto yy177;
7114
455k
  } else {
7115
455k
    if (yych <= '9') goto yy239;
7116
131k
    if (yych <= ':') goto yy401;
7117
75.5k
    goto yy177;
7118
131k
  }
7119
431k
yy239:
7120
431k
  YYDEBUG(239, *YYCURSOR);
7121
431k
  yyaccept = 4;
7122
431k
  yych = *(YYMARKER = ++YYCURSOR);
7123
431k
  if (yych == '.') goto yy401;
7124
404k
  if (yych == ':') goto yy401;
7125
241k
  goto yy177;
7126
241k
yy240:
7127
148k
  YYDEBUG(240, *YYCURSOR);
7128
148k
  yych = *++YYCURSOR;
7129
148k
  if (yych == 'R') goto yy423;
7130
132k
  if (yych == 'r') goto yy423;
7131
76.3k
  goto yy59;
7132
165k
yy241:
7133
165k
  YYDEBUG(241, *YYCURSOR);
7134
165k
  yych = *++YYCURSOR;
7135
165k
  if (yych == 'G') goto yy424;
7136
125k
  if (yych == 'g') goto yy424;
7137
68.1k
  goto yy59;
7138
238k
yy242:
7139
238k
  YYDEBUG(242, *YYCURSOR);
7140
238k
  yych = *++YYCURSOR;
7141
238k
  if (yych == 'Y') goto yy425;
7142
226k
  if (yych == 'y') goto yy425;
7143
207k
  goto yy59;
7144
207k
yy243:
7145
126k
  YYDEBUG(243, *YYCURSOR);
7146
126k
  yych = *++YYCURSOR;
7147
126k
  if (yych == 'C') goto yy426;
7148
116k
  if (yych == 'c') goto yy426;
7149
94.1k
  goto yy59;
7150
163k
yy244:
7151
163k
  YYDEBUG(244, *YYCURSOR);
7152
163k
  yych = *++YYCURSOR;
7153
163k
  if (yych == 'B') goto yy427;
7154
145k
  if (yych == 'b') goto yy427;
7155
81.4k
  goto yy59;
7156
263k
yy245:
7157
263k
  YYDEBUG(245, *YYCURSOR);
7158
263k
  yych = *++YYCURSOR;
7159
263k
  if (yych == 'R') goto yy428;
7160
231k
  if (yych == 'r') goto yy428;
7161
206k
  goto yy59;
7162
245k
yy246:
7163
245k
  YYDEBUG(246, *YYCURSOR);
7164
245k
  yych = *++YYCURSOR;
7165
245k
  if (yych == 'I') goto yy429;
7166
241k
  if (yych == 'i') goto yy429;
7167
235k
  goto yy59;
7168
235k
yy247:
7169
47.1k
  YYDEBUG(247, *YYCURSOR);
7170
47.1k
  yych = *++YYCURSOR;
7171
47.1k
  if (yych == 'U') goto yy430;
7172
42.6k
  if (yych == 'u') goto yy430;
7173
24.4k
  goto yy59;
7174
387k
yy248:
7175
387k
  YYDEBUG(248, *YYCURSOR);
7176
387k
  ++YYCURSOR;
7177
387k
  if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
7178
387k
  yych = *YYCURSOR;
7179
387k
  YYDEBUG(249, *YYCURSOR);
7180
387k
  if (yych <= ' ') {
7181
60.8k
    if (yych == '\t') goto yy248;
7182
34.4k
    if (yych <= 0x1F) goto yy59;
7183
9.75k
    goto yy248;
7184
326k
  } else {
7185
326k
    if (yych <= '.') {
7186
54.8k
      if (yych <= ',') goto yy59;
7187
28.4k
      goto yy248;
7188
271k
    } else {
7189
271k
      if (yych <= '/') goto yy59;
7190
258k
      if (yych >= ':') goto yy59;
7191
258k
    }
7192
326k
  }
7193
442k
yy250:
7194
442k
  YYDEBUG(250, *YYCURSOR);
7195
442k
  yych = *++YYCURSOR;
7196
442k
  if (yych <= '/') goto yy251;
7197
319k
  if (yych <= '9') goto yy431;
7198
442k
yy251:
7199
442k
  YYDEBUG(251, *YYCURSOR);
7200
442k
#line 1563 "ext/date/lib/parse_date.re"
7201
442k
  {
7202
442k
    int length = 0;
7203
442k
    DEBUG_OUTPUT("datefull");
7204
442k
    TIMELIB_INIT;
7205
442k
    TIMELIB_HAVE_DATE();
7206
56.9k
    s->time->d = timelib_get_nr(&ptr, 2);
7207
56.9k
    timelib_skip_day_suffix(&ptr);
7208
56.9k
    s->time->m = timelib_get_month(&ptr);
7209
56.9k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
7210
56.9k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
7211
56.9k
    TIMELIB_DEINIT;
7212
56.9k
    return TIMELIB_DATE_FULL;
7213
442k
  }
7214
0
#line 7215 "ext/date/lib/parse_date.c"
7215
110k
yy252:
7216
110k
  YYDEBUG(252, *YYCURSOR);
7217
110k
  yyaccept = 3;
7218
110k
  yych = *(YYMARKER = ++YYCURSOR);
7219
110k
  if (yych <= ',') {
7220
35.7k
    if (yych <= '\t') {
7221
17.5k
      if (yych <= 0x08) goto yy81;
7222
2.88k
      goto yy248;
7223
18.1k
    } else {
7224
18.1k
      if (yych == ' ') goto yy248;
7225
14.9k
      goto yy81;
7226
18.1k
    }
7227
74.2k
  } else {
7228
74.2k
    if (yych <= '9') {
7229
33.3k
      if (yych <= '.') goto yy248;
7230
19.8k
      if (yych <= '/') goto yy81;
7231
17.1k
      goto yy250;
7232
40.9k
    } else {
7233
40.9k
      if (yych != 'I') goto yy81;
7234
40.9k
    }
7235
74.2k
  }
7236
127k
yy253:
7237
127k
  YYDEBUG(253, *YYCURSOR);
7238
127k
  yyaccept = 3;
7239
127k
  yych = *(YYMARKER = ++YYCURSOR);
7240
127k
  if (yych <= ' ') {
7241
18.7k
    if (yych == '\t') goto yy248;
7242
14.5k
    if (yych <= 0x1F) goto yy81;
7243
4.18k
    goto yy248;
7244
108k
  } else {
7245
108k
    if (yych <= '.') {
7246
32.9k
      if (yych <= ',') goto yy81;
7247
20.1k
      goto yy248;
7248
75.8k
    } else {
7249
75.8k
      if (yych <= '/') goto yy81;
7250
70.2k
      if (yych <= '9') goto yy250;
7251
53.4k
      goto yy81;
7252
70.2k
    }
7253
108k
  }
7254
137k
yy254:
7255
137k
  YYDEBUG(254, *YYCURSOR);
7256
137k
  yych = *++YYCURSOR;
7257
137k
  if (yych == 'N') goto yy432;
7258
129k
  if (yych == 'n') goto yy432;
7259
66.3k
  goto yy59;
7260
253k
yy255:
7261
253k
  YYDEBUG(255, *YYCURSOR);
7262
253k
  yych = *++YYCURSOR;
7263
253k
  if (yych <= 'N') {
7264
80.5k
    if (yych == 'L') goto yy433;
7265
66.4k
    if (yych <= 'M') goto yy59;
7266
16.8k
    goto yy434;
7267
173k
  } else {
7268
173k
    if (yych <= 'l') {
7269
104k
      if (yych <= 'k') goto yy59;
7270
77.1k
      goto yy433;
7271
104k
    } else {
7272
68.0k
      if (yych == 'n') goto yy434;
7273
34.6k
      goto yy59;
7274
68.0k
    }
7275
173k
  }
7276
192k
yy256:
7277
192k
  YYDEBUG(256, *YYCURSOR);
7278
192k
  yych = *++YYCURSOR;
7279
192k
  if (yych <= 'Y') {
7280
79.3k
    if (yych == 'R') goto yy435;
7281
58.5k
    if (yych <= 'X') goto yy59;
7282
10.1k
    goto yy253;
7283
113k
  } else {
7284
113k
    if (yych <= 'r') {
7285
62.5k
      if (yych <= 'q') goto yy59;
7286
31.0k
      goto yy435;
7287
62.5k
    } else {
7288
50.6k
      if (yych == 'y') goto yy253;
7289
24.2k
      goto yy59;
7290
50.6k
    }
7291
113k
  }
7292
374k
yy257:
7293
374k
  YYDEBUG(257, *YYCURSOR);
7294
374k
  yych = *++YYCURSOR;
7295
374k
  if (yych <= 'N') {
7296
106k
    if (yych <= 'K') {
7297
84.5k
      if (yych == 'C') goto yy436;
7298
77.4k
      goto yy59;
7299
84.5k
    } else {
7300
22.1k
      if (yych <= 'L') goto yy437;
7301
16.5k
      if (yych <= 'M') goto yy59;
7302
12.8k
      goto yy438;
7303
16.5k
    }
7304
268k
  } else {
7305
268k
    if (yych <= 'k') {
7306
177k
      if (yych == 'c') goto yy436;
7307
117k
      goto yy59;
7308
177k
    } else {
7309
90.4k
      if (yych <= 'l') goto yy437;
7310
58.6k
      if (yych == 'n') goto yy438;
7311
33.5k
      goto yy59;
7312
58.6k
    }
7313
268k
  }
7314
105k
yy258:
7315
105k
  YYDEBUG(258, *YYCURSOR);
7316
105k
  yych = *++YYCURSOR;
7317
105k
  if (yych == 'N') goto yy439;
7318
97.5k
  if (yych == 'n') goto yy439;
7319
68.5k
  goto yy59;
7320
68.5k
yy259:
7321
44.3k
  YYDEBUG(259, *YYCURSOR);
7322
44.3k
  yyaccept = 6;
7323
44.3k
  yych = *(YYMARKER = ++YYCURSOR);
7324
44.3k
  if (yych == 'E') goto yy440;
7325
39.5k
  if (yych == 'e') goto yy440;
7326
429k
yy260:
7327
429k
  YYDEBUG(260, *YYCURSOR);
7328
429k
#line 1968 "ext/date/lib/parse_date.re"
7329
429k
  {
7330
429k
    timelib_ull i;
7331
429k
    DEBUG_OUTPUT("relative");
7332
429k
    TIMELIB_INIT;
7333
429k
    TIMELIB_HAVE_RELATIVE();
7334
7335
859k
    while(*ptr) {
7336
429k
      i = timelib_get_signed_nr(s, &ptr, 24);
7337
429k
      timelib_eat_spaces(&ptr);
7338
429k
      timelib_set_relative(&ptr, i, 1, s, TIMELIB_TIME_PART_KEEP);
7339
429k
    }
7340
429k
    TIMELIB_DEINIT;
7341
429k
    return TIMELIB_RELATIVE;
7342
39.5k
  }
7343
0
#line 7344 "ext/date/lib/parse_date.c"
7344
233k
yy261:
7345
233k
  YYDEBUG(261, *YYCURSOR);
7346
233k
  yych = *++YYCURSOR;
7347
233k
  if (yych == 'V') goto yy426;
7348
227k
  if (yych == 'v') goto yy426;
7349
185k
  goto yy59;
7350
185k
yy262:
7351
120k
  YYDEBUG(262, *YYCURSOR);
7352
120k
  yych = *++YYCURSOR;
7353
120k
  if (yych == 'T') goto yy441;
7354
100k
  if (yych == 't') goto yy441;
7355
49.3k
  goto yy59;
7356
117k
yy263:
7357
117k
  YYDEBUG(263, *YYCURSOR);
7358
117k
  yych = *++YYCURSOR;
7359
117k
  if (yych == 'T') goto yy442;
7360
115k
  if (yych == 't') goto yy442;
7361
92.5k
  goto yy59;
7362
273k
yy264:
7363
273k
  YYDEBUG(264, *YYCURSOR);
7364
273k
  yych = *++YYCURSOR;
7365
273k
  if (yych <= 'P') {
7366
67.3k
    if (yych == 'C') goto yy443;
7367
57.6k
    if (yych <= 'O') goto yy59;
7368
19.1k
    goto yy444;
7369
205k
  } else {
7370
205k
    if (yych <= 'c') {
7371
58.7k
      if (yych <= 'b') goto yy59;
7372
22.8k
      goto yy443;
7373
147k
    } else {
7374
147k
      if (yych == 'p') goto yy444;
7375
101k
      goto yy59;
7376
147k
    }
7377
205k
  }
7378
82.0k
yy265:
7379
82.0k
  YYDEBUG(265, *YYCURSOR);
7380
82.0k
  yych = *++YYCURSOR;
7381
82.0k
  if (yych == 'N') goto yy429;
7382
78.2k
  if (yych == 'n') goto yy429;
7383
74.9k
  goto yy59;
7384
252k
yy266:
7385
252k
  YYDEBUG(266, *YYCURSOR);
7386
252k
  yych = *++YYCURSOR;
7387
252k
  if (yych == 'U') goto yy445;
7388
246k
  if (yych == 'u') goto yy445;
7389
234k
  goto yy59;
7390
234k
yy267:
7391
127k
  YYDEBUG(267, *YYCURSOR);
7392
127k
  yych = *++YYCURSOR;
7393
127k
  if (yych == 'E') goto yy446;
7394
120k
  if (yych == 'e') goto yy446;
7395
92.2k
  goto yy59;
7396
92.2k
yy268:
7397
58.4k
  YYDEBUG(268, *YYCURSOR);
7398
58.4k
  yych = *++YYCURSOR;
7399
58.4k
  if (yych == 'E') goto yy440;
7400
57.1k
  if (yych == 'e') goto yy440;
7401
50.0k
  goto yy59;
7402
230k
yy269:
7403
230k
  YYDEBUG(269, *YYCURSOR);
7404
230k
  yych = *++YYCURSOR;
7405
230k
  if (yych <= 'E') {
7406
48.3k
    if (yych <= 'C') goto yy59;
7407
17.6k
    if (yych <= 'D') goto yy447;
7408
7.84k
    goto yy448;
7409
181k
  } else {
7410
181k
    if (yych <= 'c') goto yy59;
7411
161k
    if (yych <= 'd') goto yy447;
7412
124k
    if (yych <= 'e') goto yy448;
7413
61.0k
    goto yy59;
7414
124k
  }
7415
305k
yy270:
7416
305k
  YYDEBUG(270, *YYCURSOR);
7417
305k
  yych = *++YYCURSOR;
7418
305k
  if (yych == 'A') goto yy430;
7419
293k
  if (yych == 'a') goto yy430;
7420
290k
  goto yy59;
7421
290k
yy271:
7422
179k
  YYDEBUG(271, *YYCURSOR);
7423
179k
  yych = *++YYCURSOR;
7424
179k
  if (yych <= ',') {
7425
38.1k
    if (yych == '\t') goto yy287;
7426
28.1k
    goto yy207;
7427
141k
  } else {
7428
141k
    if (yych <= '-') goto yy449;
7429
104k
    if (yych <= '.') goto yy287;
7430
100k
    if (yych <= '/') goto yy280;
7431
97.0k
    goto yy207;
7432
100k
  }
7433
126k
yy272:
7434
126k
  YYDEBUG(272, *YYCURSOR);
7435
126k
  yych = *++YYCURSOR;
7436
126k
  if (yych <= '.') {
7437
34.0k
    if (yych <= '\t') {
7438
6.65k
      if (yych <= 0x08) goto yy207;
7439
2.74k
      goto yy287;
7440
27.4k
    } else {
7441
27.4k
      if (yych <= ',') goto yy207;
7442
16.1k
      if (yych <= '-') goto yy449;
7443
2.89k
      goto yy287;
7444
16.1k
    }
7445
92.0k
  } else {
7446
92.0k
    if (yych <= 'U') {
7447
25.3k
      if (yych <= '/') goto yy280;
7448
20.2k
      if (yych <= 'T') goto yy207;
7449
4.04k
      goto yy445;
7450
66.7k
    } else {
7451
66.7k
      if (yych == 'u') goto yy445;
7452
58.8k
      goto yy207;
7453
66.7k
    }
7454
92.0k
  }
7455
477k
yy273:
7456
477k
  YYDEBUG(273, *YYCURSOR);
7457
477k
  ++YYCURSOR;
7458
477k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
7459
477k
  yych = *YYCURSOR;
7460
477k
  if (yych <= 'c') {
7461
291k
    if (yych <= 'M') {
7462
169k
      if (yych <= 'F') {
7463
114k
        if (yych == 'D') goto yy198;
7464
104k
        if (yych <= 'E') goto yy59;
7465
18.5k
        goto yy199;
7466
104k
      } else {
7467
55.3k
        if (yych == 'H') goto yy79;
7468
47.3k
        if (yych <= 'L') goto yy59;
7469
14.2k
        goto yy200;
7470
47.3k
      }
7471
169k
    } else {
7472
122k
      if (yych <= 'U') {
7473
60.5k
        if (yych <= 'R') goto yy59;
7474
35.9k
        if (yych <= 'S') goto yy201;
7475
18.2k
        if (yych <= 'T') goto yy87;
7476
4.17k
        goto yy88;
7477
61.6k
      } else {
7478
61.6k
        if (yych <= 'W') {
7479
21.7k
          if (yych <= 'V') goto yy59;
7480
10.9k
          goto yy90;
7481
39.8k
        } else {
7482
39.8k
          if (yych == 'Y') goto yy92;
7483
35.3k
          goto yy59;
7484
39.8k
        }
7485
61.6k
      }
7486
122k
    }
7487
291k
  } else {
7488
185k
    if (yych <= 's') {
7489
84.1k
      if (yych <= 'g') {
7490
20.9k
        if (yych <= 'd') goto yy198;
7491
13.6k
        if (yych == 'f') goto yy199;
7492
7.62k
        goto yy59;
7493
63.1k
      } else {
7494
63.1k
        if (yych <= 'l') {
7495
32.1k
          if (yych <= 'h') goto yy79;
7496
21.1k
          goto yy59;
7497
32.1k
        } else {
7498
30.9k
          if (yych <= 'm') goto yy200;
7499
20.3k
          if (yych <= 'r') goto yy59;
7500
6.51k
          goto yy201;
7501
20.3k
        }
7502
63.1k
      }
7503
101k
    } else {
7504
101k
      if (yych <= 'w') {
7505
26.2k
        if (yych <= 't') goto yy87;
7506
15.4k
        if (yych <= 'u') goto yy88;
7507
12.9k
        if (yych <= 'v') goto yy59;
7508
6.37k
        goto yy90;
7509
75.5k
      } else {
7510
75.5k
        if (yych <= 'y') {
7511
13.6k
          if (yych <= 'x') goto yy59;
7512
9.07k
          goto yy92;
7513
61.8k
        } else {
7514
61.8k
          if (yych == 0xC2) goto yy97;
7515
30.2k
          goto yy59;
7516
61.8k
        }
7517
75.5k
      }
7518
101k
    }
7519
185k
  }
7520
24.4k
yy274:
7521
24.4k
  YYDEBUG(274, *YYCURSOR);
7522
24.4k
  yych = *++YYCURSOR;
7523
24.4k
  if (yych == 'S') goto yy259;
7524
21.4k
  if (yych == 's') goto yy259;
7525
20.2k
  goto yy59;
7526
505k
yy275:
7527
505k
  YYDEBUG(275, *YYCURSOR);
7528
505k
  ++YYCURSOR;
7529
505k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
7530
505k
  yych = *YYCURSOR;
7531
505k
  if (yych == 0xAF) goto yy450;
7532
126k
  goto yy59;
7533
324k
yy276:
7534
324k
  YYDEBUG(276, *YYCURSOR);
7535
324k
  yyaccept = 4;
7536
324k
  yych = *(YYMARKER = ++YYCURSOR);
7537
324k
  if (yych <= '.') {
7538
144k
    if (yych <= ',') goto yy177;
7539
105k
    if (yych <= '-') goto yy396;
7540
92.6k
    goto yy451;
7541
180k
  } else {
7542
180k
    if (yych <= '/') goto yy177;
7543
172k
    if (yych <= '9') goto yy452;
7544
62.8k
    if (yych <= ':') goto yy453;
7545
37.9k
    goto yy177;
7546
62.8k
  }
7547
291k
yy277:
7548
291k
  YYDEBUG(277, *YYCURSOR);
7549
291k
  yyaccept = 4;
7550
291k
  yych = *(YYMARKER = ++YYCURSOR);
7551
291k
  if (yych <= '/') {
7552
72.2k
    if (yych <= ',') goto yy177;
7553
56.5k
    if (yych <= '-') goto yy396;
7554
45.5k
    if (yych <= '.') goto yy451;
7555
2.24k
    goto yy177;
7556
219k
  } else {
7557
219k
    if (yych <= '2') goto yy452;
7558
77.7k
    if (yych <= '9') goto yy454;
7559
44.5k
    if (yych <= ':') goto yy453;
7560
32.3k
    goto yy177;
7561
44.5k
  }
7562
264k
yy278:
7563
264k
  YYDEBUG(278, *YYCURSOR);
7564
264k
  yyaccept = 4;
7565
264k
  yych = *(YYMARKER = ++YYCURSOR);
7566
264k
  if (yych <= '.') {
7567
61.2k
    if (yych <= ',') goto yy177;
7568
47.8k
    if (yych <= '-') goto yy396;
7569
40.9k
    goto yy451;
7570
203k
  } else {
7571
203k
    if (yych <= '/') goto yy177;
7572
192k
    if (yych <= '9') goto yy454;
7573
48.5k
    if (yych <= ':') goto yy453;
7574
37.0k
    goto yy177;
7575
48.5k
  }
7576
107k
yy279:
7577
107k
  YYDEBUG(279, *YYCURSOR);
7578
107k
  yyaccept = 4;
7579
107k
  yych = *(YYMARKER = ++YYCURSOR);
7580
107k
  if (yych <= '.') {
7581
54.5k
    if (yych <= ',') goto yy177;
7582
44.0k
    if (yych <= '-') goto yy396;
7583
35.4k
    goto yy451;
7584
53.0k
  } else {
7585
53.0k
    if (yych == ':') goto yy453;
7586
47.2k
    goto yy177;
7587
53.0k
  }
7588
261k
yy280:
7589
261k
  YYDEBUG(280, *YYCURSOR);
7590
261k
  yych = *++YYCURSOR;
7591
261k
  switch (yych) {
7592
12.5k
  case 'A':
7593
19.5k
  case 'a': goto yy227;
7594
7.23k
  case 'D':
7595
16.4k
  case 'd': goto yy228;
7596
3.85k
  case 'F':
7597
7.07k
  case 'f': goto yy229;
7598
37.9k
  case 'J':
7599
73.3k
  case 'j': goto yy230;
7600
6.56k
  case 'M':
7601
20.3k
  case 'm': goto yy231;
7602
7.62k
  case 'N':
7603
10.1k
  case 'n': goto yy232;
7604
14.2k
  case 'O':
7605
17.7k
  case 'o': goto yy233;
7606
12.3k
  case 'S':
7607
19.8k
  case 's': goto yy234;
7608
77.3k
  default:  goto yy59;
7609
261k
  }
7610
1.20M
yy281:
7611
1.20M
  YYDEBUG(281, *YYCURSOR);
7612
1.20M
  yyaccept = 4;
7613
1.20M
  yych = *(YYMARKER = ++YYCURSOR);
7614
1.20M
  if (yych <= '/') {
7615
126k
    if (yych == '.') goto yy453;
7616
108k
    goto yy177;
7617
1.07M
  } else {
7618
1.07M
    if (yych <= '9') goto yy455;
7619
252k
    if (yych <= ':') goto yy453;
7620
164k
    goto yy177;
7621
252k
  }
7622
154k
yy282:
7623
154k
  YYDEBUG(282, *YYCURSOR);
7624
154k
  yyaccept = 4;
7625
154k
  yych = *(YYMARKER = ++YYCURSOR);
7626
154k
  if (yych == '.') goto yy453;
7627
148k
  if (yych == ':') goto yy453;
7628
120k
  goto yy177;
7629
120k
yy283:
7630
59.6k
  YYDEBUG(283, *YYCURSOR);
7631
59.6k
  yych = *++YYCURSOR;
7632
59.6k
  if (yych == 'M') goto yy284;
7633
51.7k
  if (yych != 'm') goto yy59;
7634
190k
yy284:
7635
190k
  YYDEBUG(284, *YYCURSOR);
7636
190k
  yych = *++YYCURSOR;
7637
190k
  if (yych <= 0x1F) {
7638
56.4k
    if (yych <= 0x00) goto yy456;
7639
35.2k
    if (yych == '\t') goto yy456;
7640
22.3k
    goto yy59;
7641
133k
  } else {
7642
133k
    if (yych <= ' ') goto yy456;
7643
123k
    if (yych == '.') goto yy458;
7644
78.1k
    goto yy59;
7645
123k
  }
7646
338k
yy285:
7647
338k
  YYDEBUG(285, *YYCURSOR);
7648
338k
  ++YYCURSOR;
7649
338k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
7650
338k
  yych = *YYCURSOR;
7651
338k
  if (yych <= '`') {
7652
175k
    if (yych <= 'M') {
7653
118k
      if (yych <= 'E') {
7654
61.0k
        if (yych <= 'A') {
7655
55.1k
          if (yych <= '@') goto yy59;
7656
9.88k
          goto yy106;
7657
55.1k
        } else {
7658
5.90k
          if (yych == 'D') goto yy198;
7659
3.89k
          goto yy59;
7660
5.90k
        }
7661
61.0k
      } else {
7662
57.1k
        if (yych <= 'G') {
7663
40.1k
          if (yych <= 'F') goto yy199;
7664
31.5k
          goto yy59;
7665
40.1k
        } else {
7666
17.0k
          if (yych <= 'H') goto yy79;
7667
12.9k
          if (yych <= 'L') goto yy59;
7668
8.22k
          goto yy200;
7669
12.9k
        }
7670
57.1k
      }
7671
118k
    } else {
7672
57.5k
      if (yych <= 'T') {
7673
30.1k
        if (yych <= 'P') {
7674
14.7k
          if (yych <= 'O') goto yy59;
7675
8.70k
          goto yy106;
7676
15.4k
        } else {
7677
15.4k
          if (yych <= 'R') goto yy59;
7678
11.8k
          if (yych <= 'S') goto yy201;
7679
7.05k
          goto yy87;
7680
11.8k
        }
7681
30.1k
      } else {
7682
27.3k
        if (yych <= 'W') {
7683
14.5k
          if (yych <= 'U') goto yy88;
7684
11.2k
          if (yych <= 'V') goto yy59;
7685
4.21k
          goto yy90;
7686
12.8k
        } else {
7687
12.8k
          if (yych == 'Y') goto yy92;
7688
8.87k
          goto yy59;
7689
12.8k
        }
7690
27.3k
      }
7691
57.5k
    }
7692
175k
  } else {
7693
162k
    if (yych <= 'p') {
7694
67.6k
      if (yych <= 'f') {
7695
37.5k
        if (yych <= 'c') {
7696
18.8k
          if (yych <= 'a') goto yy106;
7697
1.53k
          goto yy59;
7698
18.8k
        } else {
7699
18.6k
          if (yych <= 'd') goto yy198;
7700
13.8k
          if (yych <= 'e') goto yy59;
7701
7.25k
          goto yy199;
7702
13.8k
        }
7703
37.5k
      } else {
7704
30.0k
        if (yych <= 'l') {
7705
10.1k
          if (yych == 'h') goto yy79;
7706
3.98k
          goto yy59;
7707
19.9k
        } else {
7708
19.9k
          if (yych <= 'm') goto yy200;
7709
13.5k
          if (yych <= 'o') goto yy59;
7710
8.23k
          goto yy106;
7711
13.5k
        }
7712
30.0k
      }
7713
95.2k
    } else {
7714
95.2k
      if (yych <= 'v') {
7715
19.4k
        if (yych <= 's') {
7716
7.21k
          if (yych <= 'r') goto yy59;
7717
4.43k
          goto yy201;
7718
12.2k
        } else {
7719
12.2k
          if (yych <= 't') goto yy87;
7720
4.35k
          if (yych <= 'u') goto yy88;
7721
3.38k
          goto yy59;
7722
4.35k
        }
7723
75.7k
      } else {
7724
75.7k
        if (yych <= 'y') {
7725
19.4k
          if (yych <= 'w') goto yy90;
7726
16.2k
          if (yych <= 'x') goto yy59;
7727
10.3k
          goto yy92;
7728
56.3k
        } else {
7729
56.3k
          if (yych == 0xC2) goto yy107;
7730
21.1k
          goto yy59;
7731
56.3k
        }
7732
75.7k
      }
7733
95.2k
    }
7734
162k
  }
7735
271k
yy286:
7736
271k
  YYDEBUG(286, *YYCURSOR);
7737
271k
  ++YYCURSOR;
7738
271k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
7739
271k
  yych = *YYCURSOR;
7740
271k
  if (yych == 0xAF) goto yy459;
7741
61.4k
  goto yy59;
7742
68.8k
yy287:
7743
68.8k
  YYDEBUG(287, *YYCURSOR);
7744
68.8k
  yych = *++YYCURSOR;
7745
68.8k
  if (yych <= '/') goto yy207;
7746
59.0k
  if (yych <= '0') goto yy208;
7747
40.1k
  if (yych <= '1') goto yy209;
7748
30.9k
  if (yych <= '9') goto yy210;
7749
17.0k
  goto yy207;
7750
848k
yy288:
7751
848k
  YYDEBUG(288, *YYCURSOR);
7752
848k
  yych = *++YYCURSOR;
7753
848k
  switch (yych) {
7754
158k
  case '0': goto yy460;
7755
84.7k
  case '1': goto yy461;
7756
41.9k
  case '2':
7757
69.3k
  case '3':
7758
95.1k
  case '4':
7759
109k
  case '5':
7760
123k
  case '6':
7761
133k
  case '7':
7762
143k
  case '8':
7763
153k
  case '9': goto yy462;
7764
36.6k
  case 'A':
7765
42.5k
  case 'a': goto yy463;
7766
6.73k
  case 'D':
7767
18.0k
  case 'd': goto yy464;
7768
19.1k
  case 'F':
7769
34.8k
  case 'f': goto yy465;
7770
36.7k
  case 'J':
7771
58.0k
  case 'j': goto yy466;
7772
21.3k
  case 'M':
7773
41.9k
  case 'm': goto yy467;
7774
18.0k
  case 'N':
7775
26.6k
  case 'n': goto yy468;
7776
12.2k
  case 'O':
7777
20.6k
  case 'o': goto yy469;
7778
19.3k
  case 'S':
7779
52.4k
  case 's': goto yy470;
7780
155k
  default:  goto yy59;
7781
848k
  }
7782
78.1k
yy289:
7783
78.1k
  YYDEBUG(289, *YYCURSOR);
7784
78.1k
  yych = *++YYCURSOR;
7785
78.1k
  if (yych <= '/') goto yy290;
7786
62.2k
  if (yych <= '9') goto yy471;
7787
78.1k
yy290:
7788
78.1k
  YYDEBUG(290, *YYCURSOR);
7789
78.1k
#line 1247 "ext/date/lib/parse_date.re"
7790
78.1k
  {
7791
78.1k
    timelib_sll i;
7792
78.1k
    timelib_ull us;
7793
78.1k
    const char *ptr_before;
7794
78.1k
    bool is_negative;
7795
7796
78.1k
    TIMELIB_INIT;
7797
78.1k
    TIMELIB_HAVE_RELATIVE();
7798
78.1k
    TIMELIB_UNHAVE_DATE();
7799
78.1k
    TIMELIB_UNHAVE_TIME();
7800
78.1k
    TIMELIB_HAVE_TZ();
7801
7802
217
    is_negative = *(ptr + 1) == '-';
7803
7804
217
    i = timelib_get_signed_nr(s, &ptr, 24);
7805
7806
217
    ptr_before = ptr;
7807
217
    us = timelib_get_signed_nr(s, &ptr, 6);
7808
217
    us = us * pow(10, 7 - (ptr - ptr_before));
7809
217
    if (is_negative) {
7810
9
      us *= -1;
7811
9
    }
7812
7813
217
    s->time->y = 1970;
7814
217
    s->time->m = 1;
7815
217
    s->time->d = 1;
7816
217
    s->time->h = s->time->i = s->time->s = 0;
7817
217
    s->time->us = 0;
7818
217
    s->time->relative.s += i;
7819
217
    s->time->relative.us = us;
7820
217
    s->time->is_localtime = 1;
7821
217
    s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
7822
217
    s->time->z = 0;
7823
217
    s->time->dst = 0;
7824
7825
217
    TIMELIB_DEINIT;
7826
217
    return TIMELIB_RELATIVE;
7827
78.1k
  }
7828
0
#line 7829 "ext/date/lib/parse_date.c"
7829
37.2M
yy291:
7830
37.2M
  YYDEBUG(291, *YYCURSOR);
7831
37.2M
  yych = *++YYCURSOR;
7832
37.2M
  if (yych <= '@') {
7833
10.9M
    if (yych == ')') goto yy115;
7834
10.6M
    goto yy20;
7835
26.3M
  } else {
7836
26.3M
    if (yych <= 'Z') goto yy472;
7837
18.9M
    if (yych <= '`') goto yy20;
7838
17.6M
    if (yych <= 'z') goto yy472;
7839
2.45M
    goto yy20;
7840
17.6M
  }
7841
27.1k
yy292:
7842
27.1k
  YYDEBUG(292, *YYCURSOR);
7843
27.1k
  yych = *++YYCURSOR;
7844
27.1k
  if (yych <= '@') {
7845
12.1k
    if (yych == ')') goto yy115;
7846
14.9k
  } else {
7847
14.9k
    if (yych <= 'Z') goto yy472;
7848
10.3k
    if (yych <= '`') goto yy293;
7849
6.76k
    if (yych <= 'z') goto yy472;
7850
6.76k
  }
7851
75.6k
yy293:
7852
75.6k
  YYDEBUG(293, *YYCURSOR);
7853
75.6k
#line 1809 "ext/date/lib/parse_date.re"
7854
75.6k
  {
7855
75.6k
    DEBUG_OUTPUT("ago");
7856
75.6k
    TIMELIB_INIT;
7857
75.6k
    s->time->relative.y = 0 - s->time->relative.y;
7858
75.6k
    s->time->relative.m = 0 - s->time->relative.m;
7859
75.6k
    s->time->relative.d = 0 - s->time->relative.d;
7860
75.6k
    s->time->relative.h = 0 - s->time->relative.h;
7861
75.6k
    s->time->relative.i = 0 - s->time->relative.i;
7862
75.6k
    s->time->relative.s = 0 - s->time->relative.s;
7863
75.6k
    s->time->relative.weekday = 0 - s->time->relative.weekday;
7864
75.6k
    if (s->time->relative.weekday == 0) {
7865
4.54k
      s->time->relative.weekday = -7;
7866
4.54k
    }
7867
75.6k
    if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) {
7868
8.88k
      s->time->relative.special.amount = 0 - s->time->relative.special.amount;
7869
8.88k
    }
7870
75.6k
    TIMELIB_DEINIT;
7871
75.6k
    return TIMELIB_AGO;
7872
27.1k
  }
7873
0
#line 7874 "ext/date/lib/parse_date.c"
7874
115k
yy294:
7875
115k
  YYDEBUG(294, *YYCURSOR);
7876
115k
  yyaccept = 7;
7877
115k
  yych = *(YYMARKER = ++YYCURSOR);
7878
115k
  if (yych <= '/') {
7879
44.6k
    if (yych <= '(') {
7880
13.3k
      if (yych <= '\t') {
7881
5.28k
        if (yych >= '\t') goto yy142;
7882
8.03k
      } else {
7883
8.03k
        if (yych == ' ') goto yy142;
7884
8.03k
      }
7885
31.3k
    } else {
7886
31.3k
      if (yych <= ',') {
7887
10.0k
        if (yych <= ')') goto yy115;
7888
21.3k
      } else {
7889
21.3k
        if (yych <= '-') goto yy473;
7890
5.49k
        if (yych <= '.') goto yy142;
7891
5.49k
      }
7892
31.3k
    }
7893
70.4k
  } else {
7894
70.4k
    if (yych <= 'Z') {
7895
25.5k
      if (yych <= '@') {
7896
9.26k
        if (yych <= '9') goto yy142;
7897
16.2k
      } else {
7898
16.2k
        if (yych == 'I') goto yy474;
7899
6.87k
        goto yy472;
7900
16.2k
      }
7901
44.9k
    } else {
7902
44.9k
      if (yych <= 'h') {
7903
8.65k
        if (yych >= 'a') goto yy472;
7904
36.3k
      } else {
7905
36.3k
        if (yych <= 'i') goto yy474;
7906
13.8k
        if (yych <= 'z') goto yy472;
7907
13.8k
      }
7908
44.9k
    }
7909
70.4k
  }
7910
1.86M
yy295:
7911
1.86M
  YYDEBUG(295, *YYCURSOR);
7912
1.86M
#line 1889 "ext/date/lib/parse_date.re"
7913
1.86M
  {
7914
1.86M
    DEBUG_OUTPUT("monthtext");
7915
1.86M
    TIMELIB_INIT;
7916
1.86M
    TIMELIB_HAVE_DATE();
7917
156k
    s->time->m = timelib_lookup_month(&ptr);
7918
156k
    TIMELIB_DEINIT;
7919
156k
    return TIMELIB_DATE_TEXT;
7920
1.86M
  }
7921
0
#line 7922 "ext/date/lib/parse_date.c"
7922
156k
yy296:
7923
156k
  YYDEBUG(296, *YYCURSOR);
7924
156k
  yyaccept = 7;
7925
156k
  yych = *(YYMARKER = ++YYCURSOR);
7926
156k
  if (yych <= '/') {
7927
54.6k
    if (yych <= '(') {
7928
17.3k
      if (yych <= '\t') {
7929
9.13k
        if (yych <= 0x08) goto yy295;
7930
1.62k
        goto yy142;
7931
9.13k
      } else {
7932
8.20k
        if (yych == ' ') goto yy142;
7933
5.21k
        goto yy295;
7934
8.20k
      }
7935
37.3k
    } else {
7936
37.3k
      if (yych <= ',') {
7937
3.17k
        if (yych <= ')') goto yy115;
7938
2.19k
        goto yy295;
7939
34.1k
      } else {
7940
34.1k
        if (yych <= '-') goto yy473;
7941
5.04k
        if (yych <= '.') goto yy142;
7942
3.45k
        goto yy295;
7943
5.04k
      }
7944
37.3k
    }
7945
101k
  } else {
7946
101k
    if (yych <= 'Z') {
7947
37.7k
      if (yych <= '@') {
7948
14.7k
        if (yych <= '9') goto yy142;
7949
4.00k
        goto yy295;
7950
22.9k
      } else {
7951
22.9k
        if (yych == 'U') goto yy475;
7952
3.27k
        goto yy472;
7953
22.9k
      }
7954
63.6k
    } else {
7955
63.6k
      if (yych <= 't') {
7956
7.41k
        if (yych <= '`') goto yy295;
7957
5.55k
        goto yy472;
7958
56.2k
      } else {
7959
56.2k
        if (yych <= 'u') goto yy475;
7960
13.3k
        if (yych <= 'z') goto yy472;
7961
8.20k
        goto yy295;
7962
13.3k
      }
7963
63.6k
    }
7964
101k
  }
7965
2.06M
yy297:
7966
2.06M
  YYDEBUG(297, *YYCURSOR);
7967
2.06M
  ++YYCURSOR;
7968
2.06M
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
7969
2.06M
  yych = *YYCURSOR;
7970
2.06M
  if (yybm[0+yych] & 64) {
7971
934k
    goto yy476;
7972
934k
  }
7973
1.12M
  goto yy59;
7974
6.30M
yy298:
7975
6.30M
  YYDEBUG(298, *YYCURSOR);
7976
6.30M
  yyaccept = 2;
7977
6.30M
  yych = *(YYMARKER = ++YYCURSOR);
7978
6.30M
  if (yych <= '/') {
7979
995k
    if (yych <= ',') {
7980
855k
      if (yych == ')') goto yy115;
7981
811k
      goto yy20;
7982
855k
    } else {
7983
139k
      if (yych == '.') goto yy20;
7984
108k
      goto yy297;
7985
139k
    }
7986
5.30M
  } else {
7987
5.30M
    if (yych <= '^') {
7988
1.20M
      if (yych <= '@') goto yy20;
7989
709k
      if (yych <= 'Z') goto yy472;
7990
86.0k
      goto yy20;
7991
4.10M
    } else {
7992
4.10M
      if (yych <= '_') goto yy297;
7993
4.05M
      if (yych <= '`') goto yy20;
7994
3.97M
      if (yych <= 'z') goto yy478;
7995
327k
      goto yy20;
7996
3.97M
    }
7997
5.30M
  }
7998
71.8k
yy299:
7999
71.8k
  YYDEBUG(299, *YYCURSOR);
8000
71.8k
  yyaccept = 8;
8001
71.8k
  yych = *(YYMARKER = ++YYCURSOR);
8002
71.8k
  if (yych <= '/') {
8003
19.0k
    if (yych <= ',') {
8004
11.9k
      if (yych == ')') goto yy115;
8005
9.66k
      goto yy293;
8006
11.9k
    } else {
8007
7.02k
      if (yych == '.') goto yy293;
8008
3.22k
      goto yy297;
8009
7.02k
    }
8010
52.8k
  } else {
8011
52.8k
    if (yych <= '^') {
8012
14.3k
      if (yych <= '@') goto yy293;
8013
8.03k
      if (yych <= 'Z') goto yy472;
8014
4.82k
      goto yy293;
8015
38.4k
    } else {
8016
38.4k
      if (yych <= '_') goto yy297;
8017
16.5k
      if (yych <= '`') goto yy293;
8018
12.0k
      if (yych <= 'z') goto yy478;
8019
4.36k
      goto yy293;
8020
12.0k
    }
8021
52.8k
  }
8022
205k
yy300:
8023
205k
  YYDEBUG(300, *YYCURSOR);
8024
205k
  yyaccept = 7;
8025
205k
  yych = *(YYMARKER = ++YYCURSOR);
8026
205k
  if (yych <= '9') {
8027
50.4k
    if (yych <= '(') {
8028
16.5k
      if (yych <= '\t') {
8029
10.1k
        if (yych <= 0x08) goto yy295;
8030
4.57k
        goto yy142;
8031
10.1k
      } else {
8032
6.38k
        if (yych == ' ') goto yy142;
8033
3.63k
        goto yy295;
8034
6.38k
      }
8035
33.8k
    } else {
8036
33.8k
      if (yych <= '-') {
8037
19.9k
        if (yych <= ')') goto yy115;
8038
17.3k
        if (yych <= ',') goto yy295;
8039
15.0k
        goto yy479;
8040
17.3k
      } else {
8041
13.8k
        if (yych == '/') goto yy297;
8042
11.5k
        goto yy142;
8043
13.8k
      }
8044
33.8k
    }
8045
155k
  } else {
8046
155k
    if (yych <= '^') {
8047
26.6k
      if (yych <= 'H') {
8048
7.39k
        if (yych <= '@') goto yy295;
8049
2.55k
        goto yy472;
8050
19.2k
      } else {
8051
19.2k
        if (yych <= 'I') goto yy474;
8052
3.64k
        if (yych <= 'Z') goto yy472;
8053
759
        goto yy295;
8054
3.64k
      }
8055
128k
    } else {
8056
128k
      if (yych <= 'h') {
8057
12.3k
        if (yych <= '_') goto yy297;
8058
11.1k
        if (yych <= '`') goto yy295;
8059
8.10k
        goto yy478;
8060
115k
      } else {
8061
115k
        if (yych <= 'i') goto yy480;
8062
16.1k
        if (yych <= 'z') goto yy478;
8063
4.88k
        goto yy295;
8064
16.1k
      }
8065
128k
    }
8066
155k
  }
8067
261k
yy301:
8068
261k
  YYDEBUG(301, *YYCURSOR);
8069
261k
  yyaccept = 7;
8070
261k
  yych = *(YYMARKER = ++YYCURSOR);
8071
261k
  if (yych <= '9') {
8072
37.9k
    if (yych <= '(') {
8073
10.1k
      if (yych <= '\t') {
8074
6.07k
        if (yych <= 0x08) goto yy295;
8075
3.14k
        goto yy142;
8076
6.07k
      } else {
8077
4.08k
        if (yych == ' ') goto yy142;
8078
3.44k
        goto yy295;
8079
4.08k
      }
8080
27.7k
    } else {
8081
27.7k
      if (yych <= '-') {
8082
10.3k
        if (yych <= ')') goto yy115;
8083
7.73k
        if (yych <= ',') goto yy295;
8084
6.51k
        goto yy479;
8085
17.4k
      } else {
8086
17.4k
        if (yych == '/') goto yy297;
8087
11.3k
        goto yy142;
8088
17.4k
      }
8089
27.7k
    }
8090
223k
  } else {
8091
223k
    if (yych <= '^') {
8092
44.2k
      if (yych <= 'T') {
8093
15.8k
        if (yych <= '@') goto yy295;
8094
2.99k
        goto yy472;
8095
28.3k
      } else {
8096
28.3k
        if (yych <= 'U') goto yy475;
8097
3.46k
        if (yych <= 'Z') goto yy472;
8098
1.59k
        goto yy295;
8099
3.46k
      }
8100
178k
    } else {
8101
178k
      if (yych <= 't') {
8102
15.6k
        if (yych <= '_') goto yy297;
8103
12.5k
        if (yych <= '`') goto yy295;
8104
7.72k
        goto yy478;
8105
163k
      } else {
8106
163k
        if (yych <= 'u') goto yy481;
8107
10.3k
        if (yych <= 'z') goto yy478;
8108
4.70k
        goto yy295;
8109
10.3k
      }
8110
178k
    }
8111
223k
  }
8112
190k
yy302:
8113
190k
  YYDEBUG(302, *YYCURSOR);
8114
190k
  yych = *++YYCURSOR;
8115
190k
  if (yych <= 'K') {
8116
47.0k
    if (yych <= ')') {
8117
16.0k
      if (yych <= '(') goto yy20;
8118
3.49k
      goto yy115;
8119
31.0k
    } else {
8120
31.0k
      if (yych <= '@') goto yy20;
8121
22.0k
      if (yych <= 'J') goto yy472;
8122
16.3k
      goto yy482;
8123
22.0k
    }
8124
143k
  } else {
8125
143k
    if (yych <= 'j') {
8126
18.4k
      if (yych <= 'Z') goto yy472;
8127
7.23k
      if (yych <= '`') goto yy20;
8128
5.52k
      goto yy472;
8129
124k
    } else {
8130
124k
      if (yych <= 'k') goto yy482;
8131
9.75k
      if (yych <= 'z') goto yy472;
8132
6.01k
      goto yy20;
8133
9.75k
    }
8134
143k
  }
8135
139k
yy303:
8136
139k
  YYDEBUG(303, *YYCURSOR);
8137
139k
  yyaccept = 2;
8138
139k
  yych = *(YYMARKER = ++YYCURSOR);
8139
139k
  if (yych <= 'J') {
8140
22.8k
    if (yych <= '-') {
8141
10.9k
      if (yych == ')') goto yy115;
8142
9.45k
      if (yych <= ',') goto yy20;
8143
1.38k
      goto yy297;
8144
11.8k
    } else {
8145
11.8k
      if (yych == '/') goto yy297;
8146
5.78k
      if (yych <= '@') goto yy20;
8147
2.77k
      goto yy472;
8148
5.78k
    }
8149
117k
  } else {
8150
117k
    if (yych <= '_') {
8151
11.1k
      if (yych <= 'K') goto yy482;
8152
8.28k
      if (yych <= 'Z') goto yy472;
8153
5.73k
      if (yych <= '^') goto yy20;
8154
1.44k
      goto yy297;
8155
106k
    } else {
8156
106k
      if (yych <= 'j') {
8157
5.26k
        if (yych <= '`') goto yy20;
8158
3.54k
        goto yy478;
8159
100k
      } else {
8160
100k
        if (yych <= 'k') goto yy483;
8161
9.95k
        if (yych <= 'z') goto yy478;
8162
6.19k
        goto yy20;
8163
9.95k
      }
8164
106k
    }
8165
117k
  }
8166
221k
yy304:
8167
221k
  YYDEBUG(304, *YYCURSOR);
8168
221k
  yyaccept = 7;
8169
221k
  yych = *(YYMARKER = ++YYCURSOR);
8170
221k
  if (yych <= '/') {
8171
78.0k
    if (yych <= '(') {
8172
24.1k
      if (yych <= '\t') {
8173
7.52k
        if (yych <= 0x08) goto yy295;
8174
2.24k
        goto yy142;
8175
16.5k
      } else {
8176
16.5k
        if (yych == ' ') goto yy142;
8177
8.71k
        goto yy295;
8178
16.5k
      }
8179
53.9k
    } else {
8180
53.9k
      if (yych <= ',') {
8181
9.08k
        if (yych <= ')') goto yy115;
8182
6.04k
        goto yy295;
8183
44.8k
      } else {
8184
44.8k
        if (yych <= '-') goto yy473;
8185
9.00k
        if (yych <= '.') goto yy142;
8186
4.11k
        goto yy295;
8187
9.00k
      }
8188
53.9k
    }
8189
142k
  } else {
8190
142k
    if (yych <= 'Z') {
8191
74.3k
      if (yych <= '@') {
8192
30.7k
        if (yych <= '9') goto yy142;
8193
6.61k
        goto yy295;
8194
43.5k
      } else {
8195
43.5k
        if (yych == 'E') goto yy484;
8196
13.0k
        goto yy472;
8197
43.5k
      }
8198
74.3k
    } else {
8199
68.5k
      if (yych <= 'd') {
8200
12.2k
        if (yych <= '`') goto yy295;
8201
8.13k
        goto yy472;
8202
56.3k
      } else {
8203
56.3k
        if (yych <= 'e') goto yy484;
8204
26.7k
        if (yych <= 'z') goto yy472;
8205
8.25k
        goto yy295;
8206
26.7k
      }
8207
68.5k
    }
8208
142k
  }
8209
302k
yy305:
8210
302k
  YYDEBUG(305, *YYCURSOR);
8211
302k
  yyaccept = 7;
8212
302k
  yych = *(YYMARKER = ++YYCURSOR);
8213
302k
  if (yych <= '9') {
8214
99.3k
    if (yych <= '(') {
8215
19.7k
      if (yych <= '\t') {
8216
12.2k
        if (yych <= 0x08) goto yy295;
8217
5.55k
        goto yy142;
8218
12.2k
      } else {
8219
7.53k
        if (yych == ' ') goto yy142;
8220
4.98k
        goto yy295;
8221
7.53k
      }
8222
79.6k
    } else {
8223
79.6k
      if (yych <= '-') {
8224
64.1k
        if (yych <= ')') goto yy115;
8225
54.8k
        if (yych <= ',') goto yy295;
8226
51.8k
        goto yy479;
8227
54.8k
      } else {
8228
15.4k
        if (yych == '/') goto yy297;
8229
13.4k
        goto yy142;
8230
15.4k
      }
8231
79.6k
    }
8232
203k
  } else {
8233
203k
    if (yych <= '^') {
8234
30.0k
      if (yych <= 'D') {
8235
6.11k
        if (yych <= '@') goto yy295;
8236
2.83k
        goto yy472;
8237
23.8k
      } else {
8238
23.8k
        if (yych <= 'E') goto yy484;
8239
8.87k
        if (yych <= 'Z') goto yy472;
8240
6.33k
        goto yy295;
8241
8.87k
      }
8242
173k
    } else {
8243
173k
      if (yych <= 'd') {
8244
11.4k
        if (yych <= '_') goto yy297;
8245
11.1k
        if (yych <= '`') goto yy295;
8246
6.62k
        goto yy478;
8247
161k
      } else {
8248
161k
        if (yych <= 'e') goto yy485;
8249
10.7k
        if (yych <= 'z') goto yy478;
8250
5.49k
        goto yy295;
8251
10.7k
      }
8252
173k
    }
8253
203k
  }
8254
254k
yy306:
8255
254k
  YYDEBUG(306, *YYCURSOR);
8256
254k
  yych = *++YYCURSOR;
8257
254k
  if (yych <= 'H') {
8258
66.7k
    if (yych <= ')') {
8259
10.7k
      if (yych <= '(') goto yy20;
8260
2.58k
      goto yy115;
8261
55.9k
    } else {
8262
55.9k
      if (yych <= '@') goto yy20;
8263
44.1k
      if (yych <= 'G') goto yy472;
8264
38.7k
      goto yy486;
8265
44.1k
    }
8266
187k
  } else {
8267
187k
    if (yych <= 'g') {
8268
10.4k
      if (yych <= 'Z') goto yy472;
8269
6.16k
      if (yych <= '`') goto yy20;
8270
2.81k
      goto yy472;
8271
176k
    } else {
8272
176k
      if (yych <= 'h') goto yy486;
8273
20.2k
      if (yych <= 'z') goto yy472;
8274
9.58k
      goto yy20;
8275
20.2k
    }
8276
187k
  }
8277
114k
yy307:
8278
114k
  YYDEBUG(307, *YYCURSOR);
8279
114k
  yych = *++YYCURSOR;
8280
114k
  if (yych <= 'V') {
8281
40.7k
    if (yych <= ')') {
8282
8.06k
      if (yych <= '(') goto yy20;
8283
2.30k
      goto yy115;
8284
32.6k
    } else {
8285
32.6k
      if (yych <= '@') goto yy20;
8286
26.4k
      if (yych <= 'U') goto yy472;
8287
18.5k
      goto yy487;
8288
26.4k
    }
8289
73.4k
  } else {
8290
73.4k
    if (yych <= 'u') {
8291
13.1k
      if (yych <= 'Z') goto yy472;
8292
10.5k
      if (yych <= '`') goto yy20;
8293
6.06k
      goto yy472;
8294
60.3k
    } else {
8295
60.3k
      if (yych <= 'v') goto yy487;
8296
8.33k
      if (yych <= 'z') goto yy472;
8297
4.20k
      goto yy20;
8298
8.33k
    }
8299
73.4k
  }
8300
322k
yy308:
8301
322k
  YYDEBUG(308, *YYCURSOR);
8302
322k
  yyaccept = 2;
8303
322k
  yych = *(YYMARKER = ++YYCURSOR);
8304
322k
  if (yych <= 'G') {
8305
31.9k
    if (yych <= '-') {
8306
19.1k
      if (yych == ')') goto yy115;
8307
15.4k
      if (yych <= ',') goto yy20;
8308
2.23k
      goto yy297;
8309
15.4k
    } else {
8310
12.7k
      if (yych == '/') goto yy297;
8311
10.1k
      if (yych <= '@') goto yy20;
8312
2.26k
      goto yy472;
8313
10.1k
    }
8314
290k
  } else {
8315
290k
    if (yych <= '_') {
8316
55.2k
      if (yych <= 'H') goto yy486;
8317
13.4k
      if (yych <= 'Z') goto yy472;
8318
10.5k
      if (yych <= '^') goto yy20;
8319
8.49k
      goto yy297;
8320
234k
    } else {
8321
234k
      if (yych <= 'g') {
8322
7.33k
        if (yych <= '`') goto yy20;
8323
4.74k
        goto yy478;
8324
227k
      } else {
8325
227k
        if (yych <= 'h') goto yy488;
8326
14.7k
        if (yych <= 'z') goto yy478;
8327
7.65k
        goto yy20;
8328
14.7k
      }
8329
234k
    }
8330
290k
  }
8331
233k
yy309:
8332
233k
  YYDEBUG(309, *YYCURSOR);
8333
233k
  yyaccept = 2;
8334
233k
  yych = *(YYMARKER = ++YYCURSOR);
8335
233k
  if (yych <= 'U') {
8336
22.8k
    if (yych <= '-') {
8337
11.7k
      if (yych == ')') goto yy115;
8338
7.80k
      if (yych <= ',') goto yy20;
8339
1.58k
      goto yy297;
8340
11.1k
    } else {
8341
11.1k
      if (yych == '/') goto yy297;
8342
9.91k
      if (yych <= '@') goto yy20;
8343
3.84k
      goto yy472;
8344
9.91k
    }
8345
210k
  } else {
8346
210k
    if (yych <= '_') {
8347
16.1k
      if (yych <= 'V') goto yy487;
8348
4.06k
      if (yych <= 'Z') goto yy472;
8349
3.72k
      if (yych <= '^') goto yy20;
8350
1.75k
      goto yy297;
8351
194k
    } else {
8352
194k
      if (yych <= 'u') {
8353
16.9k
        if (yych <= '`') goto yy20;
8354
14.5k
        goto yy478;
8355
177k
      } else {
8356
177k
        if (yych <= 'v') goto yy489;
8357
11.2k
        if (yych <= 'z') goto yy478;
8358
8.70k
        goto yy20;
8359
11.2k
      }
8360
194k
    }
8361
210k
  }
8362
116k
yy310:
8363
116k
  YYDEBUG(310, *YYCURSOR);
8364
116k
  yyaccept = 7;
8365
116k
  yych = *(YYMARKER = ++YYCURSOR);
8366
116k
  if (yych <= '/') {
8367
35.8k
    if (yych <= '(') {
8368
18.6k
      if (yych <= '\t') {
8369
9.89k
        if (yych <= 0x08) goto yy295;
8370
4.28k
        goto yy142;
8371
9.89k
      } else {
8372
8.74k
        if (yych == ' ') goto yy142;
8373
5.33k
        goto yy295;
8374
8.74k
      }
8375
18.6k
    } else {
8376
17.1k
      if (yych <= ',') {
8377
3.62k
        if (yych <= ')') goto yy115;
8378
1.90k
        goto yy295;
8379
13.5k
      } else {
8380
13.5k
        if (yych <= '-') goto yy473;
8381
4.98k
        if (yych <= '.') goto yy142;
8382
1.89k
        goto yy295;
8383
4.98k
      }
8384
17.1k
    }
8385
80.6k
  } else {
8386
80.6k
    if (yych <= 'Z') {
8387
28.4k
      if (yych <= '@') {
8388
11.1k
        if (yych <= '9') goto yy142;
8389
2.41k
        goto yy295;
8390
17.2k
      } else {
8391
17.2k
        if (yych == 'R') goto yy490;
8392
4.12k
        goto yy472;
8393
17.2k
      }
8394
52.2k
    } else {
8395
52.2k
      if (yych <= 'q') {
8396
13.2k
        if (yych <= '`') goto yy295;
8397
9.46k
        goto yy472;
8398
39.0k
      } else {
8399
39.0k
        if (yych <= 'r') goto yy490;
8400
8.15k
        if (yych <= 'z') goto yy472;
8401
5.58k
        goto yy295;
8402
8.15k
      }
8403
52.2k
    }
8404
80.6k
  }
8405
289k
yy311:
8406
289k
  YYDEBUG(311, *YYCURSOR);
8407
289k
  yych = *++YYCURSOR;
8408
289k
  if (yych <= 'T') {
8409
114k
    if (yych <= ')') {
8410
17.4k
      if (yych <= '(') goto yy20;
8411
3.18k
      goto yy115;
8412
97.4k
    } else {
8413
97.4k
      if (yych <= '@') goto yy20;
8414
73.4k
      if (yych <= 'S') goto yy472;
8415
60.2k
      goto yy491;
8416
73.4k
    }
8417
175k
  } else {
8418
175k
    if (yych <= 's') {
8419
48.8k
      if (yych <= 'Z') goto yy472;
8420
42.9k
      if (yych <= '`') goto yy20;
8421
29.1k
      goto yy472;
8422
126k
    } else {
8423
126k
      if (yych <= 't') goto yy491;
8424
14.3k
      if (yych <= 'z') goto yy472;
8425
8.97k
      goto yy20;
8426
14.3k
    }
8427
175k
  }
8428
188k
yy312:
8429
188k
  YYDEBUG(312, *YYCURSOR);
8430
188k
  yych = *++YYCURSOR;
8431
188k
  if (yych <= 'S') {
8432
114k
    if (yych <= ')') {
8433
5.28k
      if (yych <= '(') goto yy20;
8434
937
      goto yy115;
8435
108k
    } else {
8436
108k
      if (yych <= '@') goto yy20;
8437
101k
      if (yych <= 'R') goto yy472;
8438
97.3k
      goto yy492;
8439
101k
    }
8440
114k
  } else {
8441
74.8k
    if (yych <= 'r') {
8442
18.1k
      if (yych <= 'Z') goto yy472;
8443
16.0k
      if (yych <= '`') goto yy20;
8444
9.67k
      goto yy472;
8445
56.6k
    } else {
8446
56.6k
      if (yych <= 's') goto yy492;
8447
12.2k
      if (yych <= 'z') goto yy472;
8448
7.04k
      goto yy20;
8449
12.2k
    }
8450
74.8k
  }
8451
125k
yy313:
8452
125k
  YYDEBUG(313, *YYCURSOR);
8453
125k
  yych = *++YYCURSOR;
8454
125k
  if (yych <= 'R') {
8455
45.0k
    if (yych <= ')') {
8456
22.3k
      if (yych <= '(') goto yy20;
8457
3.02k
      goto yy115;
8458
22.7k
    } else {
8459
22.7k
      if (yych <= '@') goto yy20;
8460
15.5k
      if (yych <= 'Q') goto yy472;
8461
11.0k
      goto yy493;
8462
15.5k
    }
8463
80.5k
  } else {
8464
80.5k
    if (yych <= 'q') {
8465
18.7k
      if (yych <= 'Z') goto yy472;
8466
16.7k
      if (yych <= '`') goto yy20;
8467
11.2k
      goto yy472;
8468
61.8k
    } else {
8469
61.8k
      if (yych <= 'r') goto yy493;
8470
14.5k
      if (yych <= 'z') goto yy472;
8471
11.5k
      goto yy20;
8472
14.5k
    }
8473
80.5k
  }
8474
173k
yy314:
8475
173k
  YYDEBUG(314, *YYCURSOR);
8476
173k
  yych = *++YYCURSOR;
8477
173k
  if (yych <= 'D') {
8478
63.9k
    if (yych <= ')') {
8479
25.8k
      if (yych >= ')') goto yy115;
8480
38.1k
    } else {
8481
38.1k
      if (yych <= '@') goto yy315;
8482
27.0k
      if (yych <= 'C') goto yy472;
8483
24.7k
      goto yy494;
8484
27.0k
    }
8485
109k
  } else {
8486
109k
    if (yych <= 'c') {
8487
28.1k
      if (yych <= 'Z') goto yy472;
8488
18.5k
      if (yych >= 'a') goto yy472;
8489
81.4k
    } else {
8490
81.4k
      if (yych <= 'd') goto yy494;
8491
33.3k
      if (yych <= 'z') goto yy472;
8492
33.3k
    }
8493
109k
  }
8494
569k
yy315:
8495
569k
  YYDEBUG(315, *YYCURSOR);
8496
569k
#line 1830 "ext/date/lib/parse_date.re"
8497
569k
  {
8498
569k
    const timelib_relunit* relunit;
8499
569k
    DEBUG_OUTPUT("daytext");
8500
569k
    TIMELIB_INIT;
8501
569k
    TIMELIB_HAVE_RELATIVE();
8502
569k
    TIMELIB_HAVE_WEEKDAY_RELATIVE();
8503
569k
    TIMELIB_UNHAVE_TIME();
8504
569k
    relunit = timelib_lookup_relunit(&ptr);
8505
569k
    s->time->relative.weekday = relunit->multiplier;
8506
569k
    if (s->time->relative.weekday_behavior != 2) {
8507
550k
      s->time->relative.weekday_behavior = 1;
8508
550k
    }
8509
8510
569k
    TIMELIB_DEINIT;
8511
569k
    return TIMELIB_WEEKDAY;
8512
173k
  }
8513
0
#line 8514 "ext/date/lib/parse_date.c"
8514
154k
yy316:
8515
154k
  YYDEBUG(316, *YYCURSOR);
8516
154k
  yych = *++YYCURSOR;
8517
154k
  if (yych <= 'N') {
8518
31.9k
    if (yych <= ')') {
8519
13.6k
      if (yych <= '(') goto yy20;
8520
1.56k
      goto yy115;
8521
18.3k
    } else {
8522
18.3k
      if (yych <= '@') goto yy20;
8523
10.6k
      if (yych <= 'M') goto yy472;
8524
7.66k
      goto yy495;
8525
10.6k
    }
8526
122k
  } else {
8527
122k
    if (yych <= 'm') {
8528
48.7k
      if (yych <= 'Z') goto yy472;
8529
45.4k
      if (yych <= '`') goto yy20;
8530
38.2k
      goto yy472;
8531
73.5k
    } else {
8532
73.5k
      if (yych <= 'n') goto yy495;
8533
9.95k
      if (yych <= 'z') goto yy472;
8534
6.55k
      goto yy20;
8535
9.95k
    }
8536
122k
  }
8537
264k
yy317:
8538
264k
  YYDEBUG(317, *YYCURSOR);
8539
264k
  yyaccept = 7;
8540
264k
  yych = *(YYMARKER = ++YYCURSOR);
8541
264k
  if (yych <= '9') {
8542
58.3k
    if (yych <= '(') {
8543
14.2k
      if (yych <= '\t') {
8544
9.18k
        if (yych <= 0x08) goto yy295;
8545
4.15k
        goto yy142;
8546
9.18k
      } else {
8547
5.03k
        if (yych == ' ') goto yy142;
8548
2.95k
        goto yy295;
8549
5.03k
      }
8550
44.0k
    } else {
8551
44.0k
      if (yych <= '-') {
8552
30.4k
        if (yych <= ')') goto yy115;
8553
28.7k
        if (yych <= ',') goto yy295;
8554
24.5k
        goto yy479;
8555
28.7k
      } else {
8556
13.6k
        if (yych == '/') goto yy297;
8557
9.93k
        goto yy142;
8558
13.6k
      }
8559
44.0k
    }
8560
206k
  } else {
8561
206k
    if (yych <= '^') {
8562
29.9k
      if (yych <= 'Q') {
8563
6.82k
        if (yych <= '@') goto yy295;
8564
3.66k
        goto yy472;
8565
23.1k
      } else {
8566
23.1k
        if (yych <= 'R') goto yy490;
8567
6.60k
        if (yych <= 'Z') goto yy472;
8568
2.03k
        goto yy295;
8569
6.60k
      }
8570
176k
    } else {
8571
176k
      if (yych <= 'q') {
8572
9.73k
        if (yych <= '_') goto yy297;
8573
7.53k
        if (yych <= '`') goto yy295;
8574
5.32k
        goto yy478;
8575
166k
      } else {
8576
166k
        if (yych <= 'r') goto yy496;
8577
11.3k
        if (yych <= 'z') goto yy478;
8578
7.97k
        goto yy295;
8579
11.3k
      }
8580
176k
    }
8581
206k
  }
8582
145k
yy318:
8583
145k
  YYDEBUG(318, *YYCURSOR);
8584
145k
  yyaccept = 2;
8585
145k
  yych = *(YYMARKER = ++YYCURSOR);
8586
145k
  if (yych <= 'S') {
8587
28.6k
    if (yych <= '-') {
8588
19.1k
      if (yych == ')') goto yy115;
8589
14.9k
      if (yych <= ',') goto yy20;
8590
5.34k
      goto yy297;
8591
14.9k
    } else {
8592
9.46k
      if (yych == '/') goto yy297;
8593
8.79k
      if (yych <= '@') goto yy20;
8594
4.31k
      goto yy472;
8595
8.79k
    }
8596
117k
  } else {
8597
117k
    if (yych <= '_') {
8598
22.9k
      if (yych <= 'T') goto yy491;
8599
19.1k
      if (yych <= 'Z') goto yy472;
8600
15.4k
      if (yych <= '^') goto yy20;
8601
14.0k
      goto yy297;
8602
94.1k
    } else {
8603
94.1k
      if (yych <= 's') {
8604
15.2k
        if (yych <= '`') goto yy20;
8605
13.5k
        goto yy478;
8606
78.9k
      } else {
8607
78.9k
        if (yych <= 't') goto yy497;
8608
15.9k
        if (yych <= 'z') goto yy478;
8609
11.1k
        goto yy20;
8610
15.9k
      }
8611
94.1k
    }
8612
117k
  }
8613
186k
yy319:
8614
186k
  YYDEBUG(319, *YYCURSOR);
8615
186k
  yyaccept = 2;
8616
186k
  yych = *(YYMARKER = ++YYCURSOR);
8617
186k
  if (yych <= 'R') {
8618
35.2k
    if (yych <= '-') {
8619
19.6k
      if (yych == ')') goto yy115;
8620
12.4k
      if (yych <= ',') goto yy20;
8621
5.11k
      goto yy297;
8622
15.6k
    } else {
8623
15.6k
      if (yych == '/') goto yy297;
8624
9.58k
      if (yych <= '@') goto yy20;
8625
4.62k
      goto yy472;
8626
9.58k
    }
8627
150k
  } else {
8628
150k
    if (yych <= '_') {
8629
29.2k
      if (yych <= 'S') goto yy492;
8630
8.28k
      if (yych <= 'Z') goto yy472;
8631
6.53k
      if (yych <= '^') goto yy20;
8632
4.48k
      goto yy297;
8633
121k
    } else {
8634
121k
      if (yych <= 'r') {
8635
10.1k
        if (yych <= '`') goto yy20;
8636
8.82k
        goto yy478;
8637
111k
      } else {
8638
111k
        if (yych <= 's') goto yy498;
8639
15.3k
        if (yych <= 'z') goto yy478;
8640
8.90k
        goto yy20;
8641
15.3k
      }
8642
121k
    }
8643
150k
  }
8644
205k
yy320:
8645
205k
  YYDEBUG(320, *YYCURSOR);
8646
205k
  yyaccept = 2;
8647
205k
  yych = *(YYMARKER = ++YYCURSOR);
8648
205k
  if (yych <= 'Q') {
8649
25.4k
    if (yych <= '-') {
8650
9.46k
      if (yych == ')') goto yy115;
8651
7.62k
      if (yych <= ',') goto yy20;
8652
1.29k
      goto yy297;
8653
16.0k
    } else {
8654
16.0k
      if (yych == '/') goto yy297;
8655
10.6k
      if (yych <= '@') goto yy20;
8656
3.49k
      goto yy472;
8657
10.6k
    }
8658
179k
  } else {
8659
179k
    if (yych <= '_') {
8660
16.3k
      if (yych <= 'R') goto yy493;
8661
7.28k
      if (yych <= 'Z') goto yy472;
8662
4.26k
      if (yych <= '^') goto yy20;
8663
2.65k
      goto yy297;
8664
163k
    } else {
8665
163k
      if (yych <= 'q') {
8666
9.30k
        if (yych <= '`') goto yy20;
8667
8.32k
        goto yy478;
8668
154k
      } else {
8669
154k
        if (yych <= 'r') goto yy499;
8670
15.7k
        if (yych <= 'z') goto yy478;
8671
11.9k
        goto yy20;
8672
15.7k
      }
8673
163k
    }
8674
179k
  }
8675
226k
yy321:
8676
226k
  YYDEBUG(321, *YYCURSOR);
8677
226k
  yyaccept = 9;
8678
226k
  yych = *(YYMARKER = ++YYCURSOR);
8679
226k
  if (yych <= 'C') {
8680
33.4k
    if (yych <= '-') {
8681
14.3k
      if (yych == ')') goto yy115;
8682
12.8k
      if (yych <= ',') goto yy315;
8683
2.82k
      goto yy297;
8684
19.1k
    } else {
8685
19.1k
      if (yych == '/') goto yy297;
8686
16.0k
      if (yych <= '@') goto yy315;
8687
3.43k
      goto yy472;
8688
16.0k
    }
8689
193k
  } else {
8690
193k
    if (yych <= '_') {
8691
25.0k
      if (yych <= 'D') goto yy494;
8692
9.06k
      if (yych <= 'Z') goto yy472;
8693
4.66k
      if (yych <= '^') goto yy315;
8694
1.69k
      goto yy297;
8695
168k
    } else {
8696
168k
      if (yych <= 'c') {
8697
7.74k
        if (yych <= '`') goto yy315;
8698
4.26k
        goto yy478;
8699
160k
      } else {
8700
160k
        if (yych <= 'd') goto yy500;
8701
26.8k
        if (yych <= 'z') goto yy478;
8702
8.23k
        goto yy315;
8703
26.8k
      }
8704
168k
    }
8705
193k
  }
8706
249k
yy322:
8707
249k
  YYDEBUG(322, *YYCURSOR);
8708
249k
  yyaccept = 2;
8709
249k
  yych = *(YYMARKER = ++YYCURSOR);
8710
249k
  if (yych <= 'M') {
8711
50.6k
    if (yych <= '-') {
8712
38.5k
      if (yych == ')') goto yy115;
8713
32.2k
      if (yych <= ',') goto yy20;
8714
7.89k
      goto yy297;
8715
32.2k
    } else {
8716
12.0k
      if (yych == '/') goto yy297;
8717
10.9k
      if (yych <= '@') goto yy20;
8718
3.44k
      goto yy472;
8719
10.9k
    }
8720
198k
  } else {
8721
198k
    if (yych <= '_') {
8722
11.3k
      if (yych <= 'N') goto yy495;
8723
6.76k
      if (yych <= 'Z') goto yy472;
8724
3.77k
      if (yych <= '^') goto yy20;
8725
1.48k
      goto yy297;
8726
186k
    } else {
8727
186k
      if (yych <= 'm') {
8728
12.2k
        if (yych <= '`') goto yy20;
8729
10.7k
        goto yy478;
8730
174k
      } else {
8731
174k
        if (yych <= 'n') goto yy501;
8732
17.5k
        if (yych <= 'z') goto yy478;
8733
8.72k
        goto yy20;
8734
17.5k
      }
8735
186k
    }
8736
198k
  }
8737
227k
yy323:
8738
227k
  YYDEBUG(323, *YYCURSOR);
8739
227k
  yyaccept = 2;
8740
227k
  yych = *(YYMARKER = ++YYCURSOR);
8741
227k
  if (yych <= ',') {
8742
130k
    if (yych <= ')') {
8743
14.5k
      if (yych <= '(') goto yy20;
8744
3.23k
      goto yy115;
8745
115k
    } else {
8746
115k
      if (yych == '+') goto yy502;
8747
2.18k
      goto yy20;
8748
115k
    }
8749
130k
  } else {
8750
97.6k
    if (yych <= 'Z') {
8751
70.6k
      if (yych <= '-') goto yy502;
8752
26.7k
      if (yych <= '@') goto yy20;
8753
8.41k
      goto yy472;
8754
26.9k
    } else {
8755
26.9k
      if (yych <= '`') goto yy20;
8756
23.9k
      if (yych <= 'z') goto yy472;
8757
12.0k
      goto yy20;
8758
23.9k
    }
8759
97.6k
  }
8760
265k
yy324:
8761
265k
  YYDEBUG(324, *YYCURSOR);
8762
265k
  yyaccept = 10;
8763
265k
  yych = *(YYMARKER = ++YYCURSOR);
8764
265k
  if (yych <= '9') {
8765
218k
    if (yych <= '0') {
8766
102k
      if (yych >= '0') goto yy503;
8767
116k
    } else {
8768
116k
      if (yych <= '1') goto yy504;
8769
61.3k
      if (yych <= '2') goto yy505;
8770
27.2k
      goto yy506;
8771
61.3k
    }
8772
218k
  } else {
8773
46.7k
    if (yych <= 'T') {
8774
17.6k
      if (yych >= 'T') goto yy507;
8775
29.0k
    } else {
8776
29.0k
      if (yych == 't') goto yy507;
8777
29.0k
    }
8778
46.7k
  }
8779
873k
yy325:
8780
873k
  YYDEBUG(325, *YYCURSOR);
8781
873k
#line 1632 "ext/date/lib/parse_date.re"
8782
873k
  {
8783
873k
    int length = 0;
8784
873k
    DEBUG_OUTPUT("datetextual | datenoyear");
8785
873k
    TIMELIB_INIT;
8786
873k
    TIMELIB_HAVE_DATE();
8787
111k
    s->time->m = timelib_get_month(&ptr);
8788
111k
    s->time->d = timelib_get_nr(&ptr, 2);
8789
111k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
8790
111k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
8791
111k
    TIMELIB_DEINIT;
8792
111k
    return TIMELIB_DATE_TEXT;
8793
873k
  }
8794
0
#line 8795 "ext/date/lib/parse_date.c"
8795
1.30M
yy326:
8796
1.30M
  YYDEBUG(326, *YYCURSOR);
8797
1.30M
  yyaccept = 10;
8798
1.30M
  YYMARKER = ++YYCURSOR;
8799
1.30M
  if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21);
8800
1.30M
  yych = *YYCURSOR;
8801
1.74M
yy327:
8802
1.74M
  YYDEBUG(327, *YYCURSOR);
8803
1.74M
  if (yybm[0+yych] & 32) {
8804
184k
    goto yy326;
8805
184k
  }
8806
1.56M
  if (yych <= '2') {
8807
915k
    if (yych <= '/') goto yy325;
8808
829k
    if (yych <= '0') goto yy508;
8809
465k
    if (yych <= '1') goto yy509;
8810
188k
    goto yy510;
8811
646k
  } else {
8812
646k
    if (yych <= '9') goto yy511;
8813
282k
    if (yych == 'T') goto yy507;
8814
231k
    goto yy325;
8815
282k
  }
8816
555k
yy328:
8817
555k
  YYDEBUG(328, *YYCURSOR);
8818
555k
  yych = *++YYCURSOR;
8819
555k
  if (yych <= '9') {
8820
377k
    if (yych <= ' ') {
8821
85.2k
      if (yych <= 0x08) {
8822
35.3k
        if (yych <= 0x00) goto yy324;
8823
7.72k
        goto yy59;
8824
49.8k
      } else {
8825
49.8k
        if (yych <= '\t') goto yy326;
8826
38.3k
        if (yych <= 0x1F) goto yy59;
8827
30.3k
        goto yy326;
8828
38.3k
      }
8829
292k
    } else {
8830
292k
      if (yych <= '-') {
8831
45.0k
        if (yych == ',') goto yy326;
8832
41.9k
        goto yy59;
8833
247k
      } else {
8834
247k
        if (yych <= '.') goto yy326;
8835
141k
        if (yych <= '/') goto yy59;
8836
132k
        goto yy512;
8837
141k
      }
8838
292k
    }
8839
377k
  } else {
8840
177k
    if (yych <= 'm') {
8841
76.2k
      if (yych <= 'd') {
8842
67.4k
        if (yych <= 'c') goto yy59;
8843
3.12k
        goto yy326;
8844
67.4k
      } else {
8845
8.84k
        if (yych == 'h') goto yy326;
8846
5.94k
        goto yy59;
8847
8.84k
      }
8848
101k
    } else {
8849
101k
      if (yych <= 'r') {
8850
20.0k
        if (yych <= 'n') goto yy329;
8851
14.8k
        if (yych <= 'q') goto yy59;
8852
81.5k
      } else {
8853
81.5k
        if (yych <= 's') goto yy330;
8854
55.0k
        if (yych <= 't') goto yy331;
8855
43.2k
        goto yy59;
8856
55.0k
      }
8857
101k
    }
8858
177k
  }
8859
88.3k
yy329:
8860
88.3k
  YYDEBUG(329, *YYCURSOR);
8861
88.3k
  yyaccept = 10;
8862
88.3k
  yych = *(YYMARKER = ++YYCURSOR);
8863
88.3k
  if (yych == 'd') goto yy513;
8864
82.1k
  goto yy327;
8865
82.1k
yy330:
8866
82.0k
  YYDEBUG(330, *YYCURSOR);
8867
82.0k
  yyaccept = 10;
8868
82.0k
  yych = *(YYMARKER = ++YYCURSOR);
8869
82.0k
  if (yych == 't') goto yy513;
8870
77.3k
  goto yy327;
8871
275k
yy331:
8872
275k
  YYDEBUG(331, *YYCURSOR);
8873
275k
  yyaccept = 10;
8874
275k
  yych = *(YYMARKER = ++YYCURSOR);
8875
275k
  if (yych == 'h') goto yy513;
8876
270k
  goto yy327;
8877
270k
yy332:
8878
164k
  YYDEBUG(332, *YYCURSOR);
8879
164k
  yych = *++YYCURSOR;
8880
164k
  if (yych <= '/') goto yy59;
8881
111k
  if (yych <= '9') goto yy512;
8882
50.4k
  goto yy59;
8883
233k
yy333:
8884
233k
  YYDEBUG(333, *YYCURSOR);
8885
233k
  yyaccept = 2;
8886
233k
  yych = *(YYMARKER = ++YYCURSOR);
8887
233k
  if (yych <= ',') {
8888
51.3k
    if (yych <= 0x1F) {
8889
21.6k
      if (yych == '\t') goto yy142;
8890
14.9k
      goto yy20;
8891
29.7k
    } else {
8892
29.7k
      if (yych <= ' ') goto yy142;
8893
22.7k
      if (yych == ')') goto yy115;
8894
6.93k
      goto yy20;
8895
22.7k
    }
8896
181k
  } else {
8897
181k
    if (yych <= '@') {
8898
16.2k
      if (yych == '/') goto yy20;
8899
14.4k
      if (yych <= '9') goto yy142;
8900
5.08k
      goto yy20;
8901
165k
    } else {
8902
165k
      if (yych <= 'Z') goto yy472;
8903
23.3k
      if (yych <= '`') goto yy20;
8904
18.2k
      if (yych <= 'z') goto yy472;
8905
12.9k
      goto yy20;
8906
18.2k
    }
8907
181k
  }
8908
128k
yy334:
8909
128k
  YYDEBUG(334, *YYCURSOR);
8910
128k
  yyaccept = 7;
8911
128k
  yych = *(YYMARKER = ++YYCURSOR);
8912
128k
  if (yych <= '/') {
8913
53.5k
    if (yych <= '(') {
8914
19.0k
      if (yych <= '\t') {
8915
10.8k
        if (yych <= 0x08) goto yy295;
8916
6.18k
        goto yy142;
8917
10.8k
      } else {
8918
8.20k
        if (yych == ' ') goto yy142;
8919
6.44k
        goto yy295;
8920
8.20k
      }
8921
34.4k
    } else {
8922
34.4k
      if (yych <= ',') {
8923
4.48k
        if (yych <= ')') goto yy115;
8924
2.23k
        goto yy295;
8925
30.0k
      } else {
8926
30.0k
        if (yych <= '-') goto yy473;
8927
21.5k
        if (yych <= '.') goto yy142;
8928
20.4k
        goto yy295;
8929
21.5k
      }
8930
34.4k
    }
8931
75.4k
  } else {
8932
75.4k
    if (yych <= 'Z') {
8933
31.1k
      if (yych <= '@') {
8934
18.1k
        if (yych <= '9') goto yy142;
8935
3.14k
        goto yy295;
8936
18.1k
      } else {
8937
13.0k
        if (yych == 'U') goto yy514;
8938
2.10k
        goto yy472;
8939
13.0k
      }
8940
44.2k
    } else {
8941
44.2k
      if (yych <= 't') {
8942
12.0k
        if (yych <= '`') goto yy295;
8943
7.99k
        goto yy472;
8944
32.2k
      } else {
8945
32.2k
        if (yych <= 'u') goto yy514;
8946
6.55k
        if (yych <= 'z') goto yy472;
8947
4.62k
        goto yy295;
8948
6.55k
      }
8949
44.2k
    }
8950
75.4k
  }
8951
148k
yy335:
8952
148k
  YYDEBUG(335, *YYCURSOR);
8953
148k
  yyaccept = 7;
8954
148k
  yych = *(YYMARKER = ++YYCURSOR);
8955
148k
  if (yych <= '/') {
8956
103k
    if (yych <= '(') {
8957
15.4k
      if (yych <= '\t') {
8958
6.00k
        if (yych <= 0x08) goto yy295;
8959
2.49k
        goto yy142;
8960
9.47k
      } else {
8961
9.47k
        if (yych == ' ') goto yy142;
8962
5.38k
        goto yy295;
8963
9.47k
      }
8964
88.0k
    } else {
8965
88.0k
      if (yych <= ',') {
8966
8.41k
        if (yych <= ')') goto yy115;
8967
6.96k
        goto yy295;
8968
79.6k
      } else {
8969
79.6k
        if (yych <= '-') goto yy473;
8970
43.7k
        if (yych <= '.') goto yy142;
8971
41.7k
        goto yy295;
8972
43.7k
      }
8973
88.0k
    }
8974
103k
  } else {
8975
45.2k
    if (yych <= 'Z') {
8976
21.1k
      if (yych <= '@') {
8977
12.9k
        if (yych <= '9') goto yy142;
8978
3.96k
        goto yy295;
8979
12.9k
      } else {
8980
8.19k
        if (yych == 'Y') goto yy515;
8981
3.43k
        goto yy472;
8982
8.19k
      }
8983
24.0k
    } else {
8984
24.0k
      if (yych <= 'x') {
8985
8.91k
        if (yych <= '`') goto yy295;
8986
7.33k
        goto yy472;
8987
15.1k
      } else {
8988
15.1k
        if (yych <= 'y') goto yy515;
8989
11.8k
        if (yych <= 'z') goto yy472;
8990
9.86k
        goto yy295;
8991
11.8k
      }
8992
24.0k
    }
8993
45.2k
  }
8994
231k
yy336:
8995
231k
  YYDEBUG(336, *YYCURSOR);
8996
231k
  yyaccept = 7;
8997
231k
  yych = *(YYMARKER = ++YYCURSOR);
8998
231k
  if (yych <= '/') {
8999
165k
    if (yych <= '(') {
9000
19.7k
      if (yych <= '\t') {
9001
10.6k
        if (yych <= 0x08) goto yy295;
9002
2.27k
        goto yy142;
9003
10.6k
      } else {
9004
9.12k
        if (yych == ' ') goto yy142;
9005
5.73k
        goto yy295;
9006
9.12k
      }
9007
145k
    } else {
9008
145k
      if (yych <= ',') {
9009
5.59k
        if (yych <= ')') goto yy115;
9010
2.51k
        goto yy295;
9011
140k
      } else {
9012
140k
        if (yych <= '-') goto yy473;
9013
121k
        if (yych <= '.') goto yy142;
9014
117k
        goto yy295;
9015
121k
      }
9016
145k
    }
9017
165k
  } else {
9018
65.4k
    if (yych <= 'Z') {
9019
32.6k
      if (yych <= '@') {
9020
14.7k
        if (yych <= '9') goto yy142;
9021
3.17k
        goto yy295;
9022
17.8k
      } else {
9023
17.8k
        if (yych == 'E') goto yy515;
9024
5.90k
        goto yy472;
9025
17.8k
      }
9026
32.7k
    } else {
9027
32.7k
      if (yych <= 'd') {
9028
8.59k
        if (yych <= '`') goto yy295;
9029
5.53k
        goto yy472;
9030
24.1k
      } else {
9031
24.1k
        if (yych <= 'e') goto yy515;
9032
15.4k
        if (yych <= 'z') goto yy472;
9033
8.88k
        goto yy295;
9034
15.4k
      }
9035
32.7k
    }
9036
65.4k
  }
9037
240k
yy337:
9038
240k
  YYDEBUG(337, *YYCURSOR);
9039
240k
  yyaccept = 7;
9040
240k
  yych = *(YYMARKER = ++YYCURSOR);
9041
240k
  if (yych <= '9') {
9042
53.4k
    if (yych <= '(') {
9043
11.5k
      if (yych <= '\t') {
9044
5.94k
        if (yych <= 0x08) goto yy295;
9045
3.15k
        goto yy142;
9046
5.94k
      } else {
9047
5.59k
        if (yych == ' ') goto yy142;
9048
3.32k
        goto yy295;
9049
5.59k
      }
9050
41.9k
    } else {
9051
41.9k
      if (yych <= '-') {
9052
26.8k
        if (yych <= ')') goto yy115;
9053
24.5k
        if (yych <= ',') goto yy295;
9054
22.5k
        goto yy479;
9055
24.5k
      } else {
9056
15.0k
        if (yych == '/') goto yy297;
9057
7.80k
        goto yy142;
9058
15.0k
      }
9059
41.9k
    }
9060
187k
  } else {
9061
187k
    if (yych <= '^') {
9062
45.9k
      if (yych <= 'T') {
9063
7.45k
        if (yych <= '@') goto yy295;
9064
4.41k
        goto yy472;
9065
38.4k
      } else {
9066
38.4k
        if (yych <= 'U') goto yy514;
9067
4.80k
        if (yych <= 'Z') goto yy472;
9068
2.79k
        goto yy295;
9069
4.80k
      }
9070
141k
    } else {
9071
141k
      if (yych <= 't') {
9072
9.87k
        if (yych <= '_') goto yy297;
9073
7.87k
        if (yych <= '`') goto yy295;
9074
6.68k
        goto yy478;
9075
131k
      } else {
9076
131k
        if (yych <= 'u') goto yy516;
9077
17.3k
        if (yych <= 'z') goto yy478;
9078
12.8k
        goto yy295;
9079
17.3k
      }
9080
141k
    }
9081
187k
  }
9082
144k
yy338:
9083
144k
  YYDEBUG(338, *YYCURSOR);
9084
144k
  yyaccept = 7;
9085
144k
  yych = *(YYMARKER = ++YYCURSOR);
9086
144k
  if (yych <= '9') {
9087
51.0k
    if (yych <= '(') {
9088
16.1k
      if (yych <= '\t') {
9089
4.12k
        if (yych <= 0x08) goto yy295;
9090
974
        goto yy142;
9091
11.9k
      } else {
9092
11.9k
        if (yych == ' ') goto yy142;
9093
9.78k
        goto yy295;
9094
11.9k
      }
9095
34.9k
    } else {
9096
34.9k
      if (yych <= '-') {
9097
19.6k
        if (yych <= ')') goto yy115;
9098
17.9k
        if (yych <= ',') goto yy295;
9099
15.3k
        goto yy479;
9100
17.9k
      } else {
9101
15.2k
        if (yych == '/') goto yy297;
9102
10.8k
        goto yy142;
9103
15.2k
      }
9104
34.9k
    }
9105
93.6k
  } else {
9106
93.6k
    if (yych <= '^') {
9107
25.8k
      if (yych <= 'X') {
9108
16.6k
        if (yych <= '@') goto yy295;
9109
3.13k
        goto yy472;
9110
16.6k
      } else {
9111
9.12k
        if (yych <= 'Y') goto yy515;
9112
4.75k
        if (yych <= 'Z') goto yy472;
9113
3.11k
        goto yy295;
9114
4.75k
      }
9115
67.8k
    } else {
9116
67.8k
      if (yych <= 'x') {
9117
18.1k
        if (yych <= '_') goto yy297;
9118
7.27k
        if (yych <= '`') goto yy295;
9119
4.98k
        goto yy478;
9120
49.6k
      } else {
9121
49.6k
        if (yych <= 'y') goto yy517;
9122
17.9k
        if (yych <= 'z') goto yy478;
9123
11.3k
        goto yy295;
9124
17.9k
      }
9125
67.8k
    }
9126
93.6k
  }
9127
111k
yy339:
9128
111k
  YYDEBUG(339, *YYCURSOR);
9129
111k
  yyaccept = 7;
9130
111k
  yych = *(YYMARKER = ++YYCURSOR);
9131
111k
  if (yych <= '9') {
9132
42.8k
    if (yych <= '(') {
9133
25.5k
      if (yych <= '\t') {
9134
10.7k
        if (yych <= 0x08) goto yy295;
9135
6.28k
        goto yy142;
9136
14.8k
      } else {
9137
14.8k
        if (yych == ' ') goto yy142;
9138
11.8k
        goto yy295;
9139
14.8k
      }
9140
25.5k
    } else {
9141
17.3k
      if (yych <= '-') {
9142
7.04k
        if (yych <= ')') goto yy115;
9143
5.42k
        if (yych <= ',') goto yy295;
9144
3.19k
        goto yy479;
9145
10.2k
      } else {
9146
10.2k
        if (yych == '/') goto yy297;
9147
7.45k
        goto yy142;
9148
10.2k
      }
9149
17.3k
    }
9150
68.7k
  } else {
9151
68.7k
    if (yych <= '^') {
9152
20.4k
      if (yych <= 'D') {
9153
9.61k
        if (yych <= '@') goto yy295;
9154
4.93k
        goto yy472;
9155
10.8k
      } else {
9156
10.8k
        if (yych <= 'E') goto yy515;
9157
1.52k
        if (yych <= 'Z') goto yy472;
9158
633
        goto yy295;
9159
1.52k
      }
9160
48.2k
    } else {
9161
48.2k
      if (yych <= 'd') {
9162
8.61k
        if (yych <= '_') goto yy297;
9163
5.90k
        if (yych <= '`') goto yy295;
9164
4.03k
        goto yy478;
9165
39.6k
      } else {
9166
39.6k
        if (yych <= 'e') goto yy517;
9167
11.0k
        if (yych <= 'z') goto yy478;
9168
3.65k
        goto yy295;
9169
11.0k
      }
9170
48.2k
    }
9171
68.7k
  }
9172
384k
yy340:
9173
384k
  YYDEBUG(340, *YYCURSOR);
9174
384k
  yych = *++YYCURSOR;
9175
384k
  if (yych <= 'T') {
9176
45.9k
    if (yych <= ')') {
9177
11.5k
      if (yych <= '(') goto yy20;
9178
3.24k
      goto yy115;
9179
34.3k
    } else {
9180
34.3k
      if (yych <= '@') goto yy20;
9181
12.1k
      if (yych <= 'S') goto yy472;
9182
7.66k
      goto yy518;
9183
12.1k
    }
9184
338k
  } else {
9185
338k
    if (yych <= 's') {
9186
35.7k
      if (yych <= 'Z') goto yy472;
9187
25.3k
      if (yych <= '`') goto yy20;
9188
22.3k
      goto yy472;
9189
302k
    } else {
9190
302k
      if (yych <= 't') goto yy518;
9191
16.0k
      if (yych <= 'z') goto yy472;
9192
11.9k
      goto yy20;
9193
16.0k
    }
9194
338k
  }
9195
144k
yy341:
9196
144k
  YYDEBUG(341, *YYCURSOR);
9197
144k
  yyaccept = 2;
9198
144k
  yych = *(YYMARKER = ++YYCURSOR);
9199
144k
  if (yych <= 'S') {
9200
22.6k
    if (yych <= '-') {
9201
8.52k
      if (yych == ')') goto yy115;
9202
5.00k
      if (yych <= ',') goto yy20;
9203
2.40k
      goto yy297;
9204
14.0k
    } else {
9205
14.0k
      if (yych == '/') goto yy297;
9206
12.5k
      if (yych <= '@') goto yy20;
9207
4.60k
      goto yy472;
9208
12.5k
    }
9209
122k
  } else {
9210
122k
    if (yych <= '_') {
9211
12.1k
      if (yych <= 'T') goto yy518;
9212
6.06k
      if (yych <= 'Z') goto yy472;
9213
3.30k
      if (yych <= '^') goto yy20;
9214
1.83k
      goto yy297;
9215
110k
    } else {
9216
110k
      if (yych <= 's') {
9217
7.17k
        if (yych <= '`') goto yy20;
9218
4.52k
        goto yy478;
9219
102k
      } else {
9220
102k
        if (yych <= 't') goto yy519;
9221
10.2k
        if (yych <= 'z') goto yy478;
9222
8.91k
        goto yy20;
9223
10.2k
      }
9224
110k
    }
9225
122k
  }
9226
118k
yy342:
9227
118k
  YYDEBUG(342, *YYCURSOR);
9228
118k
  yyaccept = 7;
9229
118k
  yych = *(YYMARKER = ++YYCURSOR);
9230
118k
  if (yych <= '/') {
9231
46.8k
    if (yych <= '(') {
9232
23.5k
      if (yych <= '\t') {
9233
7.83k
        if (yych <= 0x08) goto yy295;
9234
1.80k
        goto yy142;
9235
15.6k
      } else {
9236
15.6k
        if (yych == ' ') goto yy142;
9237
4.81k
        goto yy295;
9238
15.6k
      }
9239
23.5k
    } else {
9240
23.3k
      if (yych <= ',') {
9241
3.95k
        if (yych <= ')') goto yy115;
9242
1.74k
        goto yy295;
9243
19.4k
      } else {
9244
19.4k
        if (yych <= '-') goto yy473;
9245
8.49k
        if (yych <= '.') goto yy142;
9246
5.24k
        goto yy295;
9247
8.49k
      }
9248
23.3k
    }
9249
71.8k
  } else {
9250
71.8k
    if (yych <= 'Z') {
9251
39.8k
      if (yych <= '@') {
9252
19.1k
        if (yych <= '9') goto yy142;
9253
3.13k
        goto yy295;
9254
20.6k
      } else {
9255
20.6k
        if (yych == 'C') goto yy520;
9256
6.74k
        goto yy472;
9257
20.6k
      }
9258
39.8k
    } else {
9259
32.0k
      if (yych <= 'b') {
9260
9.31k
        if (yych <= '`') goto yy295;
9261
5.89k
        goto yy472;
9262
22.7k
      } else {
9263
22.7k
        if (yych <= 'c') goto yy520;
9264
8.37k
        if (yych <= 'z') goto yy472;
9265
4.04k
        goto yy295;
9266
8.37k
      }
9267
32.0k
    }
9268
71.8k
  }
9269
103k
yy343:
9270
103k
  YYDEBUG(343, *YYCURSOR);
9271
103k
  yyaccept = 7;
9272
103k
  yych = *(YYMARKER = ++YYCURSOR);
9273
103k
  if (yych <= '-') {
9274
60.7k
    if (yych <= ' ') {
9275
12.4k
      if (yych == '\t') goto yy142;
9276
8.59k
      if (yych <= 0x1F) goto yy295;
9277
2.30k
      goto yy142;
9278
48.3k
    } else {
9279
48.3k
      if (yych == ')') goto yy115;
9280
46.4k
      if (yych <= ',') goto yy295;
9281
41.6k
      goto yy473;
9282
46.4k
    }
9283
60.7k
  } else {
9284
42.7k
    if (yych <= '@') {
9285
25.3k
      if (yych == '/') goto yy295;
9286
22.5k
      if (yych <= '9') goto yy142;
9287
1.26k
      goto yy295;
9288
22.5k
    } else {
9289
17.3k
      if (yych <= 'Z') goto yy472;
9290
11.3k
      if (yych <= '`') goto yy295;
9291
8.87k
      if (yych <= 'z') goto yy472;
9292
5.57k
      goto yy295;
9293
8.87k
    }
9294
42.7k
  }
9295
100k
yy344:
9296
100k
  YYDEBUG(344, *YYCURSOR);
9297
100k
  yych = *++YYCURSOR;
9298
100k
  if (yych <= 'N') {
9299
52.1k
    if (yych <= ')') {
9300
17.8k
      if (yych <= '(') goto yy20;
9301
1.84k
      goto yy115;
9302
34.2k
    } else {
9303
34.2k
      if (yych <= '@') goto yy20;
9304
28.9k
      if (yych <= 'M') goto yy472;
9305
22.8k
      goto yy521;
9306
28.9k
    }
9307
52.1k
  } else {
9308
48.1k
    if (yych <= 'm') {
9309
13.5k
      if (yych <= 'Z') goto yy472;
9310
11.5k
      if (yych <= '`') goto yy20;
9311
6.40k
      goto yy472;
9312
34.6k
    } else {
9313
34.6k
      if (yych <= 'n') goto yy521;
9314
13.1k
      if (yych <= 'z') goto yy472;
9315
12.2k
      goto yy20;
9316
13.1k
    }
9317
48.1k
  }
9318
196k
yy345:
9319
196k
  YYDEBUG(345, *YYCURSOR);
9320
196k
  yyaccept = 7;
9321
196k
  yych = *(YYMARKER = ++YYCURSOR);
9322
196k
  if (yych <= '9') {
9323
58.1k
    if (yych <= '(') {
9324
15.3k
      if (yych <= '\t') {
9325
5.41k
        if (yych <= 0x08) goto yy295;
9326
1.05k
        goto yy142;
9327
9.97k
      } else {
9328
9.97k
        if (yych == ' ') goto yy142;
9329
7.40k
        goto yy295;
9330
9.97k
      }
9331
42.7k
    } else {
9332
42.7k
      if (yych <= '-') {
9333
31.7k
        if (yych <= ')') goto yy115;
9334
28.6k
        if (yych <= ',') goto yy295;
9335
24.5k
        goto yy479;
9336
28.6k
      } else {
9337
11.0k
        if (yych == '/') goto yy297;
9338
10.4k
        goto yy142;
9339
11.0k
      }
9340
42.7k
    }
9341
137k
  } else {
9342
137k
    if (yych <= '^') {
9343
60.5k
      if (yych <= 'B') {
9344
11.2k
        if (yych <= '@') goto yy295;
9345
2.87k
        goto yy472;
9346
49.3k
      } else {
9347
49.3k
        if (yych <= 'C') goto yy520;
9348
19.2k
        if (yych <= 'Z') goto yy472;
9349
9.21k
        goto yy295;
9350
19.2k
      }
9351
77.3k
    } else {
9352
77.3k
      if (yych <= 'b') {
9353
7.11k
        if (yych <= '_') goto yy297;
9354
5.17k
        if (yych <= '`') goto yy295;
9355
3.60k
        goto yy478;
9356
70.2k
      } else {
9357
70.2k
        if (yych <= 'c') goto yy522;
9358
14.8k
        if (yych <= 'z') goto yy478;
9359
8.46k
        goto yy295;
9360
14.8k
      }
9361
77.3k
    }
9362
137k
  }
9363
54.8k
yy346:
9364
54.8k
  YYDEBUG(346, *YYCURSOR);
9365
54.8k
  yyaccept = 7;
9366
54.8k
  yych = *(YYMARKER = ++YYCURSOR);
9367
54.8k
  if (yych <= '.') {
9368
23.8k
    if (yych <= ' ') {
9369
8.98k
      if (yych == '\t') goto yy142;
9370
7.96k
      if (yych <= 0x1F) goto yy295;
9371
5.06k
      goto yy142;
9372
14.8k
    } else {
9373
14.8k
      if (yych <= ')') {
9374
4.77k
        if (yych <= '(') goto yy295;
9375
2.68k
        goto yy115;
9376
10.0k
      } else {
9377
10.0k
        if (yych <= ',') goto yy295;
9378
8.45k
        if (yych <= '-') goto yy479;
9379
3.22k
        goto yy142;
9380
8.45k
      }
9381
14.8k
    }
9382
30.9k
  } else {
9383
30.9k
    if (yych <= 'Z') {
9384
12.3k
      if (yych <= '/') goto yy297;
9385
11.4k
      if (yych <= '9') goto yy142;
9386
2.42k
      if (yych <= '@') goto yy295;
9387
1.27k
      goto yy472;
9388
18.6k
    } else {
9389
18.6k
      if (yych <= '_') {
9390
3.55k
        if (yych <= '^') goto yy295;
9391
819
        goto yy297;
9392
15.1k
      } else {
9393
15.1k
        if (yych <= '`') goto yy295;
9394
14.1k
        if (yych <= 'z') goto yy478;
9395
4.92k
        goto yy295;
9396
14.1k
      }
9397
18.6k
    }
9398
30.9k
  }
9399
251k
yy347:
9400
251k
  YYDEBUG(347, *YYCURSOR);
9401
251k
  yyaccept = 2;
9402
251k
  yych = *(YYMARKER = ++YYCURSOR);
9403
251k
  if (yych <= 'M') {
9404
48.9k
    if (yych <= '-') {
9405
12.2k
      if (yych == ')') goto yy115;
9406
10.9k
      if (yych <= ',') goto yy20;
9407
1.40k
      goto yy297;
9408
36.7k
    } else {
9409
36.7k
      if (yych == '/') goto yy297;
9410
31.8k
      if (yych <= '@') goto yy20;
9411
4.56k
      goto yy472;
9412
31.8k
    }
9413
202k
  } else {
9414
202k
    if (yych <= '_') {
9415
30.9k
      if (yych <= 'N') goto yy521;
9416
7.65k
      if (yych <= 'Z') goto yy472;
9417
5.40k
      if (yych <= '^') goto yy20;
9418
3.66k
      goto yy297;
9419
171k
    } else {
9420
171k
      if (yych <= 'm') {
9421
10.1k
        if (yych <= '`') goto yy20;
9422
6.79k
        goto yy478;
9423
161k
      } else {
9424
161k
        if (yych <= 'n') goto yy523;
9425
16.7k
        if (yych <= 'z') goto yy478;
9426
10.8k
        goto yy20;
9427
16.7k
      }
9428
171k
    }
9429
202k
  }
9430
241k
yy348:
9431
241k
  YYDEBUG(348, *YYCURSOR);
9432
241k
  yych = *++YYCURSOR;
9433
241k
  if (yych <= 'T') {
9434
45.3k
    if (yych <= ')') {
9435
9.21k
      if (yych <= '(') goto yy20;
9436
2.09k
      goto yy115;
9437
36.1k
    } else {
9438
36.1k
      if (yych <= '@') goto yy20;
9439
21.9k
      if (yych <= 'S') goto yy472;
9440
17.3k
      goto yy524;
9441
21.9k
    }
9442
196k
  } else {
9443
196k
    if (yych <= 's') {
9444
17.8k
      if (yych <= 'Z') goto yy472;
9445
14.2k
      if (yych <= '`') goto yy20;
9446
8.87k
      goto yy472;
9447
178k
    } else {
9448
178k
      if (yych <= 't') goto yy524;
9449
10.1k
      if (yych <= 'z') goto yy472;
9450
6.79k
      goto yy20;
9451
10.1k
    }
9452
196k
  }
9453
70.6k
yy349:
9454
70.6k
  YYDEBUG(349, *YYCURSOR);
9455
70.6k
  yych = *++YYCURSOR;
9456
70.6k
  if (yych <= 'N') {
9457
30.1k
    if (yych <= ')') {
9458
12.5k
      if (yych <= '(') goto yy20;
9459
3.52k
      goto yy115;
9460
17.5k
    } else {
9461
17.5k
      if (yych <= '@') goto yy20;
9462
7.68k
      if (yych <= 'M') goto yy472;
9463
4.52k
      goto yy525;
9464
7.68k
    }
9465
40.5k
  } else {
9466
40.5k
    if (yych <= 'm') {
9467
14.1k
      if (yych <= 'Z') goto yy472;
9468
7.99k
      if (yych <= '`') goto yy20;
9469
4.23k
      goto yy472;
9470
26.3k
    } else {
9471
26.3k
      if (yych <= 'n') goto yy525;
9472
14.1k
      if (yych <= 'z') goto yy472;
9473
5.73k
      goto yy20;
9474
14.1k
    }
9475
40.5k
  }
9476
38.7k
yy350:
9477
38.7k
  YYDEBUG(350, *YYCURSOR);
9478
38.7k
  yych = *++YYCURSOR;
9479
38.7k
  if (yych <= '@') {
9480
20.0k
    if (yych == ')') goto yy115;
9481
20.0k
  } else {
9482
18.7k
    if (yych <= 'Z') goto yy472;
9483
15.6k
    if (yych <= '`') goto yy351;
9484
14.4k
    if (yych <= 'z') goto yy472;
9485
14.4k
  }
9486
55.6k
yy351:
9487
55.6k
  YYDEBUG(351, *YYCURSOR);
9488
55.6k
#line 1178 "ext/date/lib/parse_date.re"
9489
55.6k
  {
9490
55.6k
    DEBUG_OUTPUT("now");
9491
55.6k
    TIMELIB_INIT;
9492
9493
55.6k
    TIMELIB_DEINIT;
9494
55.6k
    return TIMELIB_RELATIVE;
9495
38.7k
  }
9496
0
#line 9497 "ext/date/lib/parse_date.c"
9497
142k
yy352:
9498
142k
  YYDEBUG(352, *YYCURSOR);
9499
142k
  yyaccept = 2;
9500
142k
  yych = *(YYMARKER = ++YYCURSOR);
9501
142k
  if (yych <= 'S') {
9502
23.3k
    if (yych <= '-') {
9503
12.5k
      if (yych == ')') goto yy115;
9504
11.5k
      if (yych <= ',') goto yy20;
9505
6.41k
      goto yy297;
9506
11.5k
    } else {
9507
10.7k
      if (yych == '/') goto yy297;
9508
7.56k
      if (yych <= '@') goto yy20;
9509
3.46k
      goto yy472;
9510
7.56k
    }
9511
119k
  } else {
9512
119k
    if (yych <= '_') {
9513
28.9k
      if (yych <= 'T') goto yy524;
9514
6.36k
      if (yych <= 'Z') goto yy472;
9515
4.41k
      if (yych <= '^') goto yy20;
9516
2.31k
      goto yy297;
9517
90.5k
    } else {
9518
90.5k
      if (yych <= 's') {
9519
7.71k
        if (yych <= '`') goto yy20;
9520
4.86k
        goto yy478;
9521
82.8k
      } else {
9522
82.8k
        if (yych <= 't') goto yy527;
9523
6.45k
        if (yych <= 'z') goto yy478;
9524
3.55k
        goto yy20;
9525
6.45k
      }
9526
90.5k
    }
9527
119k
  }
9528
93.3k
yy353:
9529
93.3k
  YYDEBUG(353, *YYCURSOR);
9530
93.3k
  yyaccept = 2;
9531
93.3k
  yych = *(YYMARKER = ++YYCURSOR);
9532
93.3k
  if (yych <= 'M') {
9533
31.7k
    if (yych <= '-') {
9534
17.5k
      if (yych == ')') goto yy115;
9535
10.1k
      if (yych <= ',') goto yy20;
9536
4.61k
      goto yy297;
9537
14.1k
    } else {
9538
14.1k
      if (yych == '/') goto yy297;
9539
9.10k
      if (yych <= '@') goto yy20;
9540
3.34k
      goto yy472;
9541
9.10k
    }
9542
61.5k
  } else {
9543
61.5k
    if (yych <= '_') {
9544
12.4k
      if (yych <= 'N') goto yy525;
9545
7.63k
      if (yych <= 'Z') goto yy472;
9546
6.29k
      if (yych <= '^') goto yy20;
9547
1.21k
      goto yy297;
9548
49.1k
    } else {
9549
49.1k
      if (yych <= 'm') {
9550
6.46k
        if (yych <= '`') goto yy20;
9551
4.49k
        goto yy478;
9552
42.6k
      } else {
9553
42.6k
        if (yych <= 'n') goto yy528;
9554
12.6k
        if (yych <= 'z') goto yy478;
9555
6.04k
        goto yy20;
9556
12.6k
      }
9557
49.1k
    }
9558
61.5k
  }
9559
37.9k
yy354:
9560
37.9k
  YYDEBUG(354, *YYCURSOR);
9561
37.9k
  yyaccept = 11;
9562
37.9k
  yych = *(YYMARKER = ++YYCURSOR);
9563
37.9k
  if (yych <= '/') {
9564
13.4k
    if (yych <= ',') {
9565
6.60k
      if (yych == ')') goto yy115;
9566
3.58k
      goto yy351;
9567
6.86k
    } else {
9568
6.86k
      if (yych == '.') goto yy351;
9569
5.18k
      goto yy297;
9570
6.86k
    }
9571
24.5k
  } else {
9572
24.5k
    if (yych <= '^') {
9573
10.0k
      if (yych <= '@') goto yy351;
9574
3.94k
      if (yych <= 'Z') goto yy472;
9575
2.69k
      goto yy351;
9576
14.4k
    } else {
9577
14.4k
      if (yych <= '_') goto yy297;
9578
11.6k
      if (yych <= '`') goto yy351;
9579
9.81k
      if (yych <= 'z') goto yy478;
9580
7.02k
      goto yy351;
9581
9.81k
    }
9582
24.5k
  }
9583
138k
yy355:
9584
138k
  YYDEBUG(355, *YYCURSOR);
9585
138k
  yyaccept = 7;
9586
138k
  yych = *(YYMARKER = ++YYCURSOR);
9587
138k
  if (yych <= '/') {
9588
36.3k
    if (yych <= '(') {
9589
18.2k
      if (yych <= '\t') {
9590
7.69k
        if (yych <= 0x08) goto yy295;
9591
1.89k
        goto yy142;
9592
10.5k
      } else {
9593
10.5k
        if (yych == ' ') goto yy142;
9594
4.96k
        goto yy295;
9595
10.5k
      }
9596
18.2k
    } else {
9597
18.0k
      if (yych <= ',') {
9598
3.60k
        if (yych <= ')') goto yy115;
9599
1.86k
        goto yy295;
9600
14.4k
      } else {
9601
14.4k
        if (yych <= '-') goto yy473;
9602
5.43k
        if (yych <= '.') goto yy142;
9603
1.11k
        goto yy295;
9604
5.43k
      }
9605
18.0k
    }
9606
101k
  } else {
9607
101k
    if (yych <= 'Z') {
9608
26.6k
      if (yych <= '@') {
9609
13.0k
        if (yych <= '9') goto yy142;
9610
7.31k
        goto yy295;
9611
13.5k
      } else {
9612
13.5k
        if (yych == 'O') goto yy529;
9613
3.58k
        goto yy472;
9614
13.5k
      }
9615
75.1k
    } else {
9616
75.1k
      if (yych <= 'n') {
9617
12.5k
        if (yych <= '`') goto yy295;
9618
9.10k
        goto yy472;
9619
62.6k
      } else {
9620
62.6k
        if (yych <= 'o') goto yy529;
9621
16.0k
        if (yych <= 'z') goto yy472;
9622
11.1k
        goto yy295;
9623
16.0k
      }
9624
75.1k
    }
9625
101k
  }
9626
226k
yy356:
9627
226k
  YYDEBUG(356, *YYCURSOR);
9628
226k
  yyaccept = 7;
9629
226k
  yych = *(YYMARKER = ++YYCURSOR);
9630
226k
  if (yych <= '9') {
9631
42.4k
    if (yych <= '(') {
9632
16.9k
      if (yych <= '\t') {
9633
8.39k
        if (yych <= 0x08) goto yy295;
9634
3.05k
        goto yy142;
9635
8.59k
      } else {
9636
8.59k
        if (yych == ' ') goto yy142;
9637
3.87k
        goto yy295;
9638
8.59k
      }
9639
25.4k
    } else {
9640
25.4k
      if (yych <= '-') {
9641
13.6k
        if (yych <= ')') goto yy115;
9642
9.93k
        if (yych <= ',') goto yy295;
9643
4.12k
        goto yy479;
9644
11.8k
      } else {
9645
11.8k
        if (yych == '/') goto yy297;
9646
8.14k
        goto yy142;
9647
11.8k
      }
9648
25.4k
    }
9649
183k
  } else {
9650
183k
    if (yych <= '^') {
9651
27.9k
      if (yych <= 'N') {
9652
11.5k
        if (yych <= '@') goto yy295;
9653
4.07k
        goto yy472;
9654
16.3k
      } else {
9655
16.3k
        if (yych <= 'O') goto yy529;
9656
6.74k
        if (yych <= 'Z') goto yy472;
9657
1.23k
        goto yy295;
9658
6.74k
      }
9659
155k
    } else {
9660
155k
      if (yych <= 'n') {
9661
8.69k
        if (yych <= '_') goto yy297;
9662
6.73k
        if (yych <= '`') goto yy295;
9663
4.81k
        goto yy478;
9664
147k
      } else {
9665
147k
        if (yych <= 'o') goto yy530;
9666
16.7k
        if (yych <= 'z') goto yy478;
9667
7.62k
        goto yy295;
9668
16.7k
      }
9669
155k
    }
9670
183k
  }
9671
211k
yy357:
9672
211k
  YYDEBUG(357, *YYCURSOR);
9673
211k
  yych = *++YYCURSOR;
9674
211k
  if (yych <= 'V') {
9675
39.4k
    if (yych <= ')') {
9676
11.4k
      if (yych <= '(') goto yy20;
9677
2.70k
      goto yy115;
9678
27.9k
    } else {
9679
27.9k
      if (yych <= '@') goto yy20;
9680
16.9k
      if (yych <= 'U') goto yy472;
9681
12.7k
      goto yy531;
9682
16.9k
    }
9683
172k
  } else {
9684
172k
    if (yych <= 'u') {
9685
27.0k
      if (yych <= 'Z') goto yy472;
9686
24.3k
      if (yych <= '`') goto yy20;
9687
22.2k
      goto yy472;
9688
145k
    } else {
9689
145k
      if (yych <= 'v') goto yy531;
9690
10.6k
      if (yych <= 'z') goto yy472;
9691
8.34k
      goto yy20;
9692
10.6k
    }
9693
172k
  }
9694
225k
yy358:
9695
225k
  YYDEBUG(358, *YYCURSOR);
9696
225k
  yyaccept = 2;
9697
225k
  yych = *(YYMARKER = ++YYCURSOR);
9698
225k
  if (yych <= 'U') {
9699
31.0k
    if (yych <= '-') {
9700
12.4k
      if (yych == ')') goto yy115;
9701
11.1k
      if (yych <= ',') goto yy20;
9702
5.01k
      goto yy297;
9703
18.6k
    } else {
9704
18.6k
      if (yych == '/') goto yy297;
9705
16.9k
      if (yych <= '@') goto yy20;
9706
9.66k
      goto yy472;
9707
16.9k
    }
9708
194k
  } else {
9709
194k
    if (yych <= '_') {
9710
16.2k
      if (yych <= 'V') goto yy531;
9711
6.11k
      if (yych <= 'Z') goto yy472;
9712
3.26k
      if (yych <= '^') goto yy20;
9713
1.44k
      goto yy297;
9714
178k
    } else {
9715
178k
      if (yych <= 'u') {
9716
11.3k
        if (yych <= '`') goto yy20;
9717
9.70k
        goto yy478;
9718
167k
      } else {
9719
167k
        if (yych <= 'v') goto yy532;
9720
14.2k
        if (yych <= 'z') goto yy478;
9721
9.72k
        goto yy20;
9722
14.2k
      }
9723
178k
    }
9724
194k
  }
9725
92.3k
yy359:
9726
92.3k
  YYDEBUG(359, *YYCURSOR);
9727
92.3k
  yych = *++YYCURSOR;
9728
92.3k
  if (yych <= 'U') {
9729
32.4k
    if (yych <= ')') {
9730
15.5k
      if (yych <= '(') goto yy315;
9731
4.79k
      goto yy115;
9732
16.8k
    } else {
9733
16.8k
      if (yych <= '@') goto yy315;
9734
10.2k
      if (yych <= 'T') goto yy472;
9735
5.37k
      goto yy533;
9736
10.2k
    }
9737
59.9k
  } else {
9738
59.9k
    if (yych <= 't') {
9739
13.0k
      if (yych <= 'Z') goto yy472;
9740
10.7k
      if (yych <= '`') goto yy315;
9741
8.53k
      goto yy472;
9742
46.8k
    } else {
9743
46.8k
      if (yych <= 'u') goto yy533;
9744
11.7k
      if (yych <= 'z') goto yy472;
9745
8.73k
      goto yy315;
9746
11.7k
    }
9747
59.9k
  }
9748
125k
yy360:
9749
125k
  YYDEBUG(360, *YYCURSOR);
9750
125k
  yych = *++YYCURSOR;
9751
125k
  if (yych <= 'O') {
9752
42.3k
    if (yych <= ')') {
9753
8.96k
      if (yych <= '(') goto yy20;
9754
2.90k
      goto yy115;
9755
33.3k
    } else {
9756
33.3k
      if (yych <= '@') goto yy20;
9757
24.0k
      if (yych <= 'N') goto yy472;
9758
16.9k
      goto yy534;
9759
24.0k
    }
9760
82.9k
  } else {
9761
82.9k
    if (yych <= 'n') {
9762
16.7k
      if (yych <= 'Z') goto yy472;
9763
12.8k
      if (yych <= '`') goto yy20;
9764
10.1k
      goto yy472;
9765
66.1k
    } else {
9766
66.1k
      if (yych <= 'o') goto yy534;
9767
20.9k
      if (yych <= 'z') goto yy472;
9768
10.8k
      goto yy20;
9769
20.9k
    }
9770
82.9k
  }
9771
209k
yy361:
9772
209k
  YYDEBUG(361, *YYCURSOR);
9773
209k
  yyaccept = 7;
9774
209k
  yych = *(YYMARKER = ++YYCURSOR);
9775
209k
  if (yych <= '/') {
9776
47.4k
    if (yych <= '(') {
9777
14.3k
      if (yych <= '\t') {
9778
5.80k
        if (yych <= 0x08) goto yy295;
9779
1.92k
        goto yy142;
9780
8.53k
      } else {
9781
8.53k
        if (yych == ' ') goto yy142;
9782
6.29k
        goto yy295;
9783
8.53k
      }
9784
33.1k
    } else {
9785
33.1k
      if (yych <= ',') {
9786
7.06k
        if (yych <= ')') goto yy115;
9787
5.07k
        goto yy295;
9788
26.1k
      } else {
9789
26.1k
        if (yych <= '-') goto yy473;
9790
17.6k
        if (yych <= '.') goto yy142;
9791
11.8k
        goto yy295;
9792
17.6k
      }
9793
33.1k
    }
9794
162k
  } else {
9795
162k
    if (yych <= 'Z') {
9796
39.3k
      if (yych <= '@') {
9797
20.1k
        if (yych <= '9') goto yy142;
9798
5.93k
        goto yy295;
9799
20.1k
      } else {
9800
19.1k
        if (yych == 'T') goto yy535;
9801
8.50k
        goto yy472;
9802
19.1k
      }
9803
123k
    } else {
9804
123k
      if (yych <= 's') {
9805
15.1k
        if (yych <= '`') goto yy295;
9806
10.4k
        goto yy472;
9807
107k
      } else {
9808
107k
        if (yych <= 't') goto yy535;
9809
22.7k
        if (yych <= 'z') goto yy472;
9810
19.2k
        goto yy295;
9811
22.7k
      }
9812
123k
    }
9813
162k
  }
9814
83.5k
yy362:
9815
83.5k
  YYDEBUG(362, *YYCURSOR);
9816
83.5k
  yych = *++YYCURSOR;
9817
83.5k
  if (yych <= 'E') {
9818
34.1k
    if (yych <= ')') {
9819
12.3k
      if (yych <= '(') goto yy20;
9820
3.34k
      goto yy115;
9821
21.8k
    } else {
9822
21.8k
      if (yych <= '@') goto yy20;
9823
12.3k
      if (yych <= 'D') goto yy472;
9824
10.2k
      goto yy536;
9825
12.3k
    }
9826
49.3k
  } else {
9827
49.3k
    if (yych <= 'd') {
9828
8.51k
      if (yych <= 'Z') goto yy472;
9829
6.05k
      if (yych <= '`') goto yy20;
9830
2.92k
      goto yy472;
9831
40.8k
    } else {
9832
40.8k
      if (yych <= 'e') goto yy536;
9833
14.8k
      if (yych <= 'z') goto yy472;
9834
11.5k
      goto yy20;
9835
14.8k
    }
9836
49.3k
  }
9837
207k
yy363:
9838
207k
  YYDEBUG(363, *YYCURSOR);
9839
207k
  yyaccept = 9;
9840
207k
  yych = *(YYMARKER = ++YYCURSOR);
9841
207k
  if (yych <= 'T') {
9842
41.5k
    if (yych <= '-') {
9843
17.7k
      if (yych == ')') goto yy115;
9844
12.9k
      if (yych <= ',') goto yy315;
9845
3.29k
      goto yy297;
9846
23.8k
    } else {
9847
23.8k
      if (yych == '/') goto yy297;
9848
22.1k
      if (yych <= '@') goto yy315;
9849
7.41k
      goto yy472;
9850
22.1k
    }
9851
166k
  } else {
9852
166k
    if (yych <= '_') {
9853
36.5k
      if (yych <= 'U') goto yy533;
9854
14.3k
      if (yych <= 'Z') goto yy472;
9855
12.3k
      if (yych <= '^') goto yy315;
9856
9.46k
      goto yy297;
9857
129k
    } else {
9858
129k
      if (yych <= 't') {
9859
12.8k
        if (yych <= '`') goto yy315;
9860
7.86k
        goto yy478;
9861
116k
      } else {
9862
116k
        if (yych <= 'u') goto yy537;
9863
32.6k
        if (yych <= 'z') goto yy478;
9864
30.3k
        goto yy315;
9865
32.6k
      }
9866
129k
    }
9867
166k
  }
9868
259k
yy364:
9869
259k
  YYDEBUG(364, *YYCURSOR);
9870
259k
  yyaccept = 2;
9871
259k
  yych = *(YYMARKER = ++YYCURSOR);
9872
259k
  if (yych <= 'N') {
9873
45.5k
    if (yych <= '-') {
9874
22.9k
      if (yych == ')') goto yy115;
9875
16.7k
      if (yych <= ',') goto yy20;
9876
2.64k
      goto yy297;
9877
22.6k
    } else {
9878
22.6k
      if (yych == '/') goto yy297;
9879
20.6k
      if (yych <= '@') goto yy20;
9880
8.43k
      goto yy472;
9881
20.6k
    }
9882
213k
  } else {
9883
213k
    if (yych <= '_') {
9884
29.0k
      if (yych <= 'O') goto yy534;
9885
18.4k
      if (yych <= 'Z') goto yy472;
9886
2.01k
      if (yych <= '^') goto yy20;
9887
839
      goto yy297;
9888
184k
    } else {
9889
184k
      if (yych <= 'n') {
9890
14.7k
        if (yych <= '`') goto yy20;
9891
11.8k
        goto yy478;
9892
169k
      } else {
9893
169k
        if (yych <= 'o') goto yy538;
9894
28.1k
        if (yych <= 'z') goto yy478;
9895
13.8k
        goto yy20;
9896
28.1k
      }
9897
184k
    }
9898
213k
  }
9899
274k
yy365:
9900
274k
  YYDEBUG(365, *YYCURSOR);
9901
274k
  yyaccept = 7;
9902
274k
  yych = *(YYMARKER = ++YYCURSOR);
9903
274k
  if (yych <= '9') {
9904
41.9k
    if (yych <= '(') {
9905
16.4k
      if (yych <= '\t') {
9906
8.39k
        if (yych <= 0x08) goto yy295;
9907
4.74k
        goto yy142;
9908
8.39k
      } else {
9909
8.04k
        if (yych == ' ') goto yy142;
9910
4.94k
        goto yy295;
9911
8.04k
      }
9912
25.5k
    } else {
9913
25.5k
      if (yych <= '-') {
9914
15.1k
        if (yych <= ')') goto yy115;
9915
13.4k
        if (yych <= ',') goto yy295;
9916
10.8k
        goto yy479;
9917
13.4k
      } else {
9918
10.3k
        if (yych == '/') goto yy297;
9919
9.12k
        goto yy142;
9920
10.3k
      }
9921
25.5k
    }
9922
233k
  } else {
9923
233k
    if (yych <= '^') {
9924
29.3k
      if (yych <= 'S') {
9925
11.0k
        if (yych <= '@') goto yy295;
9926
6.33k
        goto yy472;
9927
18.3k
      } else {
9928
18.3k
        if (yych <= 'T') goto yy535;
9929
6.87k
        if (yych <= 'Z') goto yy472;
9930
5.07k
        goto yy295;
9931
6.87k
      }
9932
203k
    } else {
9933
203k
      if (yych <= 's') {
9934
12.7k
        if (yych <= '_') goto yy297;
9935
10.6k
        if (yych <= '`') goto yy295;
9936
7.32k
        goto yy478;
9937
190k
      } else {
9938
190k
        if (yych <= 't') goto yy539;
9939
7.96k
        if (yych <= 'z') goto yy478;
9940
6.84k
        goto yy295;
9941
7.96k
      }
9942
203k
    }
9943
233k
  }
9944
178k
yy366:
9945
178k
  YYDEBUG(366, *YYCURSOR);
9946
178k
  yyaccept = 2;
9947
178k
  yych = *(YYMARKER = ++YYCURSOR);
9948
178k
  if (yych <= 'D') {
9949
31.1k
    if (yych <= '-') {
9950
9.98k
      if (yych == ')') goto yy115;
9951
7.68k
      if (yych <= ',') goto yy20;
9952
1.07k
      goto yy297;
9953
21.1k
    } else {
9954
21.1k
      if (yych == '/') goto yy297;
9955
13.4k
      if (yych <= '@') goto yy20;
9956
1.96k
      goto yy472;
9957
13.4k
    }
9958
147k
  } else {
9959
147k
    if (yych <= '_') {
9960
27.5k
      if (yych <= 'E') goto yy536;
9961
7.50k
      if (yych <= 'Z') goto yy472;
9962
4.88k
      if (yych <= '^') goto yy20;
9963
1.21k
      goto yy297;
9964
119k
    } else {
9965
119k
      if (yych <= 'd') {
9966
5.92k
        if (yych <= '`') goto yy20;
9967
3.51k
        goto yy478;
9968
113k
      } else {
9969
113k
        if (yych <= 'e') goto yy540;
9970
12.3k
        if (yych <= 'z') goto yy478;
9971
6.68k
        goto yy20;
9972
12.3k
      }
9973
119k
    }
9974
147k
  }
9975
476k
yy367:
9976
476k
  YYDEBUG(367, *YYCURSOR);
9977
476k
  yyaccept = 4;
9978
476k
  yych = *(YYMARKER = ++YYCURSOR);
9979
476k
  if (yych <= '/') {
9980
43.6k
    if (yych == '.') goto yy75;
9981
38.7k
    goto yy177;
9982
433k
  } else {
9983
433k
    if (yych <= '5') goto yy541;
9984
290k
    if (yych == ':') goto yy75;
9985
114k
    goto yy177;
9986
290k
  }
9987
229k
yy368:
9988
229k
  YYDEBUG(368, *YYCURSOR);
9989
229k
  yych = *++YYCURSOR;
9990
229k
  if (yych <= 'S') {
9991
43.7k
    if (yych <= '@') {
9992
17.3k
      if (yych == ')') goto yy115;
9993
16.4k
      goto yy20;
9994
26.4k
    } else {
9995
26.4k
      if (yych <= 'Q') goto yy472;
9996
17.3k
      if (yych <= 'R') goto yy542;
9997
12.0k
      goto yy524;
9998
17.3k
    }
9999
185k
  } else {
10000
185k
    if (yych <= 'q') {
10001
17.4k
      if (yych <= 'Z') goto yy472;
10002
14.7k
      if (yych <= '`') goto yy20;
10003
12.5k
      goto yy472;
10004
168k
    } else {
10005
168k
      if (yych <= 'r') goto yy542;
10006
105k
      if (yych <= 's') goto yy524;
10007
9.56k
      if (yych <= 'z') goto yy472;
10008
5.54k
      goto yy20;
10009
9.56k
    }
10010
185k
  }
10011
96.2k
yy369:
10012
96.2k
  YYDEBUG(369, *YYCURSOR);
10013
96.2k
  yych = *++YYCURSOR;
10014
96.2k
  if (yych <= 'R') {
10015
39.8k
    if (yych <= ')') {
10016
11.3k
      if (yych <= '(') goto yy315;
10017
1.46k
      goto yy115;
10018
28.4k
    } else {
10019
28.4k
      if (yych <= '@') goto yy315;
10020
24.2k
      if (yych <= 'Q') goto yy472;
10021
20.4k
      goto yy543;
10022
24.2k
    }
10023
56.4k
  } else {
10024
56.4k
    if (yych <= 'q') {
10025
19.8k
      if (yych <= 'Z') goto yy472;
10026
17.0k
      if (yych <= '`') goto yy315;
10027
6.21k
      goto yy472;
10028
36.6k
    } else {
10029
36.6k
      if (yych <= 'r') goto yy543;
10030
13.5k
      if (yych <= 'z') goto yy472;
10031
10.4k
      goto yy315;
10032
13.5k
    }
10033
56.4k
  }
10034
43.3k
yy370:
10035
43.3k
  YYDEBUG(370, *YYCURSOR);
10036
43.3k
  yych = *++YYCURSOR;
10037
43.3k
  if (yych <= 'A') {
10038
8.65k
    if (yych == ')') goto yy115;
10039
8.43k
    if (yych <= '@') goto yy20;
10040
3.71k
    goto yy544;
10041
34.6k
  } else {
10042
34.6k
    if (yych <= '`') {
10043
6.03k
      if (yych <= 'Z') goto yy472;
10044
2.67k
      goto yy20;
10045
28.6k
    } else {
10046
28.6k
      if (yych <= 'a') goto yy544;
10047
7.01k
      if (yych <= 'z') goto yy472;
10048
3.13k
      goto yy20;
10049
7.01k
    }
10050
34.6k
  }
10051
89.2k
yy371:
10052
89.2k
  YYDEBUG(371, *YYCURSOR);
10053
89.2k
  yych = *++YYCURSOR;
10054
89.2k
  if (yych <= 'O') {
10055
31.0k
    if (yych <= ')') {
10056
9.51k
      if (yych <= '(') goto yy20;
10057
2.21k
      goto yy115;
10058
21.4k
    } else {
10059
21.4k
      if (yych <= '@') goto yy20;
10060
15.2k
      if (yych <= 'N') goto yy472;
10061
8.01k
      goto yy545;
10062
15.2k
    }
10063
58.2k
  } else {
10064
58.2k
    if (yych <= 'n') {
10065
7.01k
      if (yych <= 'Z') goto yy472;
10066
4.33k
      if (yych <= '`') goto yy20;
10067
2.91k
      goto yy472;
10068
51.2k
    } else {
10069
51.2k
      if (yych <= 'o') goto yy545;
10070
6.25k
      if (yych <= 'z') goto yy472;
10071
4.83k
      goto yy20;
10072
6.25k
    }
10073
58.2k
  }
10074
90.9k
yy372:
10075
90.9k
  YYDEBUG(372, *YYCURSOR);
10076
90.9k
  yych = *++YYCURSOR;
10077
90.9k
  if (yych <= 'S') {
10078
46.0k
    if (yych <= ')') {
10079
16.4k
      if (yych <= '(') goto yy315;
10080
1.27k
      goto yy115;
10081
29.6k
    } else {
10082
29.6k
      if (yych <= '@') goto yy315;
10083
25.5k
      if (yych <= 'R') goto yy472;
10084
20.1k
      goto yy546;
10085
25.5k
    }
10086
46.0k
  } else {
10087
44.8k
    if (yych <= 'r') {
10088
7.50k
      if (yych <= 'Z') goto yy472;
10089
6.15k
      if (yych <= '`') goto yy315;
10090
4.89k
      goto yy472;
10091
37.3k
    } else {
10092
37.3k
      if (yych <= 's') goto yy546;
10093
23.9k
      if (yych <= 'z') goto yy472;
10094
21.3k
      goto yy315;
10095
23.9k
    }
10096
44.8k
  }
10097
77.0k
yy373:
10098
77.0k
  YYDEBUG(373, *YYCURSOR);
10099
77.0k
  yych = *++YYCURSOR;
10100
77.0k
  if (yych <= 'L') {
10101
38.4k
    if (yych <= ')') {
10102
8.04k
      if (yych <= '(') goto yy20;
10103
2.83k
      goto yy115;
10104
30.4k
    } else {
10105
30.4k
      if (yych <= '@') goto yy20;
10106
23.4k
      if (yych <= 'K') goto yy472;
10107
20.8k
      goto yy547;
10108
23.4k
    }
10109
38.6k
  } else {
10110
38.6k
    if (yych <= 'k') {
10111
11.3k
      if (yych <= 'Z') goto yy472;
10112
9.26k
      if (yych <= '`') goto yy20;
10113
6.96k
      goto yy472;
10114
27.2k
    } else {
10115
27.2k
      if (yych <= 'l') goto yy547;
10116
8.01k
      if (yych <= 'z') goto yy472;
10117
4.73k
      goto yy20;
10118
8.01k
    }
10119
38.6k
  }
10120
278k
yy374:
10121
278k
  YYDEBUG(374, *YYCURSOR);
10122
278k
  yyaccept = 2;
10123
278k
  yych = *(YYMARKER = ++YYCURSOR);
10124
278k
  if (yych <= 'R') {
10125
36.6k
    if (yych <= '-') {
10126
11.5k
      if (yych == ')') goto yy115;
10127
10.6k
      if (yych <= ',') goto yy20;
10128
1.42k
      goto yy297;
10129
25.0k
    } else {
10130
25.0k
      if (yych <= '/') {
10131
2.12k
        if (yych <= '.') goto yy20;
10132
781
        goto yy297;
10133
22.9k
      } else {
10134
22.9k
        if (yych <= '@') goto yy20;
10135
10.1k
        if (yych <= 'Q') goto yy472;
10136
4.68k
        goto yy542;
10137
10.1k
      }
10138
25.0k
    }
10139
242k
  } else {
10140
242k
    if (yych <= '`') {
10141
10.2k
      if (yych <= 'Z') {
10142
5.53k
        if (yych <= 'S') goto yy524;
10143
3.04k
        goto yy472;
10144
5.53k
      } else {
10145
4.69k
        if (yych == '_') goto yy297;
10146
3.50k
        goto yy20;
10147
4.69k
      }
10148
231k
    } else {
10149
231k
      if (yych <= 'r') {
10150
152k
        if (yych <= 'q') goto yy478;
10151
140k
        goto yy548;
10152
152k
      } else {
10153
79.5k
        if (yych <= 's') goto yy527;
10154
15.2k
        if (yych <= 'z') goto yy478;
10155
7.87k
        goto yy20;
10156
15.2k
      }
10157
231k
    }
10158
242k
  }
10159
189k
yy375:
10160
189k
  YYDEBUG(375, *YYCURSOR);
10161
189k
  yyaccept = 9;
10162
189k
  yych = *(YYMARKER = ++YYCURSOR);
10163
189k
  if (yych <= 'Q') {
10164
28.6k
    if (yych <= '-') {
10165
11.3k
      if (yych == ')') goto yy115;
10166
9.37k
      if (yych <= ',') goto yy315;
10167
1.91k
      goto yy297;
10168
17.3k
    } else {
10169
17.3k
      if (yych == '/') goto yy297;
10170
14.5k
      if (yych <= '@') goto yy315;
10171
4.01k
      goto yy472;
10172
14.5k
    }
10173
161k
  } else {
10174
161k
    if (yych <= '_') {
10175
21.2k
      if (yych <= 'R') goto yy543;
10176
8.25k
      if (yych <= 'Z') goto yy472;
10177
6.04k
      if (yych <= '^') goto yy315;
10178
2.49k
      goto yy297;
10179
139k
    } else {
10180
139k
      if (yych <= 'q') {
10181
8.13k
        if (yych <= '`') goto yy315;
10182
5.99k
        goto yy478;
10183
131k
      } else {
10184
131k
        if (yych <= 'r') goto yy549;
10185
20.8k
        if (yych <= 'z') goto yy478;
10186
17.1k
        goto yy315;
10187
20.8k
      }
10188
139k
    }
10189
161k
  }
10190
121k
yy376:
10191
121k
  YYDEBUG(376, *YYCURSOR);
10192
121k
  yyaccept = 2;
10193
121k
  yych = *(YYMARKER = ++YYCURSOR);
10194
121k
  if (yych <= '@') {
10195
21.4k
    if (yych <= ',') {
10196
6.35k
      if (yych == ')') goto yy115;
10197
3.99k
      goto yy20;
10198
15.0k
    } else {
10199
15.0k
      if (yych == '.') goto yy20;
10200
9.63k
      if (yych <= '/') goto yy297;
10201
6.59k
      goto yy20;
10202
9.63k
    }
10203
99.6k
  } else {
10204
99.6k
    if (yych <= '_') {
10205
20.5k
      if (yych <= 'A') goto yy544;
10206
8.17k
      if (yych <= 'Z') goto yy472;
10207
3.53k
      if (yych <= '^') goto yy20;
10208
1.63k
      goto yy297;
10209
79.0k
    } else {
10210
79.0k
      if (yych <= '`') goto yy20;
10211
76.5k
      if (yych <= 'a') goto yy550;
10212
14.2k
      if (yych <= 'z') goto yy478;
10213
8.37k
      goto yy20;
10214
14.2k
    }
10215
99.6k
  }
10216
188k
yy377:
10217
188k
  YYDEBUG(377, *YYCURSOR);
10218
188k
  yyaccept = 2;
10219
188k
  yych = *(YYMARKER = ++YYCURSOR);
10220
188k
  if (yych <= 'N') {
10221
21.9k
    if (yych <= '-') {
10222
10.8k
      if (yych == ')') goto yy115;
10223
9.15k
      if (yych <= ',') goto yy20;
10224
1.84k
      goto yy297;
10225
11.1k
    } else {
10226
11.1k
      if (yych == '/') goto yy297;
10227
9.78k
      if (yych <= '@') goto yy20;
10228
2.38k
      goto yy472;
10229
9.78k
    }
10230
166k
  } else {
10231
166k
    if (yych <= '_') {
10232
28.7k
      if (yych <= 'O') goto yy545;
10233
10.8k
      if (yych <= 'Z') goto yy472;
10234
5.86k
      if (yych <= '^') goto yy20;
10235
2.66k
      goto yy297;
10236
138k
    } else {
10237
138k
      if (yych <= 'n') {
10238
8.69k
        if (yych <= '`') goto yy20;
10239
6.78k
        goto yy478;
10240
129k
      } else {
10241
129k
        if (yych <= 'o') goto yy551;
10242
13.2k
        if (yych <= 'z') goto yy478;
10243
8.71k
        goto yy20;
10244
13.2k
      }
10245
138k
    }
10246
166k
  }
10247
63.6k
yy378:
10248
63.6k
  YYDEBUG(378, *YYCURSOR);
10249
63.6k
  yyaccept = 9;
10250
63.6k
  yych = *(YYMARKER = ++YYCURSOR);
10251
63.6k
  if (yych <= 'R') {
10252
21.6k
    if (yych <= '-') {
10253
9.91k
      if (yych == ')') goto yy115;
10254
6.82k
      if (yych <= ',') goto yy315;
10255
1.99k
      goto yy297;
10256
11.7k
    } else {
10257
11.7k
      if (yych == '/') goto yy297;
10258
9.58k
      if (yych <= '@') goto yy315;
10259
4.53k
      goto yy472;
10260
9.58k
    }
10261
42.0k
  } else {
10262
42.0k
    if (yych <= '_') {
10263
7.24k
      if (yych <= 'S') goto yy546;
10264
4.77k
      if (yych <= 'Z') goto yy472;
10265
3.37k
      if (yych <= '^') goto yy315;
10266
1.68k
      goto yy297;
10267
34.8k
    } else {
10268
34.8k
      if (yych <= 'r') {
10269
5.78k
        if (yych <= '`') goto yy315;
10270
4.16k
        goto yy478;
10271
29.0k
      } else {
10272
29.0k
        if (yych <= 's') goto yy552;
10273
9.20k
        if (yych <= 'z') goto yy478;
10274
5.66k
        goto yy315;
10275
9.20k
      }
10276
34.8k
    }
10277
42.0k
  }
10278
117k
yy379:
10279
117k
  YYDEBUG(379, *YYCURSOR);
10280
117k
  yyaccept = 2;
10281
117k
  yych = *(YYMARKER = ++YYCURSOR);
10282
117k
  if (yych <= 'K') {
10283
19.0k
    if (yych <= '-') {
10284
9.61k
      if (yych == ')') goto yy115;
10285
7.59k
      if (yych <= ',') goto yy20;
10286
2.65k
      goto yy297;
10287
9.39k
    } else {
10288
9.39k
      if (yych == '/') goto yy297;
10289
8.23k
      if (yych <= '@') goto yy20;
10290
2.02k
      goto yy472;
10291
8.23k
    }
10292
98.0k
  } else {
10293
98.0k
    if (yych <= '_') {
10294
24.9k
      if (yych <= 'L') goto yy547;
10295
7.95k
      if (yych <= 'Z') goto yy472;
10296
4.82k
      if (yych <= '^') goto yy20;
10297
1.98k
      goto yy297;
10298
73.0k
    } else {
10299
73.0k
      if (yych <= 'k') {
10300
5.27k
        if (yych <= '`') goto yy20;
10301
4.32k
        goto yy478;
10302
67.8k
      } else {
10303
67.8k
        if (yych <= 'l') goto yy553;
10304
7.76k
        if (yych <= 'z') goto yy478;
10305
4.31k
        goto yy20;
10306
7.76k
      }
10307
73.0k
    }
10308
98.0k
  }
10309
122k
yy380:
10310
122k
  YYDEBUG(380, *YYCURSOR);
10311
122k
  yyaccept = 2;
10312
122k
  yych = *(YYMARKER = ++YYCURSOR);
10313
122k
  if (yych <= '.') {
10314
33.3k
    if (yych <= ' ') {
10315
11.1k
      if (yych == '\t') goto yy142;
10316
9.97k
      if (yych <= 0x1F) goto yy20;
10317
2.26k
      goto yy142;
10318
22.1k
    } else {
10319
22.1k
      if (yych == ')') goto yy115;
10320
7.25k
      if (yych <= ',') goto yy20;
10321
2.93k
      goto yy142;
10322
7.25k
    }
10323
89.2k
  } else {
10324
89.2k
    if (yych <= 'H') {
10325
30.0k
      if (yych <= '/') goto yy20;
10326
21.4k
      if (yych <= '9') goto yy142;
10327
8.93k
      if (yych <= '@') goto yy20;
10328
4.07k
      goto yy472;
10329
59.1k
    } else {
10330
59.1k
      if (yych <= 'Z') {
10331
40.7k
        if (yych <= 'I') goto yy554;
10332
3.35k
        goto yy472;
10333
40.7k
      } else {
10334
18.3k
        if (yych <= '`') goto yy20;
10335
12.2k
        if (yych <= 'z') goto yy472;
10336
5.73k
        goto yy20;
10337
12.2k
      }
10338
59.1k
    }
10339
89.2k
  }
10340
119k
yy381:
10341
119k
  YYDEBUG(381, *YYCURSOR);
10342
119k
  yych = *++YYCURSOR;
10343
119k
  if (yych <= 'N') {
10344
50.8k
    if (yych <= ')') {
10345
15.3k
      if (yych <= '(') goto yy315;
10346
1.32k
      goto yy115;
10347
35.5k
    } else {
10348
35.5k
      if (yych <= '@') goto yy315;
10349
16.0k
      if (yych <= 'M') goto yy472;
10350
10.7k
      goto yy555;
10351
16.0k
    }
10352
68.2k
  } else {
10353
68.2k
    if (yych <= 'm') {
10354
14.1k
      if (yych <= 'Z') goto yy472;
10355
12.6k
      if (yych <= '`') goto yy315;
10356
10.8k
      goto yy472;
10357
54.1k
    } else {
10358
54.1k
      if (yych <= 'n') goto yy555;
10359
20.0k
      if (yych <= 'z') goto yy472;
10360
13.0k
      goto yy315;
10361
20.0k
    }
10362
68.2k
  }
10363
107k
yy382:
10364
107k
  YYDEBUG(382, *YYCURSOR);
10365
107k
  yych = *++YYCURSOR;
10366
107k
  if (yych <= 'K') {
10367
52.5k
    if (yych <= ')') {
10368
7.44k
      if (yych <= '(') goto yy20;
10369
1.58k
      goto yy115;
10370
45.0k
    } else {
10371
45.0k
      if (yych <= '@') goto yy20;
10372
32.6k
      if (yych <= 'J') goto yy472;
10373
23.7k
      goto yy546;
10374
32.6k
    }
10375
55.3k
  } else {
10376
55.3k
    if (yych <= 'j') {
10377
14.9k
      if (yych <= 'Z') goto yy472;
10378
10.7k
      if (yych <= '`') goto yy20;
10379
4.66k
      goto yy472;
10380
40.3k
    } else {
10381
40.3k
      if (yych <= 'k') goto yy546;
10382
12.0k
      if (yych <= 'z') goto yy472;
10383
6.37k
      goto yy20;
10384
12.0k
    }
10385
55.3k
  }
10386
207k
yy383:
10387
207k
  YYDEBUG(383, *YYCURSOR);
10388
207k
  yyaccept = 9;
10389
207k
  yych = *(YYMARKER = ++YYCURSOR);
10390
207k
  if (yych <= 'M') {
10391
41.3k
    if (yych <= '-') {
10392
27.5k
      if (yych == ')') goto yy115;
10393
23.1k
      if (yych <= ',') goto yy315;
10394
1.66k
      goto yy297;
10395
23.1k
    } else {
10396
13.8k
      if (yych == '/') goto yy297;
10397
10.3k
      if (yych <= '@') goto yy315;
10398
3.33k
      goto yy472;
10399
10.3k
    }
10400
166k
  } else {
10401
166k
    if (yych <= '_') {
10402
29.0k
      if (yych <= 'N') goto yy555;
10403
7.78k
      if (yych <= 'Z') goto yy472;
10404
5.21k
      if (yych <= '^') goto yy315;
10405
2.36k
      goto yy297;
10406
137k
    } else {
10407
137k
      if (yych <= 'm') {
10408
9.45k
        if (yych <= '`') goto yy315;
10409
6.68k
        goto yy478;
10410
127k
      } else {
10411
127k
        if (yych <= 'n') goto yy556;
10412
12.8k
        if (yych <= 'z') goto yy478;
10413
10.2k
        goto yy315;
10414
12.8k
      }
10415
137k
    }
10416
166k
  }
10417
192k
yy384:
10418
192k
  YYDEBUG(384, *YYCURSOR);
10419
192k
  yyaccept = 2;
10420
192k
  yych = *(YYMARKER = ++YYCURSOR);
10421
192k
  if (yych <= 'J') {
10422
34.8k
    if (yych <= '-') {
10423
18.7k
      if (yych == ')') goto yy115;
10424
16.1k
      if (yych <= ',') goto yy20;
10425
5.79k
      goto yy297;
10426
16.1k
    } else {
10427
16.1k
      if (yych == '/') goto yy297;
10428
14.3k
      if (yych <= '@') goto yy20;
10429
5.81k
      goto yy472;
10430
14.3k
    }
10431
157k
  } else {
10432
157k
    if (yych <= '_') {
10433
26.3k
      if (yych <= 'K') goto yy546;
10434
13.7k
      if (yych <= 'Z') goto yy472;
10435
11.4k
      if (yych <= '^') goto yy20;
10436
3.32k
      goto yy297;
10437
130k
    } else {
10438
130k
      if (yych <= 'j') {
10439
9.05k
        if (yych <= '`') goto yy20;
10440
7.02k
        goto yy478;
10441
121k
      } else {
10442
121k
        if (yych <= 'k') goto yy552;
10443
12.6k
        if (yych <= 'z') goto yy478;
10444
8.31k
        goto yy20;
10445
12.6k
      }
10446
130k
    }
10447
157k
  }
10448
102k
yy385:
10449
102k
  YYDEBUG(385, *YYCURSOR);
10450
102k
  yych = *++YYCURSOR;
10451
102k
  if (yych <= 'T') {
10452
41.5k
    if (yych <= ')') {
10453
6.03k
      if (yych <= '(') goto yy20;
10454
1.18k
      goto yy115;
10455
35.4k
    } else {
10456
35.4k
      if (yych <= '@') goto yy20;
10457
29.9k
      if (yych <= 'S') goto yy472;
10458
26.7k
      goto yy557;
10459
29.9k
    }
10460
60.7k
  } else {
10461
60.7k
    if (yych <= 's') {
10462
7.77k
      if (yych <= 'Z') goto yy472;
10463
5.88k
      if (yych <= '`') goto yy20;
10464
2.91k
      goto yy472;
10465
52.9k
    } else {
10466
52.9k
      if (yych <= 't') goto yy557;
10467
6.84k
      if (yych <= 'z') goto yy472;
10468
2.60k
      goto yy20;
10469
6.84k
    }
10470
60.7k
  }
10471
253k
yy386:
10472
253k
  YYDEBUG(386, *YYCURSOR);
10473
253k
  yyaccept = 2;
10474
253k
  yych = *(YYMARKER = ++YYCURSOR);
10475
253k
  if (yych <= 'S') {
10476
27.9k
    if (yych <= '-') {
10477
11.8k
      if (yych == ')') goto yy115;
10478
6.14k
      if (yych <= ',') goto yy20;
10479
3.18k
      goto yy297;
10480
16.1k
    } else {
10481
16.1k
      if (yych == '/') goto yy297;
10482
15.1k
      if (yych <= '@') goto yy20;
10483
3.93k
      goto yy472;
10484
15.1k
    }
10485
225k
  } else {
10486
225k
    if (yych <= '_') {
10487
20.2k
      if (yych <= 'T') goto yy557;
10488
6.56k
      if (yych <= 'Z') goto yy472;
10489
2.51k
      if (yych <= '^') goto yy20;
10490
1.68k
      goto yy297;
10491
205k
    } else {
10492
205k
      if (yych <= 's') {
10493
9.14k
        if (yych <= '`') goto yy20;
10494
8.12k
        goto yy478;
10495
196k
      } else {
10496
196k
        if (yych <= 't') goto yy558;
10497
9.34k
        if (yych <= 'z') goto yy478;
10498
7.25k
        goto yy20;
10499
9.34k
      }
10500
205k
    }
10501
225k
  }
10502
152k
yy387:
10503
152k
  YYDEBUG(387, *YYCURSOR);
10504
152k
  ++YYCURSOR;
10505
152k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
10506
152k
  yych = *YYCURSOR;
10507
152k
  if (yych == 0xA0) goto yy193;
10508
52.7k
  goto yy59;
10509
686k
yy388:
10510
686k
  YYDEBUG(388, *YYCURSOR);
10511
686k
  yyaccept = 0;
10512
686k
  YYMARKER = ++YYCURSOR;
10513
686k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
10514
686k
  yych = *YYCURSOR;
10515
686k
  if (yych == 0xE2) goto yy559;
10516
614k
  goto yy8;
10517
1.93M
yy389:
10518
1.93M
  YYDEBUG(389, *YYCURSOR);
10519
1.93M
  yych = *++YYCURSOR;
10520
1.93M
  if (yych <= 0xC1) {
10521
1.84M
    if (yych <= '/') goto yy196;
10522
1.50M
    if (yych <= '9') goto yy560;
10523
213k
    goto yy196;
10524
1.50M
  } else {
10525
88.5k
    if (yych <= 0xC2) goto yy97;
10526
67.9k
    if (yych == 0xE2) goto yy98;
10527
52.8k
    goto yy196;
10528
67.9k
  }
10529
103k
yy390:
10530
103k
  YYDEBUG(390, *YYCURSOR);
10531
103k
  yych = *++YYCURSOR;
10532
103k
  if (yych == 'C') goto yy443;
10533
95.3k
  if (yych == 'c') goto yy443;
10534
77.9k
  goto yy59;
10535
989k
yy391:
10536
989k
  YYDEBUG(391, *YYCURSOR);
10537
989k
  yyaccept = 2;
10538
989k
  yych = *(YYMARKER = ++YYCURSOR);
10539
989k
  if (yych <= 'X') {
10540
865k
    if (yych <= 'E') {
10541
816k
      if (yych <= ' ') {
10542
43.0k
        if (yych == '\t') goto yy196;
10543
37.5k
        if (yych <= 0x1F) goto yy20;
10544
6.06k
        goto yy196;
10545
773k
      } else {
10546
773k
        if (yych <= '9') {
10547
730k
          if (yych <= '/') goto yy20;
10548
680k
          goto yy561;
10549
730k
        } else {
10550
43.3k
          if (yych == 'D') goto yy196;
10551
37.4k
          goto yy20;
10552
43.3k
        }
10553
773k
      }
10554
816k
    } else {
10555
48.5k
      if (yych <= 'M') {
10556
25.5k
        if (yych <= 'G') {
10557
12.2k
          if (yych <= 'F') goto yy196;
10558
5.47k
          goto yy20;
10559
13.2k
        } else {
10560
13.2k
          if (yych <= 'H') goto yy196;
10561
11.4k
          if (yych <= 'L') goto yy20;
10562
4.90k
          goto yy196;
10563
11.4k
        }
10564
25.5k
      } else {
10565
23.0k
        if (yych <= 'U') {
10566
15.4k
          if (yych <= 'R') goto yy20;
10567
6.11k
          goto yy196;
10568
15.4k
        } else {
10569
7.63k
          if (yych == 'W') goto yy196;
10570
5.49k
          goto yy20;
10571
7.63k
        }
10572
23.0k
      }
10573
48.5k
    }
10574
865k
  } else {
10575
124k
    if (yych <= 'r') {
10576
53.3k
      if (yych <= 'f') {
10577
14.5k
        if (yych <= 'c') {
10578
6.94k
          if (yych <= 'Y') goto yy196;
10579
4.99k
          goto yy20;
10580
7.63k
        } else {
10581
7.63k
          if (yych == 'e') goto yy20;
10582
3.48k
          goto yy196;
10583
7.63k
        }
10584
38.7k
      } else {
10585
38.7k
        if (yych <= 'h') {
10586
6.51k
          if (yych <= 'g') goto yy20;
10587
5.02k
          goto yy196;
10588
32.2k
        } else {
10589
32.2k
          if (yych == 'm') goto yy196;
10590
24.7k
          goto yy20;
10591
32.2k
        }
10592
38.7k
      }
10593
70.7k
    } else {
10594
70.7k
      if (yych <= 'y') {
10595
17.8k
        if (yych <= 'v') {
10596
11.0k
          if (yych <= 'u') goto yy196;
10597
1.19k
          goto yy20;
10598
11.0k
        } else {
10599
6.78k
          if (yych == 'x') goto yy20;
10600
4.06k
          goto yy196;
10601
6.78k
        }
10602
52.8k
      } else {
10603
52.8k
        if (yych <= 0xC2) {
10604
29.5k
          if (yych <= 0xC1) goto yy20;
10605
3.33k
          goto yy97;
10606
29.5k
        } else {
10607
23.3k
          if (yych == 0xE2) goto yy98;
10608
21.6k
          goto yy20;
10609
23.3k
        }
10610
52.8k
      }
10611
70.7k
    }
10612
124k
  }
10613
811k
yy392:
10614
811k
  YYDEBUG(392, *YYCURSOR);
10615
811k
  yyaccept = 2;
10616
811k
  yych = *(YYMARKER = ++YYCURSOR);
10617
811k
  if (yych <= 'X') {
10618
689k
    if (yych <= 'E') {
10619
620k
      if (yych <= ' ') {
10620
27.8k
        if (yych == '\t') goto yy196;
10621
23.5k
        if (yych <= 0x1F) goto yy20;
10622
3.58k
        goto yy196;
10623
592k
      } else {
10624
592k
        if (yych <= '9') {
10625
481k
          if (yych <= '/') goto yy20;
10626
418k
          goto yy562;
10627
481k
        } else {
10628
111k
          if (yych == 'D') goto yy196;
10629
106k
          goto yy20;
10630
111k
        }
10631
592k
      }
10632
620k
    } else {
10633
69.3k
      if (yych <= 'M') {
10634
33.0k
        if (yych <= 'G') {
10635
12.2k
          if (yych <= 'F') goto yy196;
10636
5.92k
          goto yy20;
10637
20.7k
        } else {
10638
20.7k
          if (yych <= 'H') goto yy196;
10639
18.0k
          if (yych <= 'L') goto yy20;
10640
6.71k
          goto yy196;
10641
18.0k
        }
10642
36.3k
      } else {
10643
36.3k
        if (yych <= 'U') {
10644
18.1k
          if (yych <= 'R') goto yy20;
10645
9.11k
          goto yy196;
10646
18.1k
        } else {
10647
18.1k
          if (yych == 'W') goto yy196;
10648
15.3k
          goto yy20;
10649
18.1k
        }
10650
36.3k
      }
10651
69.3k
    }
10652
689k
  } else {
10653
121k
    if (yych <= 'r') {
10654
62.2k
      if (yych <= 'f') {
10655
19.9k
        if (yych <= 'c') {
10656
11.6k
          if (yych <= 'Y') goto yy196;
10657
6.77k
          goto yy20;
10658
11.6k
        } else {
10659
8.28k
          if (yych == 'e') goto yy20;
10660
2.88k
          goto yy196;
10661
8.28k
        }
10662
42.3k
      } else {
10663
42.3k
        if (yych <= 'h') {
10664
4.75k
          if (yych <= 'g') goto yy20;
10665
3.28k
          goto yy196;
10666
37.5k
        } else {
10667
37.5k
          if (yych == 'm') goto yy196;
10668
32.1k
          goto yy20;
10669
37.5k
        }
10670
42.3k
      }
10671
62.2k
    } else {
10672
59.5k
      if (yych <= 'y') {
10673
24.3k
        if (yych <= 'v') {
10674
11.7k
          if (yych <= 'u') goto yy196;
10675
1.45k
          goto yy20;
10676
12.6k
        } else {
10677
12.6k
          if (yych == 'x') goto yy20;
10678
11.5k
          goto yy196;
10679
12.6k
        }
10680
35.2k
      } else {
10681
35.2k
        if (yych <= 0xC2) {
10682
19.0k
          if (yych <= 0xC1) goto yy20;
10683
5.67k
          goto yy97;
10684
19.0k
        } else {
10685
16.1k
          if (yych == 0xE2) goto yy98;
10686
12.8k
          goto yy20;
10687
16.1k
        }
10688
35.2k
      }
10689
59.5k
    }
10690
121k
  }
10691
190k
yy393:
10692
190k
  YYDEBUG(393, *YYCURSOR);
10693
190k
  yych = *++YYCURSOR;
10694
190k
  if (yych <= '/') goto yy59;
10695
139k
  if (yych <= '5') goto yy563;
10696
46.8k
  if (yych <= '9') goto yy115;
10697
32.9k
  goto yy59;
10698
64.8k
yy394:
10699
64.8k
  YYDEBUG(394, *YYCURSOR);
10700
64.8k
  yych = *++YYCURSOR;
10701
64.8k
  if (yych <= '/') goto yy20;
10702
50.4k
  if (yych <= '9') goto yy115;
10703
20.3k
  goto yy20;
10704
347k
yy395:
10705
347k
  YYDEBUG(395, *YYCURSOR);
10706
347k
  yych = *++YYCURSOR;
10707
347k
  if (yych <= 0xC1) {
10708
333k
    if (yych <= '/') goto yy196;
10709
296k
    if (yych <= '9') goto yy562;
10710
66.2k
    goto yy196;
10711
296k
  } else {
10712
13.7k
    if (yych <= 0xC2) goto yy97;
10713
11.3k
    if (yych == 0xE2) goto yy98;
10714
7.40k
    goto yy196;
10715
11.3k
  }
10716
156k
yy396:
10717
156k
  YYDEBUG(396, *YYCURSOR);
10718
156k
  yych = *++YYCURSOR;
10719
156k
  if (yych <= '/') goto yy59;
10720
139k
  if (yych <= '9') goto yy564;
10721
37.1k
  goto yy59;
10722
39.3k
yy397:
10723
39.3k
  YYDEBUG(397, *YYCURSOR);
10724
39.3k
  yych = *++YYCURSOR;
10725
39.3k
  if (yych <= '/') goto yy59;
10726
36.3k
  if (yych <= '9') goto yy565;
10727
13.4k
  goto yy59;
10728
338k
yy398:
10729
338k
  YYDEBUG(398, *YYCURSOR);
10730
338k
  yych = *++YYCURSOR;
10731
338k
  if (yych <= '/') goto yy59;
10732
280k
  if (yych <= '2') goto yy566;
10733
181k
  if (yych <= '3') goto yy568;
10734
111k
  if (yych <= '9') goto yy569;
10735
84.2k
  goto yy59;
10736
85.3k
yy399:
10737
85.3k
  YYDEBUG(399, *YYCURSOR);
10738
85.3k
  yych = *++YYCURSOR;
10739
85.3k
  if (yych == 'P') goto yy444;
10740
69.2k
  if (yych == 'p') goto yy444;
10741
38.0k
  goto yy59;
10742
97.7k
yy400:
10743
97.7k
  YYDEBUG(400, *YYCURSOR);
10744
97.7k
  yych = *++YYCURSOR;
10745
97.7k
  if (yych <= '/') goto yy59;
10746
88.4k
  if (yych <= '5') goto yy570;
10747
38.9k
  if (yych <= '6') goto yy571;
10748
25.4k
  if (yych <= '9') goto yy572;
10749
17.4k
  goto yy59;
10750
295k
yy401:
10751
295k
  YYDEBUG(401, *YYCURSOR);
10752
295k
  yych = *++YYCURSOR;
10753
295k
  if (yych <= '/') goto yy59;
10754
245k
  if (yych <= '5') goto yy573;
10755
83.0k
  if (yych <= '6') goto yy574;
10756
51.1k
  if (yych <= '9') goto yy575;
10757
42.6k
  goto yy59;
10758
121k
yy402:
10759
121k
  YYDEBUG(402, *YYCURSOR);
10760
121k
  yych = *++YYCURSOR;
10761
121k
  if (yych <= '/') goto yy59;
10762
108k
  if (yych <= '9') goto yy576;
10763
14.7k
  goto yy59;
10764
32.8k
yy403:
10765
32.8k
  YYDEBUG(403, *YYCURSOR);
10766
32.8k
  yych = *++YYCURSOR;
10767
32.8k
  if (yych == 'd') goto yy577;
10768
25.6k
  goto yy59;
10769
25.6k
yy404:
10770
21.8k
  YYDEBUG(404, *YYCURSOR);
10771
21.8k
  yych = *++YYCURSOR;
10772
21.8k
  if (yych == 't') goto yy577;
10773
14.7k
  goto yy59;
10774
18.2k
yy405:
10775
18.2k
  YYDEBUG(405, *YYCURSOR);
10776
18.2k
  yych = *++YYCURSOR;
10777
18.2k
  if (yych == 'h') goto yy577;
10778
14.6k
  goto yy59;
10779
23.0k
yy406:
10780
23.0k
  YYDEBUG(406, *YYCURSOR);
10781
23.0k
  yych = *++YYCURSOR;
10782
23.0k
  if (yych == 'R') goto yy578;
10783
17.2k
  if (yych == 'r') goto yy578;
10784
5.71k
  goto yy59;
10785
28.7k
yy407:
10786
28.7k
  YYDEBUG(407, *YYCURSOR);
10787
28.7k
  yych = *++YYCURSOR;
10788
28.7k
  if (yych == 'G') goto yy578;
10789
17.8k
  if (yych == 'g') goto yy578;
10790
11.5k
  goto yy59;
10791
34.0k
yy408:
10792
34.0k
  YYDEBUG(408, *YYCURSOR);
10793
34.0k
  yych = *++YYCURSOR;
10794
34.0k
  if (yych == 'C') goto yy578;
10795
25.5k
  if (yych == 'c') goto yy578;
10796
6.19k
  goto yy59;
10797
20.8k
yy409:
10798
20.8k
  YYDEBUG(409, *YYCURSOR);
10799
20.8k
  yych = *++YYCURSOR;
10800
20.8k
  if (yych == 'B') goto yy578;
10801
18.6k
  if (yych == 'b') goto yy578;
10802
6.76k
  goto yy59;
10803
61.2k
yy410:
10804
61.2k
  YYDEBUG(410, *YYCURSOR);
10805
61.2k
  yych = *++YYCURSOR;
10806
61.2k
  if (yych == 'N') goto yy578;
10807
49.3k
  if (yych == 'n') goto yy578;
10808
13.9k
  goto yy59;
10809
367k
yy411:
10810
367k
  YYDEBUG(411, *YYCURSOR);
10811
367k
  yych = *++YYCURSOR;
10812
367k
  if (yych <= 'N') {
10813
155k
    if (yych == 'L') goto yy578;
10814
133k
    if (yych <= 'M') goto yy59;
10815
112k
    goto yy578;
10816
212k
  } else {
10817
212k
    if (yych <= 'l') {
10818
88.1k
      if (yych <= 'k') goto yy59;
10819
74.2k
      goto yy578;
10820
124k
    } else {
10821
124k
      if (yych == 'n') goto yy578;
10822
13.1k
      goto yy59;
10823
124k
    }
10824
212k
  }
10825
77.9k
yy412:
10826
77.9k
  YYDEBUG(412, *YYCURSOR);
10827
77.9k
  yych = *++YYCURSOR;
10828
77.9k
  if (yych <= 'Y') {
10829
22.4k
    if (yych == 'R') goto yy578;
10830
11.7k
    if (yych <= 'X') goto yy59;
10831
5.80k
    goto yy578;
10832
55.5k
  } else {
10833
55.5k
    if (yych <= 'r') {
10834
40.4k
      if (yych <= 'q') goto yy59;
10835
26.5k
      goto yy578;
10836
40.4k
    } else {
10837
15.0k
      if (yych == 'y') goto yy578;
10838
9.07k
      goto yy59;
10839
15.0k
    }
10840
55.5k
  }
10841
28.0k
yy413:
10842
28.0k
  YYDEBUG(413, *YYCURSOR);
10843
28.0k
  yych = *++YYCURSOR;
10844
28.0k
  if (yych == 'V') goto yy578;
10845
14.5k
  if (yych == 'v') goto yy578;
10846
9.34k
  goto yy59;
10847
53.3k
yy414:
10848
53.3k
  YYDEBUG(414, *YYCURSOR);
10849
53.3k
  yych = *++YYCURSOR;
10850
53.3k
  if (yych == 'T') goto yy578;
10851
50.4k
  if (yych == 't') goto yy578;
10852
14.0k
  goto yy59;
10853
88.9k
yy415:
10854
88.9k
  YYDEBUG(415, *YYCURSOR);
10855
88.9k
  yych = *++YYCURSOR;
10856
88.9k
  if (yych == 'P') goto yy579;
10857
44.7k
  if (yych == 'p') goto yy579;
10858
19.6k
  goto yy59;
10859
226k
yy416:
10860
226k
  YYDEBUG(416, *YYCURSOR);
10861
226k
  yych = *++YYCURSOR;
10862
226k
  if (yych <= '.') {
10863
32.2k
    if (yych <= ',') goto yy59;
10864
12.8k
    if (yych <= '-') goto yy398;
10865
5.33k
    goto yy396;
10866
194k
  } else {
10867
194k
    if (yych <= '/') goto yy59;
10868
190k
    if (yych <= '9') goto yy580;
10869
49.8k
    goto yy59;
10870
190k
  }
10871
136k
yy417:
10872
136k
  YYDEBUG(417, *YYCURSOR);
10873
136k
  yych = *++YYCURSOR;
10874
136k
  if (yych <= '.') {
10875
34.9k
    if (yych <= ',') goto yy59;
10876
18.1k
    if (yych <= '-') goto yy398;
10877
3.92k
    goto yy396;
10878
101k
  } else {
10879
101k
    if (yych <= '/') goto yy59;
10880
98.7k
    if (yych <= '2') goto yy580;
10881
35.9k
    goto yy59;
10882
98.7k
  }
10883
743k
yy418:
10884
743k
  YYDEBUG(418, *YYCURSOR);
10885
743k
  yych = *++YYCURSOR;
10886
743k
  switch (yych) {
10887
123k
  case '0': goto yy581;
10888
96.2k
  case '1': goto yy582;
10889
38.2k
  case '2':
10890
64.0k
  case '3':
10891
79.0k
  case '4':
10892
95.1k
  case '5':
10893
110k
  case '6':
10894
118k
  case '7':
10895
127k
  case '8':
10896
141k
  case '9': goto yy462;
10897
30.8k
  case 'A':
10898
36.3k
  case 'a': goto yy463;
10899
10.8k
  case 'D':
10900
21.8k
  case 'd': goto yy464;
10901
7.46k
  case 'F':
10902
25.0k
  case 'f': goto yy465;
10903
35.4k
  case 'J':
10904
53.2k
  case 'j': goto yy466;
10905
17.6k
  case 'M':
10906
39.9k
  case 'm': goto yy467;
10907
15.9k
  case 'N':
10908
23.5k
  case 'n': goto yy468;
10909
9.98k
  case 'O':
10910
14.3k
  case 'o': goto yy469;
10911
14.7k
  case 'S':
10912
34.0k
  case 's': goto yy470;
10913
133k
  default:  goto yy59;
10914
743k
  }
10915
6.66M
yy419:
10916
6.66M
  YYDEBUG(419, *YYCURSOR);
10917
6.66M
  yyaccept = 12;
10918
6.66M
  yych = *(YYMARKER = ++YYCURSOR);
10919
6.66M
  if (yych <= 'O') {
10920
6.04M
    if (yych <= '5') {
10921
5.12M
      if (yych <= '-') {
10922
949k
        if (yych <= 0x1F) {
10923
263k
          if (yych == '\t') goto yy584;
10924
686k
        } else {
10925
686k
          if (yych <= ' ') goto yy584;
10926
560k
          if (yych >= '-') goto yy585;
10927
560k
        }
10928
4.17M
      } else {
10929
4.17M
        if (yych <= '0') {
10930
2.56M
          if (yych <= '.') goto yy586;
10931
2.50M
          if (yych <= '/') goto yy587;
10932
2.37M
          goto yy588;
10933
2.50M
        } else {
10934
1.60M
          if (yych <= '1') goto yy589;
10935
1.02M
          if (yych <= '2') goto yy590;
10936
654k
          if (yych <= '3') goto yy591;
10937
397k
          goto yy592;
10938
654k
        }
10939
4.17M
      }
10940
5.12M
    } else {
10941
919k
      if (yych <= 'C') {
10942
778k
        if (yych <= ':') {
10943
675k
          if (yych <= '6') goto yy593;
10944
456k
          if (yych <= '9') goto yy594;
10945
176k
          goto yy595;
10946
456k
        } else {
10947
102k
          if (yych == 'A') goto yy584;
10948
102k
        }
10949
778k
      } else {
10950
141k
        if (yych <= 'F') {
10951
44.6k
          if (yych != 'E') goto yy584;
10952
96.4k
        } else {
10953
96.4k
          if (yych <= 'G') goto yy420;
10954
87.9k
          if (yych <= 'J') goto yy584;
10955
51.6k
          if (yych >= 'M') goto yy584;
10956
51.6k
        }
10957
141k
      }
10958
919k
    }
10959
6.04M
  } else {
10960
621k
    if (yych <= 'i') {
10961
238k
      if (yych <= 'a') {
10962
163k
        if (yych <= 'W') {
10963
119k
          if (yych <= 'R') goto yy420;
10964
106k
          if (yych <= 'V') goto yy584;
10965
33.9k
          goto yy607;
10966
106k
        } else {
10967
44.0k
          if (yych <= 'Y') goto yy584;
10968
32.4k
          if (yych >= 'a') goto yy584;
10969
32.4k
        }
10970
163k
      } else {
10971
74.5k
        if (yych <= 'e') {
10972
36.7k
          if (yych == 'd') goto yy584;
10973
37.8k
        } else {
10974
37.8k
          if (yych == 'g') goto yy420;
10975
30.4k
          if (yych <= 'h') goto yy584;
10976
30.4k
        }
10977
74.5k
      }
10978
383k
    } else {
10979
383k
      if (yych <= 'w') {
10980
168k
        if (yych <= 'o') {
10981
56.7k
          if (yych <= 'j') goto yy584;
10982
44.6k
          if (yych >= 'm') goto yy584;
10983
111k
        } else {
10984
111k
          if (yych <= 'r') goto yy420;
10985
80.0k
          if (yych != 'v') goto yy584;
10986
80.0k
        }
10987
215k
      } else {
10988
215k
        if (yych <= 0xC1) {
10989
83.3k
          if (yych == 'y') goto yy584;
10990
132k
        } else {
10991
132k
          if (yych <= 0xC2) goto yy97;
10992
118k
          if (yych == 0xE2) goto yy98;
10993
118k
        }
10994
215k
      }
10995
383k
    }
10996
621k
  }
10997
2.93M
yy420:
10998
2.93M
  YYDEBUG(420, *YYCURSOR);
10999
2.93M
#line 1415 "ext/date/lib/parse_date.re"
11000
2.93M
  {
11001
2.93M
    DEBUG_OUTPUT("gnunocolon");
11002
2.93M
    TIMELIB_INIT;
11003
2.93M
    switch (s->time->have_time) {
11004
455k
      case 0:
11005
455k
        s->time->h = timelib_get_nr(&ptr, 2);
11006
455k
        s->time->i = timelib_get_nr(&ptr, 2);
11007
455k
        s->time->s = 0;
11008
455k
        break;
11009
664k
      case 1:
11010
664k
        s->time->y = timelib_get_nr(&ptr, 4);
11011
664k
        break;
11012
1.81M
      default:
11013
1.81M
        TIMELIB_DEINIT;
11014
1.81M
        add_error(s, TIMELIB_ERR_DOUBLE_TIME, "Double time specification");
11015
1.81M
        return TIMELIB_ERROR;
11016
2.93M
    }
11017
1.12M
    s->time->have_time++;
11018
1.12M
    TIMELIB_DEINIT;
11019
1.12M
    return TIMELIB_GNU_NOCOLON;
11020
2.93M
  }
11021
0
#line 11022 "ext/date/lib/parse_date.c"
11022
7.53M
yy421:
11023
7.53M
  YYDEBUG(421, *YYCURSOR);
11024
7.53M
  yyaccept = 13;
11025
7.53M
  yych = *(YYMARKER = ++YYCURSOR);
11026
7.53M
  if (yych <= 'R') {
11027
6.88M
    if (yych <= '3') {
11028
3.53M
      if (yych <= '-') {
11029
1.24M
        if (yych <= 0x1F) {
11030
286k
          if (yych == '\t') goto yy584;
11031
962k
        } else {
11032
962k
          if (yych <= ' ') goto yy584;
11033
872k
          if (yych >= '-') goto yy585;
11034
872k
        }
11035
2.28M
      } else {
11036
2.28M
        if (yych <= '0') {
11037
1.16M
          if (yych <= '.') goto yy586;
11038
1.06M
          if (yych <= '/') goto yy587;
11039
977k
          goto yy609;
11040
1.11M
        } else {
11041
1.11M
          if (yych <= '1') goto yy610;
11042
744k
          if (yych <= '2') goto yy611;
11043
463k
          goto yy612;
11044
744k
        }
11045
2.28M
      }
11046
3.53M
    } else {
11047
3.34M
      if (yych <= 'D') {
11048
3.18M
        if (yych <= '@') {
11049
3.13M
          if (yych <= '9') goto yy594;
11050
594k
          if (yych <= ':') goto yy595;
11051
594k
        } else {
11052
44.2k
          if (yych <= 'A') goto yy584;
11053
19.5k
          if (yych >= 'D') goto yy584;
11054
19.5k
        }
11055
3.18M
      } else {
11056
163k
        if (yych <= 'G') {
11057
38.3k
          if (yych == 'F') goto yy584;
11058
124k
        } else {
11059
124k
          if (yych <= 'J') goto yy584;
11060
79.1k
          if (yych <= 'L') goto yy422;
11061
69.1k
          if (yych <= 'O') goto yy584;
11062
69.1k
        }
11063
163k
      }
11064
3.34M
    }
11065
6.88M
  } else {
11066
656k
    if (yych <= 'j') {
11067
240k
      if (yych <= 'c') {
11068
153k
        if (yych <= 'Y') {
11069
107k
          if (yych == 'W') goto yy607;
11070
74.9k
          goto yy584;
11071
107k
        } else {
11072
45.8k
          if (yych == 'a') goto yy584;
11073
45.8k
        }
11074
153k
      } else {
11075
86.7k
        if (yych <= 'f') {
11076
49.9k
          if (yych != 'e') goto yy584;
11077
49.9k
        } else {
11078
36.7k
          if (yych == 'h') goto yy584;
11079
28.9k
          if (yych >= 'j') goto yy584;
11080
28.9k
        }
11081
86.7k
      }
11082
416k
    } else {
11083
416k
      if (yych <= 'w') {
11084
142k
        if (yych <= 'r') {
11085
73.8k
          if (yych <= 'l') goto yy422;
11086
63.1k
          if (yych <= 'o') goto yy584;
11087
68.4k
        } else {
11088
68.4k
          if (yych != 'v') goto yy584;
11089
68.4k
        }
11090
274k
      } else {
11091
274k
        if (yych <= 0xC1) {
11092
119k
          if (yych == 'y') goto yy584;
11093
154k
        } else {
11094
154k
          if (yych <= 0xC2) goto yy97;
11095
138k
          if (yych == 0xE2) goto yy98;
11096
138k
        }
11097
274k
      }
11098
416k
    }
11099
656k
  }
11100
5.74M
yy422:
11101
5.74M
  YYDEBUG(422, *YYCURSOR);
11102
5.74M
#line 1800 "ext/date/lib/parse_date.re"
11103
5.74M
  {
11104
5.74M
    DEBUG_OUTPUT("year4");
11105
5.74M
    TIMELIB_INIT;
11106
5.74M
    s->time->y = timelib_get_nr(&ptr, 4);
11107
5.74M
    TIMELIB_DEINIT;
11108
5.74M
    return TIMELIB_CLF;
11109
7.53M
  }
11110
0
#line 11111 "ext/date/lib/parse_date.c"
11111
71.7k
yy423:
11112
71.7k
  YYDEBUG(423, *YYCURSOR);
11113
71.7k
  yyaccept = 3;
11114
71.7k
  yych = *(YYMARKER = ++YYCURSOR);
11115
71.7k
  if (yych <= '.') {
11116
17.7k
    if (yych <= 0x1F) {
11117
7.74k
      if (yych == '\t') goto yy248;
11118
5.23k
      goto yy81;
11119
10.0k
    } else {
11120
10.0k
      if (yych <= ' ') goto yy248;
11121
7.77k
      if (yych <= ',') goto yy81;
11122
3.95k
      goto yy248;
11123
7.77k
    }
11124
53.9k
  } else {
11125
53.9k
    if (yych <= 'H') {
11126
16.0k
      if (yych <= '/') goto yy81;
11127
13.2k
      if (yych <= '9') goto yy250;
11128
5.53k
      goto yy81;
11129
37.8k
    } else {
11130
37.8k
      if (yych <= 'I') goto yy613;
11131
30.5k
      if (yych == 'i') goto yy613;
11132
17.6k
      goto yy81;
11133
30.5k
    }
11134
53.9k
  }
11135
97.6k
yy424:
11136
97.6k
  YYDEBUG(424, *YYCURSOR);
11137
97.6k
  yyaccept = 3;
11138
97.6k
  yych = *(YYMARKER = ++YYCURSOR);
11139
97.6k
  if (yych <= '.') {
11140
22.3k
    if (yych <= 0x1F) {
11141
6.30k
      if (yych == '\t') goto yy248;
11142
4.45k
      goto yy81;
11143
16.0k
    } else {
11144
16.0k
      if (yych <= ' ') goto yy248;
11145
13.8k
      if (yych <= ',') goto yy81;
11146
8.84k
      goto yy248;
11147
13.8k
    }
11148
75.3k
  } else {
11149
75.3k
    if (yych <= 'T') {
11150
14.7k
      if (yych <= '/') goto yy81;
11151
9.98k
      if (yych <= '9') goto yy250;
11152
5.50k
      goto yy81;
11153
60.5k
    } else {
11154
60.5k
      if (yych <= 'U') goto yy614;
11155
47.7k
      if (yych == 'u') goto yy614;
11156
25.3k
      goto yy81;
11157
47.7k
    }
11158
75.3k
  }
11159
68.9k
yy425:
11160
68.9k
  YYDEBUG(425, *YYCURSOR);
11161
68.9k
  yych = *++YYCURSOR;
11162
68.9k
  if (yych == 'S') goto yy615;
11163
64.5k
  if (yych == 's') goto yy615;
11164
54.8k
  goto yy260;
11165
136k
yy426:
11166
136k
  YYDEBUG(426, *YYCURSOR);
11167
136k
  yyaccept = 3;
11168
136k
  yych = *(YYMARKER = ++YYCURSOR);
11169
136k
  if (yych <= '.') {
11170
49.3k
    if (yych <= 0x1F) {
11171
16.2k
      if (yych == '\t') goto yy248;
11172
11.1k
      goto yy81;
11173
33.1k
    } else {
11174
33.1k
      if (yych <= ' ') goto yy248;
11175
29.1k
      if (yych <= ',') goto yy81;
11176
21.3k
      goto yy248;
11177
29.1k
    }
11178
87.1k
  } else {
11179
87.1k
    if (yych <= 'D') {
11180
19.1k
      if (yych <= '/') goto yy81;
11181
17.7k
      if (yych <= '9') goto yy250;
11182
7.29k
      goto yy81;
11183
67.9k
    } else {
11184
67.9k
      if (yych <= 'E') goto yy616;
11185
54.7k
      if (yych == 'e') goto yy616;
11186
17.4k
      goto yy81;
11187
54.7k
    }
11188
87.1k
  }
11189
82.1k
yy427:
11190
82.1k
  YYDEBUG(427, *YYCURSOR);
11191
82.1k
  yyaccept = 3;
11192
82.1k
  yych = *(YYMARKER = ++YYCURSOR);
11193
82.1k
  if (yych <= '.') {
11194
26.4k
    if (yych <= 0x1F) {
11195
12.9k
      if (yych == '\t') goto yy248;
11196
8.37k
      goto yy81;
11197
13.5k
    } else {
11198
13.5k
      if (yych <= ' ') goto yy248;
11199
11.5k
      if (yych <= ',') goto yy81;
11200
7.11k
      goto yy248;
11201
11.5k
    }
11202
55.6k
  } else {
11203
55.6k
    if (yych <= 'Q') {
11204
17.9k
      if (yych <= '/') goto yy81;
11205
14.1k
      if (yych <= '9') goto yy250;
11206
5.72k
      goto yy81;
11207
37.6k
    } else {
11208
37.6k
      if (yych <= 'R') goto yy617;
11209
31.9k
      if (yych == 'r') goto yy617;
11210
7.26k
      goto yy81;
11211
31.9k
    }
11212
55.6k
  }
11213
56.9k
yy428:
11214
56.9k
  YYDEBUG(428, *YYCURSOR);
11215
56.9k
  yych = *++YYCURSOR;
11216
56.9k
  if (yych == 'T') goto yy618;
11217
42.1k
  if (yych == 't') goto yy618;
11218
13.1k
  goto yy59;
11219
16.9k
yy429:
11220
16.9k
  YYDEBUG(429, *YYCURSOR);
11221
16.9k
  yyaccept = 6;
11222
16.9k
  yych = *(YYMARKER = ++YYCURSOR);
11223
16.9k
  if (yych == 'D') goto yy198;
11224
15.4k
  if (yych == 'd') goto yy198;
11225
11.6k
  goto yy260;
11226
37.7k
yy430:
11227
37.7k
  YYDEBUG(430, *YYCURSOR);
11228
37.7k
  yych = *++YYCURSOR;
11229
37.7k
  if (yych == 'R') goto yy425;
11230
28.1k
  if (yych == 'r') goto yy425;
11231
23.0k
  goto yy59;
11232
167k
yy431:
11233
167k
  YYDEBUG(431, *YYCURSOR);
11234
167k
  yych = *++YYCURSOR;
11235
167k
  if (yych <= '/') goto yy251;
11236
135k
  if (yych <= '9') goto yy619;
11237
56.3k
  goto yy251;
11238
71.2k
yy432:
11239
71.2k
  YYDEBUG(432, *YYCURSOR);
11240
71.2k
  yyaccept = 3;
11241
71.2k
  yych = *(YYMARKER = ++YYCURSOR);
11242
71.2k
  if (yych <= '.') {
11243
17.9k
    if (yych <= 0x1F) {
11244
7.50k
      if (yych == '\t') goto yy248;
11245
2.89k
      goto yy81;
11246
10.4k
    } else {
11247
10.4k
      if (yych <= ' ') goto yy248;
11248
7.61k
      if (yych <= ',') goto yy81;
11249
3.92k
      goto yy248;
11250
7.61k
    }
11251
53.3k
  } else {
11252
53.3k
    if (yych <= 'T') {
11253
14.6k
      if (yych <= '/') goto yy81;
11254
10.9k
      if (yych <= '9') goto yy250;
11255
4.74k
      goto yy81;
11256
38.7k
    } else {
11257
38.7k
      if (yych <= 'U') goto yy620;
11258
30.3k
      if (yych == 'u') goto yy620;
11259
7.67k
      goto yy81;
11260
30.3k
    }
11261
53.3k
  }
11262
91.3k
yy433:
11263
91.3k
  YYDEBUG(433, *YYCURSOR);
11264
91.3k
  yyaccept = 3;
11265
91.3k
  yych = *(YYMARKER = ++YYCURSOR);
11266
91.3k
  if (yych <= '.') {
11267
41.0k
    if (yych <= 0x1F) {
11268
8.39k
      if (yych == '\t') goto yy248;
11269
5.43k
      goto yy81;
11270
32.6k
    } else {
11271
32.6k
      if (yych <= ' ') goto yy248;
11272
31.3k
      if (yych <= ',') goto yy81;
11273
27.6k
      goto yy248;
11274
31.3k
    }
11275
50.2k
  } else {
11276
50.2k
    if (yych <= 'X') {
11277
14.4k
      if (yych <= '/') goto yy81;
11278
12.1k
      if (yych <= '9') goto yy250;
11279
3.49k
      goto yy81;
11280
35.7k
    } else {
11281
35.7k
      if (yych <= 'Y') goto yy253;
11282
31.6k
      if (yych == 'y') goto yy253;
11283
28.3k
      goto yy81;
11284
31.6k
    }
11285
50.2k
  }
11286
50.3k
yy434:
11287
50.3k
  YYDEBUG(434, *YYCURSOR);
11288
50.3k
  yyaccept = 3;
11289
50.3k
  yych = *(YYMARKER = ++YYCURSOR);
11290
50.3k
  if (yych <= '.') {
11291
18.2k
    if (yych <= 0x1F) {
11292
4.23k
      if (yych == '\t') goto yy248;
11293
2.96k
      goto yy81;
11294
13.9k
    } else {
11295
13.9k
      if (yych <= ' ') goto yy248;
11296
10.5k
      if (yych <= ',') goto yy81;
11297
7.45k
      goto yy248;
11298
10.5k
    }
11299
32.1k
  } else {
11300
32.1k
    if (yych <= 'D') {
11301
16.0k
      if (yych <= '/') goto yy81;
11302
10.6k
      if (yych <= '9') goto yy250;
11303
5.75k
      goto yy81;
11304
16.0k
    } else {
11305
16.0k
      if (yych <= 'E') goto yy253;
11306
13.7k
      if (yych == 'e') goto yy253;
11307
10.0k
      goto yy81;
11308
13.7k
    }
11309
32.1k
  }
11310
51.8k
yy435:
11311
51.8k
  YYDEBUG(435, *YYCURSOR);
11312
51.8k
  yyaccept = 3;
11313
51.8k
  yych = *(YYMARKER = ++YYCURSOR);
11314
51.8k
  if (yych <= '.') {
11315
20.8k
    if (yych <= 0x1F) {
11316
5.43k
      if (yych == '\t') goto yy248;
11317
3.86k
      goto yy81;
11318
15.4k
    } else {
11319
15.4k
      if (yych <= ' ') goto yy248;
11320
12.3k
      if (yych <= ',') goto yy81;
11321
9.44k
      goto yy248;
11322
12.3k
    }
11323
31.0k
  } else {
11324
31.0k
    if (yych <= 'B') {
11325
9.27k
      if (yych <= '/') goto yy81;
11326
7.83k
      if (yych <= '9') goto yy250;
11327
3.42k
      goto yy81;
11328
21.7k
    } else {
11329
21.7k
      if (yych <= 'C') goto yy621;
11330
18.0k
      if (yych == 'c') goto yy621;
11331
6.66k
      goto yy81;
11332
18.0k
    }
11333
31.0k
  }
11334
67.5k
yy436:
11335
67.5k
  YYDEBUG(436, *YYCURSOR);
11336
67.5k
  yych = *++YYCURSOR;
11337
67.5k
  if (yych == 'R') goto yy622;
11338
39.9k
  if (yych == 'r') goto yy622;
11339
11.2k
  goto yy59;
11340
37.3k
yy437:
11341
37.3k
  YYDEBUG(437, *YYCURSOR);
11342
37.3k
  yych = *++YYCURSOR;
11343
37.3k
  if (yych == 'L') goto yy623;
11344
12.4k
  if (yych == 'l') goto yy623;
11345
6.69k
  goto yy59;
11346
37.9k
yy438:
11347
37.9k
  YYDEBUG(438, *YYCURSOR);
11348
37.9k
  yyaccept = 6;
11349
37.9k
  yych = *(YYMARKER = ++YYCURSOR);
11350
37.9k
  if (yych <= 'U') {
11351
15.4k
    if (yych == 'S') goto yy615;
11352
14.3k
    if (yych <= 'T') goto yy260;
11353
7.97k
    goto yy624;
11354
22.4k
  } else {
11355
22.4k
    if (yych <= 's') {
11356
4.94k
      if (yych <= 'r') goto yy260;
11357
2.32k
      goto yy615;
11358
17.5k
    } else {
11359
17.5k
      if (yych == 'u') goto yy624;
11360
8.97k
      goto yy260;
11361
17.5k
    }
11362
22.4k
  }
11363
37.2k
yy439:
11364
37.2k
  YYDEBUG(439, *YYCURSOR);
11365
37.2k
  yyaccept = 6;
11366
37.2k
  yych = *(YYMARKER = ++YYCURSOR);
11367
37.2k
  if (yych <= 'T') {
11368
10.6k
    if (yych == 'D') goto yy198;
11369
9.28k
    if (yych <= 'S') goto yy260;
11370
3.46k
    goto yy625;
11371
26.6k
  } else {
11372
26.6k
    if (yych <= 'd') {
11373
19.1k
      if (yych <= 'c') goto yy260;
11374
14.4k
      goto yy198;
11375
19.1k
    } else {
11376
7.52k
      if (yych == 't') goto yy625;
11377
4.84k
      goto yy260;
11378
7.52k
    }
11379
26.6k
  }
11380
23.5k
yy440:
11381
23.5k
  YYDEBUG(440, *YYCURSOR);
11382
23.5k
  yych = *++YYCURSOR;
11383
23.5k
  if (yych == 'C') goto yy425;
11384
20.5k
  if (yych == 'c') goto yy425;
11385
16.0k
  goto yy59;
11386
71.2k
yy441:
11387
71.2k
  YYDEBUG(441, *YYCURSOR);
11388
71.2k
  yyaccept = 3;
11389
71.2k
  yych = *(YYMARKER = ++YYCURSOR);
11390
71.2k
  if (yych <= '.') {
11391
23.7k
    if (yych <= 0x1F) {
11392
11.1k
      if (yych == '\t') goto yy248;
11393
6.10k
      goto yy81;
11394
12.6k
    } else {
11395
12.6k
      if (yych <= ' ') goto yy248;
11396
7.84k
      if (yych <= ',') goto yy81;
11397
4.32k
      goto yy248;
11398
7.84k
    }
11399
47.5k
  } else {
11400
47.5k
    if (yych <= 'N') {
11401
12.4k
      if (yych <= '/') goto yy81;
11402
9.46k
      if (yych <= '9') goto yy250;
11403
5.10k
      goto yy81;
11404
35.0k
    } else {
11405
35.0k
      if (yych <= 'O') goto yy626;
11406
27.5k
      if (yych == 'o') goto yy626;
11407
9.42k
      goto yy81;
11408
27.5k
    }
11409
47.5k
  }
11410
25.4k
yy442:
11411
25.4k
  YYDEBUG(442, *YYCURSOR);
11412
25.4k
  yyaccept = 6;
11413
25.4k
  yych = *(YYMARKER = ++YYCURSOR);
11414
25.4k
  if (yych == 'U') goto yy627;
11415
19.5k
  if (yych == 'u') goto yy627;
11416
9.56k
  goto yy260;
11417
83.1k
yy443:
11418
83.1k
  YYDEBUG(443, *YYCURSOR);
11419
83.1k
  yyaccept = 6;
11420
83.1k
  yych = *(YYMARKER = ++YYCURSOR);
11421
83.1k
  if (yych <= 'S') {
11422
41.0k
    if (yych == 'O') goto yy628;
11423
38.7k
    if (yych <= 'R') goto yy260;
11424
930
    goto yy615;
11425
42.0k
  } else {
11426
42.0k
    if (yych <= 'o') {
11427
29.5k
      if (yych <= 'n') goto yy260;
11428
13.9k
      goto yy628;
11429
29.5k
    } else {
11430
12.4k
      if (yych == 's') goto yy615;
11431
7.26k
      goto yy260;
11432
12.4k
    }
11433
42.0k
  }
11434
111k
yy444:
11435
111k
  YYDEBUG(444, *YYCURSOR);
11436
111k
  yyaccept = 3;
11437
111k
  yych = *(YYMARKER = ++YYCURSOR);
11438
111k
  if (yych <= '.') {
11439
20.2k
    if (yych <= 0x1F) {
11440
8.24k
      if (yych == '\t') goto yy248;
11441
6.39k
      goto yy81;
11442
12.0k
    } else {
11443
12.0k
      if (yych <= ' ') goto yy248;
11444
9.28k
      if (yych <= ',') goto yy81;
11445
2.50k
      goto yy248;
11446
9.28k
    }
11447
91.6k
  } else {
11448
91.6k
    if (yych <= 'S') {
11449
20.1k
      if (yych <= '/') goto yy81;
11450
17.8k
      if (yych <= '9') goto yy250;
11451
7.92k
      goto yy81;
11452
71.4k
    } else {
11453
71.4k
      if (yych <= 'T') goto yy426;
11454
53.6k
      if (yych == 't') goto yy426;
11455
15.1k
      goto yy81;
11456
53.6k
    }
11457
91.6k
  }
11458
30.1k
yy445:
11459
30.1k
  YYDEBUG(445, *YYCURSOR);
11460
30.1k
  yyaccept = 6;
11461
30.1k
  yych = *(YYMARKER = ++YYCURSOR);
11462
30.1k
  if (yych == 'R') goto yy629;
11463
22.9k
  if (yych == 'r') goto yy629;
11464
16.2k
  goto yy260;
11465
35.1k
yy446:
11466
35.1k
  YYDEBUG(446, *YYCURSOR);
11467
35.1k
  yyaccept = 6;
11468
35.1k
  yych = *(YYMARKER = ++YYCURSOR);
11469
35.1k
  if (yych == 'S') goto yy630;
11470
31.6k
  if (yych == 's') goto yy630;
11471
12.2k
  goto yy260;
11472
46.4k
yy447:
11473
46.4k
  YYDEBUG(447, *YYCURSOR);
11474
46.4k
  yyaccept = 6;
11475
46.4k
  yych = *(YYMARKER = ++YYCURSOR);
11476
46.4k
  if (yych == 'N') goto yy631;
11477
36.7k
  if (yych == 'n') goto yy631;
11478
19.9k
  goto yy260;
11479
71.7k
yy448:
11480
71.7k
  YYDEBUG(448, *YYCURSOR);
11481
71.7k
  yych = *++YYCURSOR;
11482
71.7k
  if (yych == 'K') goto yy632;
11483
62.9k
  if (yych == 'k') goto yy632;
11484
35.3k
  goto yy59;
11485
50.5k
yy449:
11486
50.5k
  YYDEBUG(449, *YYCURSOR);
11487
50.5k
  yych = *++YYCURSOR;
11488
50.5k
  if (yych <= '/') goto yy207;
11489
46.1k
  if (yych <= '0') goto yy633;
11490
24.7k
  if (yych <= '1') goto yy634;
11491
15.9k
  if (yych <= '9') goto yy635;
11492
7.94k
  goto yy207;
11493
378k
yy450:
11494
378k
  YYDEBUG(450, *YYCURSOR);
11495
378k
  ++YYCURSOR;
11496
378k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
11497
378k
  yych = *YYCURSOR;
11498
378k
  if (yych <= 'd') {
11499
206k
    if (yych <= 'R') {
11500
128k
      if (yych <= 'F') {
11501
75.0k
        if (yych == 'D') goto yy198;
11502
69.5k
        if (yych <= 'E') goto yy59;
11503
4.96k
        goto yy199;
11504
69.5k
      } else {
11505
53.0k
        if (yych <= 'H') {
11506
14.2k
          if (yych <= 'G') goto yy59;
11507
4.78k
          goto yy79;
11508
38.7k
        } else {
11509
38.7k
          if (yych == 'M') goto yy200;
11510
29.5k
          goto yy59;
11511
38.7k
        }
11512
53.0k
      }
11513
128k
    } else {
11514
78.8k
      if (yych <= 'V') {
11515
31.2k
        if (yych <= 'S') goto yy201;
11516
24.3k
        if (yych <= 'T') goto yy87;
11517
20.0k
        if (yych <= 'U') goto yy88;
11518
15.2k
        goto yy59;
11519
47.5k
      } else {
11520
47.5k
        if (yych <= 'X') {
11521
19.7k
          if (yych <= 'W') goto yy90;
11522
10.6k
          goto yy59;
11523
27.7k
        } else {
11524
27.7k
          if (yych <= 'Y') goto yy92;
11525
24.5k
          if (yych <= 'c') goto yy59;
11526
1.66k
          goto yy198;
11527
24.5k
        }
11528
47.5k
      }
11529
78.8k
    }
11530
206k
  } else {
11531
171k
    if (yych <= 't') {
11532
77.0k
      if (yych <= 'h') {
11533
14.4k
        if (yych == 'f') goto yy199;
11534
12.4k
        if (yych <= 'g') goto yy59;
11535
3.82k
        goto yy79;
11536
62.5k
      } else {
11537
62.5k
        if (yych <= 'm') {
11538
21.3k
          if (yych <= 'l') goto yy59;
11539
3.75k
          goto yy200;
11540
41.2k
        } else {
11541
41.2k
          if (yych <= 'r') goto yy59;
11542
21.6k
          if (yych <= 's') goto yy201;
11543
8.42k
          goto yy87;
11544
21.6k
        }
11545
62.5k
      }
11546
94.2k
    } else {
11547
94.2k
      if (yych <= 'y') {
11548
56.8k
        if (yych <= 'v') {
11549
6.15k
          if (yych <= 'u') goto yy88;
11550
1.64k
          goto yy59;
11551
50.6k
        } else {
11552
50.6k
          if (yych <= 'w') goto yy90;
11553
12.0k
          if (yych <= 'x') goto yy59;
11554
7.85k
          goto yy92;
11555
12.0k
        }
11556
56.8k
      } else {
11557
37.4k
        if (yych <= 0xC2) {
11558
12.2k
          if (yych <= 0xC1) goto yy59;
11559
4.47k
          goto yy211;
11560
25.1k
        } else {
11561
25.1k
          if (yych == 0xE2) goto yy98;
11562
5.90k
          goto yy59;
11563
25.1k
        }
11564
37.4k
      }
11565
94.2k
    }
11566
171k
  }
11567
234k
yy451:
11568
234k
  YYDEBUG(451, *YYCURSOR);
11569
234k
  yych = *++YYCURSOR;
11570
234k
  if (yych <= '/') goto yy59;
11571
208k
  if (yych <= '5') goto yy636;
11572
62.2k
  if (yych <= '6') goto yy637;
11573
43.4k
  if (yych <= '9') goto yy572;
11574
29.3k
  goto yy59;
11575
251k
yy452:
11576
251k
  YYDEBUG(452, *YYCURSOR);
11577
251k
  yyaccept = 4;
11578
251k
  yych = *(YYMARKER = ++YYCURSOR);
11579
251k
  if (yych <= 'A') {
11580
191k
    if (yych <= ',') {
11581
44.9k
      if (yych <= '\t') {
11582
8.21k
        if (yych <= 0x08) goto yy177;
11583
3.79k
        goto yy638;
11584
36.7k
      } else {
11585
36.7k
        if (yych == ' ') goto yy638;
11586
11.8k
        goto yy177;
11587
36.7k
      }
11588
146k
    } else {
11589
146k
      if (yych <= '9') {
11590
83.7k
        if (yych <= '-') goto yy396;
11591
77.0k
        if (yych <= '.') goto yy451;
11592
55.3k
        goto yy177;
11593
77.0k
      } else {
11594
62.9k
        if (yych <= ':') goto yy453;
11595
9.86k
        if (yych <= '@') goto yy177;
11596
4.40k
        goto yy106;
11597
9.86k
      }
11598
146k
    }
11599
191k
  } else {
11600
59.8k
    if (yych <= 'o') {
11601
24.6k
      if (yych <= 'P') {
11602
8.95k
        if (yych <= 'O') goto yy177;
11603
2.72k
        goto yy106;
11604
15.6k
      } else {
11605
15.6k
        if (yych == 'a') goto yy106;
11606
12.8k
        goto yy177;
11607
15.6k
      }
11608
35.2k
    } else {
11609
35.2k
      if (yych <= 0xC2) {
11610
21.4k
        if (yych <= 'p') goto yy106;
11611
16.3k
        if (yych <= 0xC1) goto yy177;
11612
4.62k
        goto yy640;
11613
16.3k
      } else {
11614
13.7k
        if (yych == 0xE2) goto yy641;
11615
6.59k
        goto yy177;
11616
13.7k
      }
11617
35.2k
    }
11618
59.8k
  }
11619
310k
yy453:
11620
310k
  YYDEBUG(453, *YYCURSOR);
11621
310k
  yych = *++YYCURSOR;
11622
310k
  if (yych <= '/') goto yy59;
11623
262k
  if (yych <= '5') goto yy642;
11624
70.6k
  if (yych <= '6') goto yy643;
11625
58.4k
  if (yych <= '9') goto yy575;
11626
49.4k
  goto yy59;
11627
177k
yy454:
11628
177k
  YYDEBUG(454, *YYCURSOR);
11629
177k
  yyaccept = 4;
11630
177k
  yych = *(YYMARKER = ++YYCURSOR);
11631
177k
  if (yych <= 'A') {
11632
100k
    if (yych <= '-') {
11633
25.5k
      if (yych <= '\t') {
11634
8.12k
        if (yych <= 0x08) goto yy177;
11635
4.57k
        goto yy638;
11636
17.4k
      } else {
11637
17.4k
        if (yych == ' ') goto yy638;
11638
12.2k
        goto yy177;
11639
17.4k
      }
11640
75.3k
    } else {
11641
75.3k
      if (yych <= '9') {
11642
50.2k
        if (yych <= '.') goto yy453;
11643
38.7k
        goto yy177;
11644
50.2k
      } else {
11645
25.1k
        if (yych <= ':') goto yy453;
11646
13.6k
        if (yych <= '@') goto yy177;
11647
9.99k
        goto yy106;
11648
13.6k
      }
11649
75.3k
    }
11650
100k
  } else {
11651
76.3k
    if (yych <= 'o') {
11652
45.6k
      if (yych <= 'P') {
11653
15.1k
        if (yych <= 'O') goto yy177;
11654
5.73k
        goto yy106;
11655
30.5k
      } else {
11656
30.5k
        if (yych == 'a') goto yy106;
11657
26.8k
        goto yy177;
11658
30.5k
      }
11659
45.6k
    } else {
11660
30.6k
      if (yych <= 0xC2) {
11661
17.5k
        if (yych <= 'p') goto yy106;
11662
12.7k
        if (yych <= 0xC1) goto yy177;
11663
2.99k
        goto yy640;
11664
13.1k
      } else {
11665
13.1k
        if (yych == 0xE2) goto yy641;
11666
3.65k
        goto yy177;
11667
13.1k
      }
11668
30.6k
    }
11669
76.3k
  }
11670
823k
yy455:
11671
823k
  YYDEBUG(455, *YYCURSOR);
11672
823k
  yyaccept = 4;
11673
823k
  yych = *(YYMARKER = ++YYCURSOR);
11674
823k
  if (yych <= 'A') {
11675
651k
    if (yych <= '-') {
11676
125k
      if (yych <= '\t') {
11677
32.3k
        if (yych <= 0x08) goto yy177;
11678
18.1k
        goto yy638;
11679
93.4k
      } else {
11680
93.4k
        if (yych == ' ') goto yy638;
11681
42.7k
        goto yy177;
11682
93.4k
      }
11683
526k
    } else {
11684
526k
      if (yych <= '9') {
11685
149k
        if (yych <= '.') goto yy453;
11686
110k
        goto yy177;
11687
376k
      } else {
11688
376k
        if (yych <= ':') goto yy644;
11689
28.0k
        if (yych <= '@') goto yy177;
11690
14.9k
        goto yy106;
11691
28.0k
      }
11692
526k
    }
11693
651k
  } else {
11694
172k
    if (yych <= 'o') {
11695
73.3k
      if (yych <= 'P') {
11696
32.6k
        if (yych <= 'O') goto yy177;
11697
3.79k
        goto yy106;
11698
40.7k
      } else {
11699
40.7k
        if (yych == 'a') goto yy106;
11700
37.8k
        goto yy177;
11701
40.7k
      }
11702
98.7k
    } else {
11703
98.7k
      if (yych <= 0xC2) {
11704
57.3k
        if (yych <= 'p') goto yy106;
11705
53.7k
        if (yych <= 0xC1) goto yy177;
11706
32.2k
        goto yy640;
11707
53.7k
      } else {
11708
41.3k
        if (yych == 0xE2) goto yy641;
11709
19.7k
        goto yy177;
11710
41.3k
      }
11711
98.7k
    }
11712
172k
  }
11713
66.7k
yy456:
11714
66.7k
  YYDEBUG(456, *YYCURSOR);
11715
66.7k
  ++YYCURSOR;
11716
66.7k
  YYDEBUG(457, *YYCURSOR);
11717
66.7k
#line 1349 "ext/date/lib/parse_date.re"
11718
66.7k
  {
11719
66.7k
    DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
11720
66.7k
    TIMELIB_INIT;
11721
66.7k
    TIMELIB_HAVE_TIME();
11722
23.7k
    s->time->h = timelib_get_nr(&ptr, 2);
11723
23.7k
    if (*ptr == ':' || *ptr == '.') {
11724
14.6k
      s->time->i = timelib_get_nr(&ptr, 2);
11725
14.6k
      if (*ptr == ':' || *ptr == '.') {
11726
9.02k
        s->time->s = timelib_get_nr(&ptr, 2);
11727
9.02k
      }
11728
14.6k
    }
11729
23.7k
    timelib_eat_spaces(&ptr);
11730
23.7k
    s->time->h += timelib_meridian(&ptr, s->time->h);
11731
23.7k
    TIMELIB_DEINIT;
11732
23.7k
    return TIMELIB_TIME12;
11733
66.7k
  }
11734
0
#line 11735 "ext/date/lib/parse_date.c"
11735
45.7k
yy458:
11736
45.7k
  YYDEBUG(458, *YYCURSOR);
11737
45.7k
  yych = *++YYCURSOR;
11738
45.7k
  if (yych <= '\t') {
11739
22.0k
    if (yych <= 0x00) goto yy456;
11740
15.1k
    if (yych <= 0x08) goto yy59;
11741
7.10k
    goto yy456;
11742
23.7k
  } else {
11743
23.7k
    if (yych == ' ') goto yy456;
11744
14.8k
    goto yy59;
11745
23.7k
  }
11746
209k
yy459:
11747
209k
  YYDEBUG(459, *YYCURSOR);
11748
209k
  ++YYCURSOR;
11749
209k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
11750
209k
  yych = *YYCURSOR;
11751
209k
  if (yych <= 'a') {
11752
114k
    if (yych <= 'O') {
11753
64.7k
      if (yych <= 'E') {
11754
44.5k
        if (yych <= 'A') {
11755
38.9k
          if (yych <= '@') goto yy59;
11756
5.54k
          goto yy106;
11757
38.9k
        } else {
11758
5.67k
          if (yych == 'D') goto yy198;
11759
3.11k
          goto yy59;
11760
5.67k
        }
11761
44.5k
      } else {
11762
20.1k
        if (yych <= 'H') {
11763
10.7k
          if (yych <= 'F') goto yy199;
11764
7.49k
          if (yych <= 'G') goto yy59;
11765
1.63k
          goto yy79;
11766
9.42k
        } else {
11767
9.42k
          if (yych == 'M') goto yy200;
11768
3.43k
          goto yy59;
11769
9.42k
        }
11770
20.1k
      }
11771
64.7k
    } else {
11772
49.8k
      if (yych <= 'U') {
11773
29.1k
        if (yych <= 'R') {
11774
16.5k
          if (yych <= 'P') goto yy106;
11775
2.00k
          goto yy59;
11776
16.5k
        } else {
11777
12.5k
          if (yych <= 'S') goto yy201;
11778
5.56k
          if (yych <= 'T') goto yy87;
11779
1.39k
          goto yy88;
11780
5.56k
        }
11781
29.1k
      } else {
11782
20.7k
        if (yych <= 'X') {
11783
13.5k
          if (yych == 'W') goto yy90;
11784
10.6k
          goto yy59;
11785
13.5k
        } else {
11786
7.16k
          if (yych <= 'Y') goto yy92;
11787
6.53k
          if (yych <= '`') goto yy59;
11788
2.95k
          goto yy106;
11789
6.53k
        }
11790
20.7k
      }
11791
49.8k
    }
11792
114k
  } else {
11793
95.2k
    if (yych <= 'r') {
11794
38.1k
      if (yych <= 'g') {
11795
10.5k
        if (yych <= 'd') {
11796
6.18k
          if (yych <= 'c') goto yy59;
11797
1.49k
          goto yy198;
11798
6.18k
        } else {
11799
4.39k
          if (yych == 'f') goto yy199;
11800
1.34k
          goto yy59;
11801
4.39k
        }
11802
27.6k
      } else {
11803
27.6k
        if (yych <= 'm') {
11804
14.5k
          if (yych <= 'h') goto yy79;
11805
4.69k
          if (yych <= 'l') goto yy59;
11806
1.54k
          goto yy200;
11807
13.0k
        } else {
11808
13.0k
          if (yych == 'p') goto yy106;
11809
9.28k
          goto yy59;
11810
13.0k
        }
11811
27.6k
      }
11812
57.0k
    } else {
11813
57.0k
      if (yych <= 'x') {
11814
22.5k
        if (yych <= 'u') {
11815
14.3k
          if (yych <= 's') goto yy201;
11816
6.18k
          if (yych <= 't') goto yy87;
11817
4.01k
          goto yy88;
11818
8.22k
        } else {
11819
8.22k
          if (yych == 'w') goto yy90;
11820
1.64k
          goto yy59;
11821
8.22k
        }
11822
34.5k
      } else {
11823
34.5k
        if (yych <= 0xC2) {
11824
16.9k
          if (yych <= 'y') goto yy92;
11825
12.9k
          if (yych <= 0xC1) goto yy59;
11826
3.26k
          goto yy211;
11827
17.5k
        } else {
11828
17.5k
          if (yych == 0xE2) goto yy108;
11829
4.93k
          goto yy59;
11830
17.5k
        }
11831
34.5k
      }
11832
57.0k
    }
11833
95.2k
  }
11834
158k
yy460:
11835
158k
  YYDEBUG(460, *YYCURSOR);
11836
158k
  yych = *++YYCURSOR;
11837
158k
  if (yych == '-') goto yy645;
11838
144k
  if (yych <= '/') goto yy59;
11839
133k
  if (yych <= '9') goto yy646;
11840
30.4k
  goto yy59;
11841
84.7k
yy461:
11842
84.7k
  YYDEBUG(461, *YYCURSOR);
11843
84.7k
  yych = *++YYCURSOR;
11844
84.7k
  if (yych == '-') goto yy645;
11845
71.4k
  if (yych <= '/') goto yy59;
11846
64.4k
  if (yych <= '2') goto yy646;
11847
23.4k
  goto yy59;
11848
422k
yy462:
11849
422k
  YYDEBUG(462, *YYCURSOR);
11850
422k
  yych = *++YYCURSOR;
11851
422k
  if (yych == '-') goto yy645;
11852
303k
  goto yy59;
11853
303k
yy463:
11854
78.9k
  YYDEBUG(463, *YYCURSOR);
11855
78.9k
  yych = *++YYCURSOR;
11856
78.9k
  if (yych <= 'U') {
11857
22.6k
    if (yych == 'P') goto yy647;
11858
18.5k
    if (yych <= 'T') goto yy59;
11859
3.29k
    goto yy648;
11860
56.2k
  } else {
11861
56.2k
    if (yych <= 'p') {
11862
30.5k
      if (yych <= 'o') goto yy59;
11863
26.0k
      goto yy647;
11864
30.5k
    } else {
11865
25.7k
      if (yych == 'u') goto yy648;
11866
5.93k
      goto yy59;
11867
25.7k
    }
11868
56.2k
  }
11869
39.8k
yy464:
11870
39.8k
  YYDEBUG(464, *YYCURSOR);
11871
39.8k
  yych = *++YYCURSOR;
11872
39.8k
  if (yych == 'E') goto yy649;
11873
31.6k
  if (yych == 'e') goto yy649;
11874
16.9k
  goto yy59;
11875
59.9k
yy465:
11876
59.9k
  YYDEBUG(465, *YYCURSOR);
11877
59.9k
  yych = *++YYCURSOR;
11878
59.9k
  if (yych == 'E') goto yy650;
11879
54.4k
  if (yych == 'e') goto yy650;
11880
22.4k
  goto yy59;
11881
111k
yy466:
11882
111k
  YYDEBUG(466, *YYCURSOR);
11883
111k
  yych = *++YYCURSOR;
11884
111k
  if (yych <= 'U') {
11885
31.0k
    if (yych == 'A') goto yy651;
11886
27.6k
    if (yych <= 'T') goto yy59;
11887
19.5k
    goto yy652;
11888
80.2k
  } else {
11889
80.2k
    if (yych <= 'a') {
11890
35.3k
      if (yych <= '`') goto yy59;
11891
30.0k
      goto yy651;
11892
44.8k
    } else {
11893
44.8k
      if (yych == 'u') goto yy652;
11894
8.93k
      goto yy59;
11895
44.8k
    }
11896
80.2k
  }
11897
81.8k
yy467:
11898
81.8k
  YYDEBUG(467, *YYCURSOR);
11899
81.8k
  yych = *++YYCURSOR;
11900
81.8k
  if (yych == 'A') goto yy653;
11901
46.4k
  if (yych == 'a') goto yy653;
11902
21.5k
  goto yy59;
11903
50.2k
yy468:
11904
50.2k
  YYDEBUG(468, *YYCURSOR);
11905
50.2k
  yych = *++YYCURSOR;
11906
50.2k
  if (yych == 'O') goto yy654;
11907
43.6k
  if (yych == 'o') goto yy654;
11908
19.7k
  goto yy59;
11909
35.0k
yy469:
11910
35.0k
  YYDEBUG(469, *YYCURSOR);
11911
35.0k
  yych = *++YYCURSOR;
11912
35.0k
  if (yych == 'C') goto yy655;
11913
25.3k
  if (yych == 'c') goto yy655;
11914
13.3k
  goto yy59;
11915
86.4k
yy470:
11916
86.4k
  YYDEBUG(470, *YYCURSOR);
11917
86.4k
  yych = *++YYCURSOR;
11918
86.4k
  if (yych == 'E') goto yy656;
11919
74.4k
  if (yych == 'e') goto yy656;
11920
25.2k
  goto yy59;
11921
48.4k
yy471:
11922
48.4k
  YYDEBUG(471, *YYCURSOR);
11923
48.4k
  yych = *++YYCURSOR;
11924
48.4k
  if (yych <= '/') goto yy290;
11925
40.2k
  if (yych <= '9') goto yy657;
11926
6.61k
  goto yy290;
11927
24.4M
yy472:
11928
24.4M
  YYDEBUG(472, *YYCURSOR);
11929
24.4M
  yych = *++YYCURSOR;
11930
24.4M
  if (yych <= '@') {
11931
5.94M
    if (yych == ')') goto yy115;
11932
5.80M
    goto yy20;
11933
18.5M
  } else {
11934
18.5M
    if (yych <= 'Z') goto yy658;
11935
12.8M
    if (yych <= '`') goto yy20;
11936
11.4M
    if (yych <= 'z') goto yy658;
11937
1.37M
    goto yy20;
11938
11.4M
  }
11939
228k
yy473:
11940
228k
  YYDEBUG(473, *YYCURSOR);
11941
228k
  yych = *++YYCURSOR;
11942
228k
  if (yych <= '/') goto yy142;
11943
212k
  if (yych <= '2') goto yy659;
11944
118k
  if (yych <= '3') goto yy660;
11945
48.7k
  goto yy142;
11946
48.7k
yy474:
11947
47.4k
  YYDEBUG(474, *YYCURSOR);
11948
47.4k
  yych = *++YYCURSOR;
11949
47.4k
  if (yych <= 'L') {
11950
18.0k
    if (yych <= ')') {
11951
5.16k
      if (yych <= '(') goto yy20;
11952
1.87k
      goto yy115;
11953
12.8k
    } else {
11954
12.8k
      if (yych <= '@') goto yy20;
11955
10.2k
      if (yych <= 'K') goto yy658;
11956
5.16k
      goto yy661;
11957
10.2k
    }
11958
29.4k
  } else {
11959
29.4k
    if (yych <= 'k') {
11960
9.87k
      if (yych <= 'Z') goto yy658;
11961
5.40k
      if (yych <= '`') goto yy20;
11962
3.25k
      goto yy658;
11963
19.5k
    } else {
11964
19.5k
      if (yych <= 'l') goto yy661;
11965
7.13k
      if (yych <= 'z') goto yy658;
11966
1.82k
      goto yy20;
11967
7.13k
    }
11968
29.4k
  }
11969
87.4k
yy475:
11970
87.4k
  YYDEBUG(475, *YYCURSOR);
11971
87.4k
  yych = *++YYCURSOR;
11972
87.4k
  if (yych <= 'S') {
11973
40.4k
    if (yych <= ')') {
11974
4.49k
      if (yych <= '(') goto yy20;
11975
1.16k
      goto yy115;
11976
35.9k
    } else {
11977
35.9k
      if (yych <= '@') goto yy20;
11978
27.6k
      if (yych <= 'R') goto yy658;
11979
20.7k
      goto yy662;
11980
27.6k
    }
11981
46.9k
  } else {
11982
46.9k
    if (yych <= 'r') {
11983
11.5k
      if (yych <= 'Z') goto yy658;
11984
9.51k
      if (yych <= '`') goto yy20;
11985
3.03k
      goto yy658;
11986
35.3k
    } else {
11987
35.3k
      if (yych <= 's') goto yy662;
11988
10.5k
      if (yych <= 'z') goto yy658;
11989
6.00k
      goto yy20;
11990
10.5k
    }
11991
46.9k
  }
11992
2.72M
yy476:
11993
2.72M
  YYDEBUG(476, *YYCURSOR);
11994
2.72M
  yyaccept = 2;
11995
2.72M
  YYMARKER = ++YYCURSOR;
11996
2.72M
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
11997
2.72M
  yych = *YYCURSOR;
11998
2.72M
  YYDEBUG(477, *YYCURSOR);
11999
2.72M
  if (yybm[0+yych] & 64) {
12000
1.77M
    goto yy476;
12001
1.77M
  }
12002
955k
  if (yych <= '.') {
12003
395k
    if (yych == '-') goto yy297;
12004
343k
    goto yy20;
12005
559k
  } else {
12006
559k
    if (yych <= '/') goto yy297;
12007
525k
    if (yych == '_') goto yy297;
12008
487k
    goto yy20;
12009
525k
  }
12010
4.09M
yy478:
12011
4.09M
  YYDEBUG(478, *YYCURSOR);
12012
4.09M
  yyaccept = 2;
12013
4.09M
  yych = *(YYMARKER = ++YYCURSOR);
12014
4.09M
  if (yych <= '/') {
12015
602k
    if (yych <= ',') {
12016
508k
      if (yych == ')') goto yy115;
12017
469k
      goto yy20;
12018
508k
    } else {
12019
94.6k
      if (yych == '.') goto yy20;
12020
70.8k
      goto yy297;
12021
94.6k
    }
12022
3.49M
  } else {
12023
3.49M
    if (yych <= '^') {
12024
959k
      if (yych <= '@') goto yy20;
12025
687k
      if (yych <= 'Z') goto yy658;
12026
29.5k
      goto yy20;
12027
2.53M
    } else {
12028
2.53M
      if (yych <= '_') goto yy297;
12029
2.50M
      if (yych <= '`') goto yy20;
12030
2.45M
      if (yych <= 'z') goto yy663;
12031
211k
      goto yy20;
12032
2.45M
    }
12033
3.49M
  }
12034
199k
yy479:
12035
199k
  YYDEBUG(479, *YYCURSOR);
12036
199k
  yych = *++YYCURSOR;
12037
199k
  if (yybm[0+yych] & 64) {
12038
13.7k
    goto yy476;
12039
13.7k
  }
12040
185k
  if (yych <= '/') goto yy142;
12041
174k
  if (yych <= '2') goto yy659;
12042
77.7k
  if (yych <= '3') goto yy660;
12043
36.9k
  goto yy142;
12044
99.7k
yy480:
12045
99.7k
  YYDEBUG(480, *YYCURSOR);
12046
99.7k
  yyaccept = 2;
12047
99.7k
  yych = *(YYMARKER = ++YYCURSOR);
12048
99.7k
  if (yych <= 'K') {
12049
26.5k
    if (yych <= '-') {
12050
15.5k
      if (yych == ')') goto yy115;
12051
11.0k
      if (yych <= ',') goto yy20;
12052
4.18k
      goto yy297;
12053
11.0k
    } else {
12054
10.9k
      if (yych == '/') goto yy297;
12055
10.6k
      if (yych <= '@') goto yy20;
12056
4.72k
      goto yy658;
12057
10.6k
    }
12058
73.2k
  } else {
12059
73.2k
    if (yych <= '_') {
12060
13.2k
      if (yych <= 'L') goto yy661;
12061
5.29k
      if (yych <= 'Z') goto yy658;
12062
4.27k
      if (yych <= '^') goto yy20;
12063
1.53k
      goto yy297;
12064
59.9k
    } else {
12065
59.9k
      if (yych <= 'k') {
12066
3.84k
        if (yych <= '`') goto yy20;
12067
1.04k
        goto yy663;
12068
56.1k
      } else {
12069
56.1k
        if (yych <= 'l') goto yy664;
12070
10.5k
        if (yych <= 'z') goto yy663;
12071
4.28k
        goto yy20;
12072
10.5k
      }
12073
59.9k
    }
12074
73.2k
  }
12075
152k
yy481:
12076
152k
  YYDEBUG(481, *YYCURSOR);
12077
152k
  yyaccept = 2;
12078
152k
  yych = *(YYMARKER = ++YYCURSOR);
12079
152k
  if (yych <= 'R') {
12080
34.8k
    if (yych <= '-') {
12081
13.5k
      if (yych == ')') goto yy115;
12082
12.4k
      if (yych <= ',') goto yy20;
12083
6.21k
      goto yy297;
12084
21.2k
    } else {
12085
21.2k
      if (yych == '/') goto yy297;
12086
18.2k
      if (yych <= '@') goto yy20;
12087
4.32k
      goto yy658;
12088
18.2k
    }
12089
118k
  } else {
12090
118k
    if (yych <= '_') {
12091
17.4k
      if (yych <= 'S') goto yy662;
12092
7.18k
      if (yych <= 'Z') goto yy658;
12093
5.67k
      if (yych <= '^') goto yy20;
12094
3.36k
      goto yy297;
12095
100k
    } else {
12096
100k
      if (yych <= 'r') {
12097
7.15k
        if (yych <= '`') goto yy20;
12098
4.36k
        goto yy663;
12099
93.4k
      } else {
12100
93.4k
        if (yych <= 's') goto yy665;
12101
5.28k
        if (yych <= 'z') goto yy663;
12102
3.63k
        goto yy20;
12103
5.28k
      }
12104
100k
    }
12105
118k
  }
12106
134k
yy482:
12107
134k
  YYDEBUG(482, *YYCURSOR);
12108
134k
  yyaccept = 2;
12109
134k
  yych = *(YYMARKER = ++YYCURSOR);
12110
134k
  if (yych <= ')') {
12111
113k
    if (yych == ' ') goto yy666;
12112
14.1k
    if (yych <= '(') goto yy20;
12113
6.35k
    goto yy115;
12114
20.6k
  } else {
12115
20.6k
    if (yych <= 'Z') {
12116
6.60k
      if (yych <= '@') goto yy20;
12117
2.88k
      goto yy658;
12118
14.0k
    } else {
12119
14.0k
      if (yych <= '`') goto yy20;
12120
9.58k
      if (yych <= 'z') goto yy658;
12121
4.88k
      goto yy20;
12122
9.58k
    }
12123
20.6k
  }
12124
90.8k
yy483:
12125
90.8k
  YYDEBUG(483, *YYCURSOR);
12126
90.8k
  yyaccept = 2;
12127
90.8k
  yych = *(YYMARKER = ++YYCURSOR);
12128
90.8k
  if (yych <= '.') {
12129
73.4k
    if (yych <= '(') {
12130
68.0k
      if (yych == ' ') goto yy666;
12131
5.43k
      goto yy20;
12132
68.0k
    } else {
12133
5.38k
      if (yych <= ')') goto yy115;
12134
4.88k
      if (yych == '-') goto yy297;
12135
2.64k
      goto yy20;
12136
4.88k
    }
12137
73.4k
  } else {
12138
17.3k
    if (yych <= '^') {
12139
8.50k
      if (yych <= '/') goto yy297;
12140
7.08k
      if (yych <= '@') goto yy20;
12141
2.69k
      if (yych <= 'Z') goto yy658;
12142
910
      goto yy20;
12143
8.84k
    } else {
12144
8.84k
      if (yych <= '_') goto yy297;
12145
7.24k
      if (yych <= '`') goto yy20;
12146
6.46k
      if (yych <= 'z') goto yy663;
12147
3.06k
      goto yy20;
12148
6.46k
    }
12149
17.3k
  }
12150
75.1k
yy484:
12151
75.1k
  YYDEBUG(484, *YYCURSOR);
12152
75.1k
  yych = *++YYCURSOR;
12153
75.1k
  if (yych <= 'M') {
12154
31.4k
    if (yych <= ')') {
12155
6.00k
      if (yych <= '(') goto yy20;
12156
859
      goto yy115;
12157
25.4k
    } else {
12158
25.4k
      if (yych <= '@') goto yy20;
12159
18.2k
      if (yych <= 'L') goto yy658;
12160
15.0k
      goto yy667;
12161
18.2k
    }
12162
43.6k
  } else {
12163
43.6k
    if (yych <= 'l') {
12164
12.6k
      if (yych <= 'Z') goto yy658;
12165
6.63k
      if (yych <= '`') goto yy20;
12166
4.62k
      goto yy658;
12167
31.0k
    } else {
12168
31.0k
      if (yych <= 'm') goto yy667;
12169
13.4k
      if (yych <= 'z') goto yy658;
12170
7.54k
      goto yy20;
12171
13.4k
    }
12172
43.6k
  }
12173
150k
yy485:
12174
150k
  YYDEBUG(485, *YYCURSOR);
12175
150k
  yyaccept = 2;
12176
150k
  yych = *(YYMARKER = ++YYCURSOR);
12177
150k
  if (yych <= 'L') {
12178
28.1k
    if (yych <= '-') {
12179
15.8k
      if (yych == ')') goto yy115;
12180
11.4k
      if (yych <= ',') goto yy20;
12181
3.92k
      goto yy297;
12182
12.3k
    } else {
12183
12.3k
      if (yych == '/') goto yy297;
12184
9.71k
      if (yych <= '@') goto yy20;
12185
3.67k
      goto yy658;
12186
9.71k
    }
12187
122k
  } else {
12188
122k
    if (yych <= '_') {
12189
24.7k
      if (yych <= 'M') goto yy667;
12190
5.72k
      if (yych <= 'Z') goto yy658;
12191
4.29k
      if (yych <= '^') goto yy20;
12192
1.81k
      goto yy297;
12193
97.9k
    } else {
12194
97.9k
      if (yych <= 'l') {
12195
7.10k
        if (yych <= '`') goto yy20;
12196
4.33k
        goto yy663;
12197
90.8k
      } else {
12198
90.8k
        if (yych <= 'm') goto yy668;
12199
21.0k
        if (yych <= 'z') goto yy663;
12200
10.4k
        goto yy20;
12201
21.0k
      }
12202
97.9k
    }
12203
122k
  }
12204
237k
yy486:
12205
237k
  YYDEBUG(486, *YYCURSOR);
12206
237k
  yych = *++YYCURSOR;
12207
237k
  if (yych <= 'T') {
12208
31.9k
    if (yych <= ')') {
12209
8.52k
      if (yych <= '(') goto yy20;
12210
900
      goto yy115;
12211
23.4k
    } else {
12212
23.4k
      if (yych <= '@') goto yy20;
12213
14.0k
      if (yych <= 'S') goto yy658;
12214
8.92k
      goto yy669;
12215
14.0k
    }
12216
205k
  } else {
12217
205k
    if (yych <= 's') {
12218
12.8k
      if (yych <= 'Z') goto yy658;
12219
10.7k
      if (yych <= '`') goto yy20;
12220
2.51k
      goto yy658;
12221
192k
    } else {
12222
192k
      if (yych <= 't') goto yy669;
12223
14.2k
      if (yych <= 'z') goto yy658;
12224
5.70k
      goto yy20;
12225
14.2k
    }
12226
205k
  }
12227
82.5k
yy487:
12228
82.5k
  YYDEBUG(487, *YYCURSOR);
12229
82.5k
  yych = *++YYCURSOR;
12230
82.5k
  if (yych <= 'E') {
12231
31.8k
    if (yych <= ')') {
12232
7.80k
      if (yych <= '(') goto yy20;
12233
5.54k
      goto yy115;
12234
24.0k
    } else {
12235
24.0k
      if (yych <= '@') goto yy20;
12236
15.0k
      if (yych <= 'D') goto yy658;
12237
13.8k
      goto yy670;
12238
15.0k
    }
12239
50.7k
  } else {
12240
50.7k
    if (yych <= 'd') {
12241
6.24k
      if (yych <= 'Z') goto yy658;
12242
4.33k
      if (yych <= '`') goto yy20;
12243
2.58k
      goto yy658;
12244
44.5k
    } else {
12245
44.5k
      if (yych <= 'e') goto yy670;
12246
9.39k
      if (yych <= 'z') goto yy658;
12247
4.55k
      goto yy20;
12248
9.39k
    }
12249
50.7k
  }
12250
212k
yy488:
12251
212k
  YYDEBUG(488, *YYCURSOR);
12252
212k
  yyaccept = 2;
12253
212k
  yych = *(YYMARKER = ++YYCURSOR);
12254
212k
  if (yych <= 'S') {
12255
44.4k
    if (yych <= '-') {
12256
22.9k
      if (yych == ')') goto yy115;
12257
21.2k
      if (yych <= ',') goto yy20;
12258
11.5k
      goto yy297;
12259
21.4k
    } else {
12260
21.4k
      if (yych == '/') goto yy297;
12261
16.3k
      if (yych <= '@') goto yy20;
12262
6.61k
      goto yy658;
12263
16.3k
    }
12264
168k
  } else {
12265
168k
    if (yych <= '_') {
12266
50.9k
      if (yych <= 'T') goto yy669;
12267
8.38k
      if (yych <= 'Z') goto yy658;
12268
6.41k
      if (yych <= '^') goto yy20;
12269
813
      goto yy297;
12270
117k
    } else {
12271
117k
      if (yych <= 's') {
12272
4.80k
        if (yych <= '`') goto yy20;
12273
3.46k
        goto yy663;
12274
112k
      } else {
12275
112k
        if (yych <= 't') goto yy671;
12276
11.6k
        if (yych <= 'z') goto yy663;
12277
7.95k
        goto yy20;
12278
11.6k
      }
12279
117k
    }
12280
168k
  }
12281
165k
yy489:
12282
165k
  YYDEBUG(489, *YYCURSOR);
12283
165k
  yyaccept = 2;
12284
165k
  yych = *(YYMARKER = ++YYCURSOR);
12285
165k
  if (yych <= 'D') {
12286
28.8k
    if (yych <= '-') {
12287
10.1k
      if (yych == ')') goto yy115;
12288
8.09k
      if (yych <= ',') goto yy20;
12289
3.44k
      goto yy297;
12290
18.7k
    } else {
12291
18.7k
      if (yych == '/') goto yy297;
12292
16.4k
      if (yych <= '@') goto yy20;
12293
6.13k
      goto yy658;
12294
16.4k
    }
12295
136k
  } else {
12296
136k
    if (yych <= '_') {
12297
21.0k
      if (yych <= 'E') goto yy670;
12298
7.63k
      if (yych <= 'Z') goto yy658;
12299
3.98k
      if (yych <= '^') goto yy20;
12300
2.50k
      goto yy297;
12301
115k
    } else {
12302
115k
      if (yych <= 'd') {
12303
14.3k
        if (yych <= '`') goto yy20;
12304
2.07k
        goto yy663;
12305
101k
      } else {
12306
101k
        if (yych <= 'e') goto yy672;
12307
17.5k
        if (yych <= 'z') goto yy663;
12308
13.8k
        goto yy20;
12309
17.5k
      }
12310
115k
    }
12311
136k
  }
12312
60.5k
yy490:
12313
60.5k
  YYDEBUG(490, *YYCURSOR);
12314
60.5k
  yych = *++YYCURSOR;
12315
60.5k
  if (yych <= 'U') {
12316
33.7k
    if (yych <= ')') {
12317
12.0k
      if (yych <= '(') goto yy20;
12318
4.09k
      goto yy115;
12319
21.7k
    } else {
12320
21.7k
      if (yych <= '@') goto yy20;
12321
17.9k
      if (yych <= 'T') goto yy658;
12322
12.6k
      goto yy673;
12323
17.9k
    }
12324
33.7k
  } else {
12325
26.7k
    if (yych <= 't') {
12326
9.35k
      if (yych <= 'Z') goto yy658;
12327
7.39k
      if (yych <= '`') goto yy20;
12328
4.63k
      goto yy658;
12329
17.4k
    } else {
12330
17.4k
      if (yych <= 'u') goto yy673;
12331
5.42k
      if (yych <= 'z') goto yy658;
12332
4.17k
      goto yy20;
12333
5.42k
    }
12334
26.7k
  }
12335
175k
yy491:
12336
175k
  YYDEBUG(491, *YYCURSOR);
12337
175k
  yych = *++YYCURSOR;
12338
175k
  if (yych <= 'H') {
12339
115k
    if (yych <= ')') {
12340
10.5k
      if (yych <= '(') goto yy20;
12341
1.46k
      goto yy115;
12342
105k
    } else {
12343
105k
      if (yych <= '@') goto yy20;
12344
84.3k
      if (yych <= 'G') goto yy658;
12345
78.5k
      goto yy674;
12346
84.3k
    }
12347
115k
  } else {
12348
59.9k
    if (yych <= 'g') {
12349
30.0k
      if (yych <= 'Z') goto yy658;
12350
5.24k
      if (yych <= '`') goto yy20;
12351
3.16k
      goto yy658;
12352
29.9k
    } else {
12353
29.9k
      if (yych <= 'h') goto yy674;
12354
13.3k
      if (yych <= 'z') goto yy658;
12355
6.45k
      goto yy20;
12356
13.3k
    }
12357
59.9k
  }
12358
162k
yy492:
12359
162k
  YYDEBUG(492, *YYCURSOR);
12360
162k
  yych = *++YYCURSOR;
12361
162k
  if (yych <= 'T') {
12362
26.5k
    if (yych <= ')') {
12363
8.57k
      if (yych <= '(') goto yy20;
12364
1.53k
      goto yy115;
12365
17.9k
    } else {
12366
17.9k
      if (yych <= '@') goto yy20;
12367
13.2k
      if (yych <= 'S') goto yy658;
12368
10.2k
      goto yy675;
12369
13.2k
    }
12370
136k
  } else {
12371
136k
    if (yych <= 's') {
12372
10.2k
      if (yych <= 'Z') goto yy658;
12373
8.45k
      if (yych <= '`') goto yy20;
12374
5.27k
      goto yy658;
12375
125k
    } else {
12376
125k
      if (yych <= 't') goto yy675;
12377
16.2k
      if (yych <= 'z') goto yy658;
12378
9.34k
      goto yy20;
12379
16.2k
    }
12380
136k
  }
12381
67.4k
yy493:
12382
67.4k
  YYDEBUG(493, *YYCURSOR);
12383
67.4k
  yych = *++YYCURSOR;
12384
67.4k
  if (yych <= 'T') {
12385
28.2k
    if (yych <= ')') {
12386
3.59k
      if (yych <= '(') goto yy20;
12387
1.36k
      goto yy115;
12388
24.6k
    } else {
12389
24.6k
      if (yych <= '@') goto yy20;
12390
15.1k
      if (yych <= 'S') goto yy658;
12391
9.80k
      goto yy676;
12392
15.1k
    }
12393
39.1k
  } else {
12394
39.1k
    if (yych <= 's') {
12395
8.59k
      if (yych <= 'Z') goto yy658;
12396
7.73k
      if (yych <= '`') goto yy20;
12397
5.93k
      goto yy658;
12398
30.5k
    } else {
12399
30.5k
      if (yych <= 't') goto yy676;
12400
5.29k
      if (yych <= 'z') goto yy658;
12401
3.32k
      goto yy20;
12402
5.29k
    }
12403
39.1k
  }
12404
88.8k
yy494:
12405
88.8k
  YYDEBUG(494, *YYCURSOR);
12406
88.8k
  yych = *++YYCURSOR;
12407
88.8k
  if (yych <= 'A') {
12408
26.9k
    if (yych == ')') goto yy115;
12409
26.8k
    if (yych <= '@') goto yy20;
12410
16.6k
    goto yy677;
12411
61.8k
  } else {
12412
61.8k
    if (yych <= '`') {
12413
5.21k
      if (yych <= 'Z') goto yy658;
12414
3.38k
      goto yy20;
12415
56.6k
    } else {
12416
56.6k
      if (yych <= 'a') goto yy677;
12417
19.7k
      if (yych <= 'z') goto yy658;
12418
9.93k
      goto yy20;
12419
19.7k
    }
12420
61.8k
  }
12421
75.8k
yy495:
12422
75.8k
  YYDEBUG(495, *YYCURSOR);
12423
75.8k
  yych = *++YYCURSOR;
12424
75.8k
  if (yych <= 'T') {
12425
18.9k
    if (yych <= ')') {
12426
6.74k
      if (yych <= '(') goto yy20;
12427
1.67k
      goto yy115;
12428
12.2k
    } else {
12429
12.2k
      if (yych <= '@') goto yy20;
12430
6.00k
      if (yych <= 'S') goto yy658;
12431
3.72k
      goto yy678;
12432
6.00k
    }
12433
56.8k
  } else {
12434
56.8k
    if (yych <= 's') {
12435
11.1k
      if (yych <= 'Z') goto yy658;
12436
7.85k
      if (yych <= '`') goto yy20;
12437
6.40k
      goto yy658;
12438
45.7k
    } else {
12439
45.7k
      if (yych <= 't') goto yy678;
12440
6.63k
      if (yych <= 'z') goto yy658;
12441
3.90k
      goto yy20;
12442
6.63k
    }
12443
56.8k
  }
12444
155k
yy496:
12445
155k
  YYDEBUG(496, *YYCURSOR);
12446
155k
  yyaccept = 2;
12447
155k
  yych = *(YYMARKER = ++YYCURSOR);
12448
155k
  if (yych <= 'T') {
12449
37.0k
    if (yych <= '-') {
12450
17.9k
      if (yych == ')') goto yy115;
12451
14.7k
      if (yych <= ',') goto yy20;
12452
3.47k
      goto yy297;
12453
19.0k
    } else {
12454
19.0k
      if (yych == '/') goto yy297;
12455
16.1k
      if (yych <= '@') goto yy20;
12456
2.70k
      goto yy658;
12457
16.1k
    }
12458
118k
  } else {
12459
118k
    if (yych <= '_') {
12460
19.9k
      if (yych <= 'U') goto yy673;
12461
7.92k
      if (yych <= 'Z') goto yy658;
12462
4.33k
      if (yych <= '^') goto yy20;
12463
3.35k
      goto yy297;
12464
98.2k
    } else {
12465
98.2k
      if (yych <= 't') {
12466
6.93k
        if (yych <= '`') goto yy20;
12467
5.24k
        goto yy663;
12468
91.3k
      } else {
12469
91.3k
        if (yych <= 'u') goto yy679;
12470
14.6k
        if (yych <= 'z') goto yy663;
12471
7.51k
        goto yy20;
12472
14.6k
      }
12473
98.2k
    }
12474
118k
  }
12475
63.0k
yy497:
12476
63.0k
  YYDEBUG(497, *YYCURSOR);
12477
63.0k
  yyaccept = 2;
12478
63.0k
  yych = *(YYMARKER = ++YYCURSOR);
12479
63.0k
  if (yych <= 'G') {
12480
11.5k
    if (yych <= '-') {
12481
7.40k
      if (yych == ')') goto yy115;
12482
6.00k
      if (yych <= ',') goto yy20;
12483
1.75k
      goto yy297;
12484
6.00k
    } else {
12485
4.12k
      if (yych == '/') goto yy297;
12486
2.65k
      if (yych <= '@') goto yy20;
12487
493
      goto yy658;
12488
2.65k
    }
12489
51.4k
  } else {
12490
51.4k
    if (yych <= '_') {
12491
22.2k
      if (yych <= 'H') goto yy674;
12492
6.47k
      if (yych <= 'Z') goto yy658;
12493
2.62k
      if (yych <= '^') goto yy20;
12494
1.75k
      goto yy297;
12495
29.2k
    } else {
12496
29.2k
      if (yych <= 'g') {
12497
2.18k
        if (yych <= '`') goto yy20;
12498
814
        goto yy663;
12499
27.0k
      } else {
12500
27.0k
        if (yych <= 'h') goto yy680;
12501
7.08k
        if (yych <= 'z') goto yy663;
12502
3.06k
        goto yy20;
12503
7.08k
      }
12504
29.2k
    }
12505
51.4k
  }
12506
96.0k
yy498:
12507
96.0k
  YYDEBUG(498, *YYCURSOR);
12508
96.0k
  yyaccept = 2;
12509
96.0k
  yych = *(YYMARKER = ++YYCURSOR);
12510
96.0k
  if (yych <= 'S') {
12511
22.1k
    if (yych <= '-') {
12512
7.20k
      if (yych == ')') goto yy115;
12513
5.27k
      if (yych <= ',') goto yy20;
12514
969
      goto yy297;
12515
14.9k
    } else {
12516
14.9k
      if (yych == '/') goto yy297;
12517
10.9k
      if (yych <= '@') goto yy20;
12518
5.27k
      goto yy658;
12519
10.9k
    }
12520
73.9k
  } else {
12521
73.9k
    if (yych <= '_') {
12522
9.45k
      if (yych <= 'T') goto yy675;
12523
6.59k
      if (yych <= 'Z') goto yy658;
12524
4.03k
      if (yych <= '^') goto yy20;
12525
591
      goto yy297;
12526
64.4k
    } else {
12527
64.4k
      if (yych <= 's') {
12528
5.55k
        if (yych <= '`') goto yy20;
12529
4.11k
        goto yy663;
12530
58.9k
      } else {
12531
58.9k
        if (yych <= 't') goto yy681;
12532
5.10k
        if (yych <= 'z') goto yy663;
12533
3.06k
        goto yy20;
12534
5.10k
      }
12535
64.4k
    }
12536
73.9k
  }
12537
138k
yy499:
12538
138k
  YYDEBUG(499, *YYCURSOR);
12539
138k
  yyaccept = 2;
12540
138k
  yych = *(YYMARKER = ++YYCURSOR);
12541
138k
  if (yych <= 'S') {
12542
24.3k
    if (yych <= '-') {
12543
11.0k
      if (yych == ')') goto yy115;
12544
9.15k
      if (yych <= ',') goto yy20;
12545
2.54k
      goto yy297;
12546
13.2k
    } else {
12547
13.2k
      if (yych == '/') goto yy297;
12548
9.68k
      if (yych <= '@') goto yy20;
12549
2.54k
      goto yy658;
12550
9.68k
    }
12551
113k
  } else {
12552
113k
    if (yych <= '_') {
12553
15.4k
      if (yych <= 'T') goto yy676;
12554
2.68k
      if (yych <= 'Z') goto yy658;
12555
1.52k
      if (yych <= '^') goto yy20;
12556
658
      goto yy297;
12557
98.4k
    } else {
12558
98.4k
      if (yych <= 's') {
12559
7.09k
        if (yych <= '`') goto yy20;
12560
6.51k
        goto yy663;
12561
91.3k
      } else {
12562
91.3k
        if (yych <= 't') goto yy682;
12563
7.39k
        if (yych <= 'z') goto yy663;
12564
4.52k
        goto yy20;
12565
7.39k
      }
12566
98.4k
    }
12567
113k
  }
12568
133k
yy500:
12569
133k
  YYDEBUG(500, *YYCURSOR);
12570
133k
  yyaccept = 2;
12571
133k
  yych = *(YYMARKER = ++YYCURSOR);
12572
133k
  if (yych <= '@') {
12573
29.7k
    if (yych <= ',') {
12574
13.1k
      if (yych == ')') goto yy115;
12575
9.55k
      goto yy20;
12576
16.6k
    } else {
12577
16.6k
      if (yych == '.') goto yy20;
12578
13.7k
      if (yych <= '/') goto yy297;
12579
7.07k
      goto yy20;
12580
13.7k
    }
12581
104k
  } else {
12582
104k
    if (yych <= '_') {
12583
16.3k
      if (yych <= 'A') goto yy677;
12584
11.4k
      if (yych <= 'Z') goto yy658;
12585
4.00k
      if (yych <= '^') goto yy20;
12586
1.75k
      goto yy297;
12587
87.7k
    } else {
12588
87.7k
      if (yych <= '`') goto yy20;
12589
85.6k
      if (yych <= 'a') goto yy683;
12590
16.3k
      if (yych <= 'z') goto yy663;
12591
6.55k
      goto yy20;
12592
16.3k
    }
12593
104k
  }
12594
157k
yy501:
12595
157k
  YYDEBUG(501, *YYCURSOR);
12596
157k
  yyaccept = 2;
12597
157k
  yych = *(YYMARKER = ++YYCURSOR);
12598
157k
  if (yych <= 'S') {
12599
34.7k
    if (yych <= '-') {
12600
20.5k
      if (yych == ')') goto yy115;
12601
17.0k
      if (yych <= ',') goto yy20;
12602
5.85k
      goto yy297;
12603
17.0k
    } else {
12604
14.2k
      if (yych == '/') goto yy297;
12605
12.4k
      if (yych <= '@') goto yy20;
12606
4.41k
      goto yy658;
12607
12.4k
    }
12608
122k
  } else {
12609
122k
    if (yych <= '_') {
12610
10.8k
      if (yych <= 'T') goto yy678;
12611
6.03k
      if (yych <= 'Z') goto yy658;
12612
3.41k
      if (yych <= '^') goto yy20;
12613
1.59k
      goto yy297;
12614
111k
    } else {
12615
111k
      if (yych <= 's') {
12616
11.4k
        if (yych <= '`') goto yy20;
12617
8.16k
        goto yy663;
12618
100k
      } else {
12619
100k
        if (yych <= 't') goto yy684;
12620
10.9k
        if (yych <= 'z') goto yy663;
12621
6.26k
        goto yy20;
12622
10.9k
      }
12623
111k
    }
12624
122k
  }
12625
157k
yy502:
12626
157k
  YYDEBUG(502, *YYCURSOR);
12627
157k
  yych = *++YYCURSOR;
12628
157k
  if (yych <= '/') goto yy59;
12629
144k
  if (yych <= '1') goto yy685;
12630
70.4k
  if (yych <= '2') goto yy686;
12631
42.7k
  if (yych <= '9') goto yy687;
12632
22.0k
  goto yy59;
12633
60.9k
yy503:
12634
60.9k
  YYDEBUG(503, *YYCURSOR);
12635
60.9k
  yych = *++YYCURSOR;
12636
60.9k
  if (yych <= '/') {
12637
40.4k
    if (yych == '.') goto yy688;
12638
5.29k
    goto yy59;
12639
40.4k
  } else {
12640
20.5k
    if (yych <= '0') goto yy689;
12641
17.6k
    if (yych <= '9') goto yy506;
12642
11.8k
    if (yych <= ':') goto yy688;
12643
5.64k
    goto yy59;
12644
11.8k
  }
12645
55.0k
yy504:
12646
55.0k
  YYDEBUG(504, *YYCURSOR);
12647
55.0k
  yych = *++YYCURSOR;
12648
55.0k
  if (yych <= '/') {
12649
15.1k
    if (yych == '.') goto yy690;
12650
9.15k
    goto yy59;
12651
39.8k
  } else {
12652
39.8k
    if (yych <= '2') goto yy506;
12653
21.0k
    if (yych <= '9') goto yy689;
12654
19.3k
    if (yych <= ':') goto yy690;
12655
4.53k
    goto yy59;
12656
19.3k
  }
12657
34.0k
yy505:
12658
34.0k
  YYDEBUG(505, *YYCURSOR);
12659
34.0k
  yych = *++YYCURSOR;
12660
34.0k
  if (yych <= '/') {
12661
19.3k
    if (yych == '.') goto yy690;
12662
6.74k
    goto yy59;
12663
19.3k
  } else {
12664
14.7k
    if (yych <= '4') goto yy689;
12665
10.5k
    if (yych == ':') goto yy690;
12666
2.95k
    goto yy59;
12667
10.5k
  }
12668
51.9k
yy506:
12669
51.9k
  YYDEBUG(506, *YYCURSOR);
12670
51.9k
  yych = *++YYCURSOR;
12671
51.9k
  if (yych == '.') goto yy690;
12672
38.7k
  if (yych == ':') goto yy690;
12673
18.3k
  goto yy59;
12674
67.1k
yy507:
12675
67.1k
  YYDEBUG(507, *YYCURSOR);
12676
67.1k
  yych = *++YYCURSOR;
12677
67.1k
  if (yych <= '/') goto yy59;
12678
61.4k
  if (yych <= '1') goto yy691;
12679
39.2k
  if (yych <= '2') goto yy692;
12680
25.1k
  if (yych <= '9') goto yy689;
12681
13.5k
  goto yy59;
12682
363k
yy508:
12683
363k
  YYDEBUG(508, *YYCURSOR);
12684
363k
  yyaccept = 10;
12685
363k
  yych = *(YYMARKER = ++YYCURSOR);
12686
363k
  if (yych <= '/') {
12687
110k
    if (yych == '.') goto yy688;
12688
17.7k
    goto yy325;
12689
253k
  } else {
12690
253k
    if (yych <= '0') goto yy693;
12691
203k
    if (yych <= '9') goto yy694;
12692
81.3k
    if (yych <= ':') goto yy688;
12693
20.2k
    goto yy325;
12694
81.3k
  }
12695
277k
yy509:
12696
277k
  YYDEBUG(509, *YYCURSOR);
12697
277k
  yyaccept = 10;
12698
277k
  yych = *(YYMARKER = ++YYCURSOR);
12699
277k
  if (yych <= '/') {
12700
74.9k
    if (yych == '.') goto yy690;
12701
19.0k
    goto yy325;
12702
202k
  } else {
12703
202k
    if (yych <= '2') goto yy694;
12704
129k
    if (yych <= '9') goto yy693;
12705
101k
    if (yych <= ':') goto yy690;
12706
26.7k
    goto yy325;
12707
101k
  }
12708
188k
yy510:
12709
188k
  YYDEBUG(510, *YYCURSOR);
12710
188k
  yyaccept = 10;
12711
188k
  yych = *(YYMARKER = ++YYCURSOR);
12712
188k
  if (yych <= '/') {
12713
27.5k
    if (yych == '.') goto yy690;
12714
9.44k
    goto yy325;
12715
161k
  } else {
12716
161k
    if (yych <= '4') goto yy693;
12717
114k
    if (yych <= '9') goto yy695;
12718
105k
    if (yych <= ':') goto yy690;
12719
14.1k
    goto yy325;
12720
105k
  }
12721
363k
yy511:
12722
363k
  YYDEBUG(511, *YYCURSOR);
12723
363k
  yyaccept = 10;
12724
363k
  yych = *(YYMARKER = ++YYCURSOR);
12725
363k
  if (yych <= '/') {
12726
189k
    if (yych == '.') goto yy690;
12727
12.5k
    goto yy325;
12728
189k
  } else {
12729
174k
    if (yych <= '9') goto yy695;
12730
137k
    if (yych <= ':') goto yy690;
12731
41.6k
    goto yy325;
12732
137k
  }
12733
210k
yy512:
12734
210k
  YYDEBUG(512, *YYCURSOR);
12735
210k
  yych = *++YYCURSOR;
12736
210k
  if (yych <= '/') goto yy59;
12737
166k
  if (yych <= '9') goto yy696;
12738
62.0k
  goto yy59;
12739
62.0k
yy513:
12740
15.8k
  YYDEBUG(513, *YYCURSOR);
12741
15.8k
  yyaccept = 10;
12742
15.8k
  yych = *(YYMARKER = ++YYCURSOR);
12743
15.8k
  if (yych <= 0x00) goto yy324;
12744
14.5k
  goto yy327;
12745
70.2k
yy514:
12746
70.2k
  YYDEBUG(514, *YYCURSOR);
12747
70.2k
  yych = *++YYCURSOR;
12748
70.2k
  if (yych <= 'A') {
12749
20.7k
    if (yych == ')') goto yy115;
12750
19.1k
    if (yych <= '@') goto yy20;
12751
14.1k
    goto yy698;
12752
49.4k
  } else {
12753
49.4k
    if (yych <= '`') {
12754
8.49k
      if (yych <= 'Z') goto yy658;
12755
4.18k
      goto yy20;
12756
40.9k
    } else {
12757
40.9k
      if (yych <= 'a') goto yy698;
12758
8.13k
      if (yych <= 'z') goto yy658;
12759
5.18k
      goto yy20;
12760
8.13k
    }
12761
49.4k
  }
12762
42.4k
yy515:
12763
42.4k
  YYDEBUG(515, *YYCURSOR);
12764
42.4k
  yyaccept = 7;
12765
42.4k
  yych = *(YYMARKER = ++YYCURSOR);
12766
42.4k
  if (yych <= ',') {
12767
12.9k
    if (yych <= 0x1F) {
12768
3.68k
      if (yych == '\t') goto yy142;
12769
1.47k
      goto yy295;
12770
9.29k
    } else {
12771
9.29k
      if (yych <= ' ') goto yy142;
12772
7.46k
      if (yych == ')') goto yy115;
12773
3.73k
      goto yy295;
12774
7.46k
    }
12775
29.4k
  } else {
12776
29.4k
    if (yych <= '@') {
12777
8.59k
      if (yych == '/') goto yy295;
12778
7.83k
      if (yych <= '9') goto yy142;
12779
2.62k
      goto yy295;
12780
20.8k
    } else {
12781
20.8k
      if (yych <= 'Z') goto yy658;
12782
18.4k
      if (yych <= '`') goto yy295;
12783
15.9k
      if (yych <= 'z') goto yy658;
12784
4.86k
      goto yy295;
12785
15.9k
    }
12786
29.4k
  }
12787
114k
yy516:
12788
114k
  YYDEBUG(516, *YYCURSOR);
12789
114k
  yyaccept = 2;
12790
114k
  yych = *(YYMARKER = ++YYCURSOR);
12791
114k
  if (yych <= '@') {
12792
16.8k
    if (yych <= ',') {
12793
7.23k
      if (yych == ')') goto yy115;
12794
5.72k
      goto yy20;
12795
9.65k
    } else {
12796
9.65k
      if (yych == '.') goto yy20;
12797
6.11k
      if (yych <= '/') goto yy297;
12798
4.90k
      goto yy20;
12799
6.11k
    }
12800
97.2k
  } else {
12801
97.2k
    if (yych <= '_') {
12802
12.8k
      if (yych <= 'A') goto yy698;
12803
8.56k
      if (yych <= 'Z') goto yy658;
12804
5.96k
      if (yych <= '^') goto yy20;
12805
2.57k
      goto yy297;
12806
84.3k
    } else {
12807
84.3k
      if (yych <= '`') goto yy20;
12808
83.1k
      if (yych <= 'a') goto yy699;
12809
22.2k
      if (yych <= 'z') goto yy663;
12810
10.0k
      goto yy20;
12811
22.2k
    }
12812
97.2k
  }
12813
60.3k
yy517:
12814
60.3k
  YYDEBUG(517, *YYCURSOR);
12815
60.3k
  yyaccept = 7;
12816
60.3k
  yych = *(YYMARKER = ++YYCURSOR);
12817
60.3k
  if (yych <= '.') {
12818
29.0k
    if (yych <= ' ') {
12819
5.30k
      if (yych == '\t') goto yy142;
12820
4.38k
      if (yych <= 0x1F) goto yy295;
12821
1.82k
      goto yy142;
12822
23.7k
    } else {
12823
23.7k
      if (yych <= ')') {
12824
12.1k
        if (yych <= '(') goto yy295;
12825
10.5k
        goto yy115;
12826
12.1k
      } else {
12827
11.5k
        if (yych <= ',') goto yy295;
12828
5.60k
        if (yych <= '-') goto yy700;
12829
628
        goto yy142;
12830
5.60k
      }
12831
23.7k
    }
12832
31.2k
  } else {
12833
31.2k
    if (yych <= 'Z') {
12834
17.0k
      if (yych <= '/') goto yy297;
12835
12.8k
      if (yych <= '9') goto yy142;
12836
7.95k
      if (yych <= '@') goto yy295;
12837
3.02k
      goto yy658;
12838
14.1k
    } else {
12839
14.1k
      if (yych <= '_') {
12840
5.77k
        if (yych <= '^') goto yy295;
12841
2.64k
        goto yy297;
12842
8.42k
      } else {
12843
8.42k
        if (yych <= '`') goto yy295;
12844
6.30k
        if (yych <= 'z') goto yy663;
12845
4.09k
        goto yy295;
12846
6.30k
      }
12847
14.1k
    }
12848
31.2k
  }
12849
300k
yy518:
12850
300k
  YYDEBUG(518, *YYCURSOR);
12851
300k
  yyaccept = 2;
12852
300k
  yych = *(YYMARKER = ++YYCURSOR);
12853
300k
  if (yych <= '@') {
12854
198k
    if (yych <= 0x1F) {
12855
23.1k
      if (yych == '\t') goto yy701;
12856
11.9k
      goto yy20;
12857
175k
    } else {
12858
175k
      if (yych <= ' ') goto yy703;
12859
14.6k
      if (yych == ')') goto yy115;
12860
13.5k
      goto yy20;
12861
14.6k
    }
12862
198k
  } else {
12863
101k
    if (yych <= 0xC1) {
12864
37.7k
      if (yych <= 'Z') goto yy658;
12865
31.4k
      if (yych <= '`') goto yy20;
12866
21.2k
      if (yych <= 'z') goto yy658;
12867
10.6k
      goto yy20;
12868
63.9k
    } else {
12869
63.9k
      if (yych <= 0xC2) goto yy704;
12870
20.5k
      if (yych == 0xE2) goto yy705;
12871
4.28k
      goto yy20;
12872
20.5k
    }
12873
101k
  }
12874
92.7k
yy519:
12875
92.7k
  YYDEBUG(519, *YYCURSOR);
12876
92.7k
  yyaccept = 2;
12877
92.7k
  yych = *(YYMARKER = ++YYCURSOR);
12878
92.7k
  if (yych <= '/') {
12879
47.8k
    if (yych <= '(') {
12880
40.2k
      if (yych <= '\t') {
12881
17.3k
        if (yych <= 0x08) goto yy20;
12882
15.3k
        goto yy701;
12883
22.8k
      } else {
12884
22.8k
        if (yych == ' ') goto yy703;
12885
7.71k
        goto yy20;
12886
22.8k
      }
12887
40.2k
    } else {
12888
7.62k
      if (yych <= ',') {
12889
4.11k
        if (yych <= ')') goto yy115;
12890
950
        goto yy20;
12891
4.11k
      } else {
12892
3.51k
        if (yych == '.') goto yy20;
12893
2.12k
        goto yy297;
12894
3.51k
      }
12895
7.62k
    }
12896
47.8k
  } else {
12897
44.8k
    if (yych <= '`') {
12898
18.1k
      if (yych <= 'Z') {
12899
6.37k
        if (yych <= '@') goto yy20;
12900
3.04k
        goto yy658;
12901
11.8k
      } else {
12902
11.8k
        if (yych == '_') goto yy297;
12903
8.83k
        goto yy20;
12904
11.8k
      }
12905
26.6k
    } else {
12906
26.6k
      if (yych <= 0xC2) {
12907
13.6k
        if (yych <= 'z') goto yy663;
12908
10.7k
        if (yych <= 0xC1) goto yy20;
12909
8.84k
        goto yy704;
12910
13.0k
      } else {
12911
13.0k
        if (yych == 0xE2) goto yy705;
12912
2.34k
        goto yy20;
12913
13.0k
      }
12914
26.6k
    }
12915
44.8k
  }
12916
58.2k
yy520:
12917
58.2k
  YYDEBUG(520, *YYCURSOR);
12918
58.2k
  yych = *++YYCURSOR;
12919
58.2k
  if (yych <= 'H') {
12920
36.0k
    if (yych <= ')') {
12921
12.8k
      if (yych <= '(') goto yy20;
12922
9.08k
      goto yy115;
12923
23.2k
    } else {
12924
23.2k
      if (yych <= '@') goto yy20;
12925
17.3k
      if (yych <= 'G') goto yy658;
12926
14.8k
      goto yy661;
12927
17.3k
    }
12928
36.0k
  } else {
12929
22.2k
    if (yych <= 'g') {
12930
12.5k
      if (yych <= 'Z') goto yy658;
12931
9.25k
      if (yych <= '`') goto yy20;
12932
6.65k
      goto yy658;
12933
9.67k
    } else {
12934
9.67k
      if (yych <= 'h') goto yy661;
12935
4.46k
      if (yych <= 'z') goto yy658;
12936
1.82k
      goto yy20;
12937
4.46k
    }
12938
22.2k
  }
12939
67.6k
yy521:
12940
67.6k
  YYDEBUG(521, *YYCURSOR);
12941
67.6k
  yych = *++YYCURSOR;
12942
67.6k
  if (yych <= 'I') {
12943
31.7k
    if (yych <= ')') {
12944
9.93k
      if (yych <= '(') goto yy20;
12945
3.77k
      goto yy115;
12946
21.8k
    } else {
12947
21.8k
      if (yych <= '@') goto yy20;
12948
18.7k
      if (yych <= 'H') goto yy658;
12949
15.3k
      goto yy706;
12950
18.7k
    }
12951
35.9k
  } else {
12952
35.9k
    if (yych <= 'h') {
12953
7.52k
      if (yych <= 'Z') goto yy658;
12954
5.04k
      if (yych <= '`') goto yy20;
12955
2.03k
      goto yy658;
12956
28.3k
    } else {
12957
28.3k
      if (yych <= 'i') goto yy706;
12958
5.56k
      if (yych <= 'z') goto yy658;
12959
4.14k
      goto yy20;
12960
5.56k
    }
12961
35.9k
  }
12962
55.3k
yy522:
12963
55.3k
  YYDEBUG(522, *YYCURSOR);
12964
55.3k
  yyaccept = 2;
12965
55.3k
  yych = *(YYMARKER = ++YYCURSOR);
12966
55.3k
  if (yych <= 'G') {
12967
20.0k
    if (yych <= '-') {
12968
12.9k
      if (yych == ')') goto yy115;
12969
9.85k
      if (yych <= ',') goto yy20;
12970
920
      goto yy297;
12971
9.85k
    } else {
12972
7.14k
      if (yych == '/') goto yy297;
12973
6.36k
      if (yych <= '@') goto yy20;
12974
1.89k
      goto yy658;
12975
6.36k
    }
12976
35.3k
  } else {
12977
35.3k
    if (yych <= '_') {
12978
15.0k
      if (yych <= 'H') goto yy661;
12979
10.6k
      if (yych <= 'Z') goto yy658;
12980
3.71k
      if (yych <= '^') goto yy20;
12981
1.82k
      goto yy297;
12982
20.2k
    } else {
12983
20.2k
      if (yych <= 'g') {
12984
2.98k
        if (yych <= '`') goto yy20;
12985
1.34k
        goto yy663;
12986
17.2k
      } else {
12987
17.2k
        if (yych <= 'h') goto yy664;
12988
9.72k
        if (yych <= 'z') goto yy663;
12989
3.69k
        goto yy20;
12990
9.72k
      }
12991
20.2k
    }
12992
35.3k
  }
12993
144k
yy523:
12994
144k
  YYDEBUG(523, *YYCURSOR);
12995
144k
  yyaccept = 2;
12996
144k
  yych = *(YYMARKER = ++YYCURSOR);
12997
144k
  if (yych <= 'H') {
12998
31.6k
    if (yych <= '-') {
12999
18.5k
      if (yych == ')') goto yy115;
13000
16.1k
      if (yych <= ',') goto yy20;
13001
10.5k
      goto yy297;
13002
16.1k
    } else {
13003
13.1k
      if (yych == '/') goto yy297;
13004
11.9k
      if (yych <= '@') goto yy20;
13005
3.41k
      goto yy658;
13006
11.9k
    }
13007
112k
  } else {
13008
112k
    if (yych <= '_') {
13009
15.3k
      if (yych <= 'I') goto yy706;
13010
6.04k
      if (yych <= 'Z') goto yy658;
13011
3.62k
      if (yych <= '^') goto yy20;
13012
1.73k
      goto yy297;
13013
97.4k
    } else {
13014
97.4k
      if (yych <= 'h') {
13015
4.83k
        if (yych <= '`') goto yy20;
13016
2.73k
        goto yy663;
13017
92.6k
      } else {
13018
92.6k
        if (yych <= 'i') goto yy707;
13019
6.00k
        if (yych <= 'z') goto yy663;
13020
3.20k
        goto yy20;
13021
6.00k
      }
13022
97.4k
    }
13023
112k
  }
13024
318k
yy524:
13025
318k
  YYDEBUG(524, *YYCURSOR);
13026
318k
  yyaccept = 2;
13027
318k
  yych = *(YYMARKER = ++YYCURSOR);
13028
318k
  if (yych <= '@') {
13029
192k
    if (yych <= 0x1F) {
13030
81.6k
      if (yych == '\t') goto yy701;
13031
17.6k
      goto yy20;
13032
110k
    } else {
13033
110k
      if (yych <= ' ') goto yy701;
13034
25.2k
      if (yych == ')') goto yy115;
13035
23.7k
      goto yy20;
13036
25.2k
    }
13037
192k
  } else {
13038
125k
    if (yych <= 0xC1) {
13039
38.7k
      if (yych <= 'Z') goto yy658;
13040
24.0k
      if (yych <= '`') goto yy20;
13041
14.3k
      if (yych <= 'z') goto yy658;
13042
6.08k
      goto yy20;
13043
86.9k
    } else {
13044
86.9k
      if (yych <= 0xC2) goto yy704;
13045
79.7k
      if (yych == 0xE2) goto yy705;
13046
16.4k
      goto yy20;
13047
79.7k
    }
13048
125k
  }
13049
21.4k
yy525:
13050
21.4k
  YYDEBUG(525, *YYCURSOR);
13051
21.4k
  yych = *++YYCURSOR;
13052
21.4k
  if (yych <= '@') {
13053
6.09k
    if (yych == ')') goto yy115;
13054
15.3k
  } else {
13055
15.3k
    if (yych <= 'Z') goto yy658;
13056
11.3k
    if (yych <= '`') goto yy526;
13057
9.12k
    if (yych <= 'z') goto yy658;
13058
9.12k
  }
13059
33.7k
yy526:
13060
33.7k
  YYDEBUG(526, *YYCURSOR);
13061
33.7k
#line 1187 "ext/date/lib/parse_date.re"
13062
33.7k
  {
13063
33.7k
    DEBUG_OUTPUT("noon");
13064
33.7k
    TIMELIB_INIT;
13065
33.7k
    TIMELIB_UNHAVE_TIME();
13066
33.7k
    TIMELIB_HAVE_TIME();
13067
33.7k
    s->time->h = 12;
13068
13069
33.7k
    TIMELIB_DEINIT;
13070
33.7k
    return TIMELIB_RELATIVE;
13071
33.7k
  }
13072
0
#line 13073 "ext/date/lib/parse_date.c"
13073
140k
yy527:
13074
140k
  YYDEBUG(527, *YYCURSOR);
13075
140k
  yyaccept = 2;
13076
140k
  yych = *(YYMARKER = ++YYCURSOR);
13077
140k
  if (yych <= '/') {
13078
62.3k
    if (yych <= '(') {
13079
55.8k
      if (yych <= '\t') {
13080
17.1k
        if (yych <= 0x08) goto yy20;
13081
11.2k
        goto yy701;
13082
38.6k
      } else {
13083
38.6k
        if (yych == ' ') goto yy701;
13084
2.55k
        goto yy20;
13085
38.6k
      }
13086
55.8k
    } else {
13087
6.54k
      if (yych <= ',') {
13088
3.31k
        if (yych <= ')') goto yy115;
13089
2.17k
        goto yy20;
13090
3.31k
      } else {
13091
3.22k
        if (yych == '.') goto yy20;
13092
1.64k
        goto yy297;
13093
3.22k
      }
13094
6.54k
    }
13095
78.2k
  } else {
13096
78.2k
    if (yych <= '`') {
13097
24.7k
      if (yych <= 'Z') {
13098
20.9k
        if (yych <= '@') goto yy20;
13099
17.7k
        goto yy658;
13100
20.9k
      } else {
13101
3.88k
        if (yych == '_') goto yy297;
13102
1.91k
        goto yy20;
13103
3.88k
      }
13104
53.5k
    } else {
13105
53.5k
      if (yych <= 0xC2) {
13106
38.7k
        if (yych <= 'z') goto yy663;
13107
32.7k
        if (yych <= 0xC1) goto yy20;
13108
25.1k
        goto yy704;
13109
32.7k
      } else {
13110
14.7k
        if (yych == 0xE2) goto yy705;
13111
4.56k
        goto yy20;
13112
14.7k
      }
13113
53.5k
    }
13114
78.2k
  }
13115
29.9k
yy528:
13116
29.9k
  YYDEBUG(528, *YYCURSOR);
13117
29.9k
  yyaccept = 14;
13118
29.9k
  yych = *(YYMARKER = ++YYCURSOR);
13119
29.9k
  if (yych <= '/') {
13120
8.10k
    if (yych <= ',') {
13121
2.66k
      if (yych == ')') goto yy115;
13122
1.63k
      goto yy526;
13123
5.44k
    } else {
13124
5.44k
      if (yych == '.') goto yy526;
13125
4.13k
      goto yy297;
13126
5.44k
    }
13127
21.8k
  } else {
13128
21.8k
    if (yych <= '^') {
13129
12.4k
      if (yych <= '@') goto yy526;
13130
4.02k
      if (yych <= 'Z') goto yy658;
13131
2.02k
      goto yy526;
13132
9.45k
    } else {
13133
9.45k
      if (yych <= '_') goto yy297;
13134
8.37k
      if (yych <= '`') goto yy526;
13135
7.42k
      if (yych <= 'z') goto yy663;
13136
3.65k
      goto yy526;
13137
7.42k
    }
13138
21.8k
  }
13139
66.1k
yy529:
13140
66.1k
  YYDEBUG(529, *YYCURSOR);
13141
66.1k
  yych = *++YYCURSOR;
13142
66.1k
  if (yych <= 'B') {
13143
23.7k
    if (yych <= ')') {
13144
4.05k
      if (yych <= '(') goto yy20;
13145
1.50k
      goto yy115;
13146
19.7k
    } else {
13147
19.7k
      if (yych <= '@') goto yy20;
13148
13.2k
      if (yych <= 'A') goto yy658;
13149
12.4k
      goto yy708;
13150
13.2k
    }
13151
42.3k
  } else {
13152
42.3k
    if (yych <= 'a') {
13153
10.4k
      if (yych <= 'Z') goto yy658;
13154
7.13k
      if (yych <= '`') goto yy20;
13155
948
      goto yy658;
13156
31.8k
    } else {
13157
31.8k
      if (yych <= 'b') goto yy708;
13158
6.68k
      if (yych <= 'z') goto yy658;
13159
4.24k
      goto yy20;
13160
6.68k
    }
13161
42.3k
  }
13162
130k
yy530:
13163
130k
  YYDEBUG(530, *YYCURSOR);
13164
130k
  yyaccept = 2;
13165
130k
  yych = *(YYMARKER = ++YYCURSOR);
13166
130k
  if (yych <= 'A') {
13167
24.0k
    if (yych <= '-') {
13168
9.94k
      if (yych == ')') goto yy115;
13169
7.83k
      if (yych <= ',') goto yy20;
13170
2.53k
      goto yy297;
13171
14.1k
    } else {
13172
14.1k
      if (yych == '/') goto yy297;
13173
11.9k
      if (yych <= '@') goto yy20;
13174
1.04k
      goto yy658;
13175
11.9k
    }
13176
106k
  } else {
13177
106k
    if (yych <= '_') {
13178
15.4k
      if (yych <= 'B') goto yy708;
13179
6.54k
      if (yych <= 'Z') goto yy658;
13180
3.36k
      if (yych <= '^') goto yy20;
13181
1.64k
      goto yy297;
13182
90.8k
    } else {
13183
90.8k
      if (yych <= 'a') {
13184
7.40k
        if (yych <= '`') goto yy20;
13185
3.38k
        goto yy663;
13186
83.4k
      } else {
13187
83.4k
        if (yych <= 'b') goto yy709;
13188
17.2k
        if (yych <= 'z') goto yy663;
13189
8.34k
        goto yy20;
13190
17.2k
      }
13191
90.8k
    }
13192
106k
  }
13193
157k
yy531:
13194
157k
  YYDEBUG(531, *YYCURSOR);
13195
157k
  yych = *++YYCURSOR;
13196
157k
  if (yych <= 'I') {
13197
24.8k
    if (yych <= ')') {
13198
6.40k
      if (yych <= '(') goto yy20;
13199
1.62k
      goto yy115;
13200
18.4k
    } else {
13201
18.4k
      if (yych <= '@') goto yy20;
13202
14.4k
      if (yych <= 'H') goto yy658;
13203
12.0k
      goto yy710;
13204
14.4k
    }
13205
132k
  } else {
13206
132k
    if (yych <= 'h') {
13207
8.04k
      if (yych <= 'Z') goto yy658;
13208
7.15k
      if (yych <= '`') goto yy20;
13209
5.95k
      goto yy658;
13210
124k
    } else {
13211
124k
      if (yych <= 'i') goto yy710;
13212
6.98k
      if (yych <= 'z') goto yy658;
13213
4.12k
      goto yy20;
13214
6.98k
    }
13215
132k
  }
13216
152k
yy532:
13217
152k
  YYDEBUG(532, *YYCURSOR);
13218
152k
  yyaccept = 2;
13219
152k
  yych = *(YYMARKER = ++YYCURSOR);
13220
152k
  if (yych <= 'H') {
13221
24.2k
    if (yych <= '-') {
13222
14.8k
      if (yych == ')') goto yy115;
13223
12.6k
      if (yych <= ',') goto yy20;
13224
3.55k
      goto yy297;
13225
12.6k
    } else {
13226
9.37k
      if (yych == '/') goto yy297;
13227
7.15k
      if (yych <= '@') goto yy20;
13228
1.08k
      goto yy658;
13229
7.15k
    }
13230
128k
  } else {
13231
128k
    if (yych <= '_') {
13232
18.5k
      if (yych <= 'I') goto yy710;
13233
13.6k
      if (yych <= 'Z') goto yy658;
13234
11.1k
      if (yych <= '^') goto yy20;
13235
2.83k
      goto yy297;
13236
110k
    } else {
13237
110k
      if (yych <= 'h') {
13238
5.99k
        if (yych <= '`') goto yy20;
13239
4.49k
        goto yy663;
13240
104k
      } else {
13241
104k
        if (yych <= 'i') goto yy711;
13242
14.3k
        if (yych <= 'z') goto yy663;
13243
9.96k
        goto yy20;
13244
14.3k
      }
13245
110k
    }
13246
128k
  }
13247
62.7k
yy533:
13248
62.7k
  YYDEBUG(533, *YYCURSOR);
13249
62.7k
  yych = *++YYCURSOR;
13250
62.7k
  if (yych <= 'R') {
13251
18.8k
    if (yych <= ')') {
13252
3.55k
      if (yych <= '(') goto yy20;
13253
1.17k
      goto yy115;
13254
15.3k
    } else {
13255
15.3k
      if (yych <= '@') goto yy20;
13256
7.06k
      if (yych <= 'Q') goto yy658;
13257
5.00k
      goto yy712;
13258
7.06k
    }
13259
43.8k
  } else {
13260
43.8k
    if (yych <= 'q') {
13261
7.35k
      if (yych <= 'Z') goto yy658;
13262
4.66k
      if (yych <= '`') goto yy20;
13263
2.67k
      goto yy658;
13264
36.5k
    } else {
13265
36.5k
      if (yych <= 'r') goto yy712;
13266
16.1k
      if (yych <= 'z') goto yy658;
13267
9.79k
      goto yy20;
13268
16.1k
    }
13269
43.8k
  }
13270
72.7k
yy534:
13271
72.7k
  YYDEBUG(534, *YYCURSOR);
13272
72.7k
  yych = *++YYCURSOR;
13273
72.7k
  if (yych <= 'N') {
13274
35.5k
    if (yych <= ')') {
13275
11.0k
      if (yych <= '(') goto yy20;
13276
3.88k
      goto yy115;
13277
24.4k
    } else {
13278
24.4k
      if (yych <= '@') goto yy20;
13279
18.0k
      if (yych <= 'M') goto yy658;
13280
15.4k
      goto yy713;
13281
18.0k
    }
13282
37.1k
  } else {
13283
37.1k
    if (yych <= 'm') {
13284
7.01k
      if (yych <= 'Z') goto yy658;
13285
3.85k
      if (yych <= '`') goto yy20;
13286
2.12k
      goto yy658;
13287
30.1k
    } else {
13288
30.1k
      if (yych <= 'n') goto yy713;
13289
5.87k
      if (yych <= 'z') goto yy658;
13290
3.76k
      goto yy20;
13291
5.87k
    }
13292
37.1k
  }
13293
107k
yy535:
13294
107k
  YYDEBUG(535, *YYCURSOR);
13295
107k
  yyaccept = 7;
13296
107k
  yych = *(YYMARKER = ++YYCURSOR);
13297
107k
  if (yych <= '/') {
13298
34.5k
    if (yych <= '(') {
13299
19.1k
      if (yych <= '\t') {
13300
9.94k
        if (yych <= 0x08) goto yy295;
13301
3.16k
        goto yy142;
13302
9.94k
      } else {
13303
9.24k
        if (yych == ' ') goto yy142;
13304
4.39k
        goto yy295;
13305
9.24k
      }
13306
19.1k
    } else {
13307
15.3k
      if (yych <= ',') {
13308
3.30k
        if (yych <= ')') goto yy115;
13309
1.89k
        goto yy295;
13310
12.0k
      } else {
13311
12.0k
        if (yych <= '-') goto yy473;
13312
5.71k
        if (yych <= '.') goto yy142;
13313
3.86k
        goto yy295;
13314
5.71k
      }
13315
15.3k
    }
13316
72.7k
  } else {
13317
72.7k
    if (yych <= 'Z') {
13318
35.1k
      if (yych <= '@') {
13319
25.5k
        if (yych <= '9') goto yy142;
13320
3.88k
        goto yy295;
13321
25.5k
      } else {
13322
9.62k
        if (yych == 'E') goto yy714;
13323
2.74k
        goto yy658;
13324
9.62k
      }
13325
37.6k
    } else {
13326
37.6k
      if (yych <= 'd') {
13327
3.40k
        if (yych <= '`') goto yy295;
13328
1.73k
        goto yy658;
13329
34.1k
      } else {
13330
34.1k
        if (yych <= 'e') goto yy714;
13331
17.3k
        if (yych <= 'z') goto yy658;
13332
9.12k
        goto yy295;
13333
17.3k
      }
13334
37.6k
    }
13335
72.7k
  }
13336
56.2k
yy536:
13337
56.2k
  YYDEBUG(536, *YYCURSOR);
13338
56.2k
  yych = *++YYCURSOR;
13339
56.2k
  if (yych <= 'N') {
13340
22.0k
    if (yych <= ')') {
13341
11.4k
      if (yych <= '(') goto yy20;
13342
3.73k
      goto yy115;
13343
11.4k
    } else {
13344
10.5k
      if (yych <= '@') goto yy20;
13345
6.34k
      if (yych <= 'M') goto yy658;
13346
2.41k
      goto yy715;
13347
6.34k
    }
13348
34.1k
  } else {
13349
34.1k
    if (yych <= 'm') {
13350
5.25k
      if (yych <= 'Z') goto yy658;
13351
4.27k
      if (yych <= '`') goto yy20;
13352
2.65k
      goto yy658;
13353
28.9k
    } else {
13354
28.9k
      if (yych <= 'n') goto yy715;
13355
7.15k
      if (yych <= 'z') goto yy658;
13356
4.22k
      goto yy20;
13357
7.15k
    }
13358
34.1k
  }
13359
84.0k
yy537:
13360
84.0k
  YYDEBUG(537, *YYCURSOR);
13361
84.0k
  yyaccept = 2;
13362
84.0k
  yych = *(YYMARKER = ++YYCURSOR);
13363
84.0k
  if (yych <= 'Q') {
13364
17.5k
    if (yych <= '-') {
13365
7.62k
      if (yych == ')') goto yy115;
13366
6.73k
      if (yych <= ',') goto yy20;
13367
3.99k
      goto yy297;
13368
9.96k
    } else {
13369
9.96k
      if (yych == '/') goto yy297;
13370
8.91k
      if (yych <= '@') goto yy20;
13371
4.31k
      goto yy658;
13372
8.91k
    }
13373
66.4k
  } else {
13374
66.4k
    if (yych <= '_') {
13375
18.2k
      if (yych <= 'R') goto yy712;
13376
8.13k
      if (yych <= 'Z') goto yy658;
13377
4.46k
      if (yych <= '^') goto yy20;
13378
1.05k
      goto yy297;
13379
48.2k
    } else {
13380
48.2k
      if (yych <= 'q') {
13381
5.83k
        if (yych <= '`') goto yy20;
13382
4.44k
        goto yy663;
13383
42.3k
      } else {
13384
42.3k
        if (yych <= 'r') goto yy716;
13385
17.6k
        if (yych <= 'z') goto yy663;
13386
8.36k
        goto yy20;
13387
17.6k
      }
13388
48.2k
    }
13389
66.4k
  }
13390
141k
yy538:
13391
141k
  YYDEBUG(538, *YYCURSOR);
13392
141k
  yyaccept = 2;
13393
141k
  yych = *(YYMARKER = ++YYCURSOR);
13394
141k
  if (yych <= 'M') {
13395
35.3k
    if (yych <= '-') {
13396
19.0k
      if (yych == ')') goto yy115;
13397
9.66k
      if (yych <= ',') goto yy20;
13398
1.97k
      goto yy297;
13399
16.3k
    } else {
13400
16.3k
      if (yych == '/') goto yy297;
13401
11.1k
      if (yych <= '@') goto yy20;
13402
2.50k
      goto yy658;
13403
11.1k
    }
13404
106k
  } else {
13405
106k
    if (yych <= '_') {
13406
21.8k
      if (yych <= 'N') goto yy713;
13407
9.41k
      if (yych <= 'Z') goto yy658;
13408
7.76k
      if (yych <= '^') goto yy20;
13409
845
      goto yy297;
13410
84.3k
    } else {
13411
84.3k
      if (yych <= 'm') {
13412
6.20k
        if (yych <= '`') goto yy20;
13413
5.32k
        goto yy663;
13414
78.1k
      } else {
13415
78.1k
        if (yych <= 'n') goto yy717;
13416
20.7k
        if (yych <= 'z') goto yy663;
13417
10.7k
        goto yy20;
13418
20.7k
      }
13419
84.3k
    }
13420
106k
  }
13421
182k
yy539:
13422
182k
  YYDEBUG(539, *YYCURSOR);
13423
182k
  yyaccept = 7;
13424
182k
  yych = *(YYMARKER = ++YYCURSOR);
13425
182k
  if (yych <= '9') {
13426
40.8k
    if (yych <= '(') {
13427
13.7k
      if (yych <= '\t') {
13428
5.95k
        if (yych <= 0x08) goto yy295;
13429
1.79k
        goto yy142;
13430
7.76k
      } else {
13431
7.76k
        if (yych == ' ') goto yy142;
13432
5.08k
        goto yy295;
13433
7.76k
      }
13434
27.0k
    } else {
13435
27.0k
      if (yych <= '-') {
13436
19.4k
        if (yych <= ')') goto yy115;
13437
16.7k
        if (yych <= ',') goto yy295;
13438
15.2k
        goto yy479;
13439
16.7k
      } else {
13440
7.61k
        if (yych == '/') goto yy297;
13441
4.41k
        goto yy142;
13442
7.61k
      }
13443
27.0k
    }
13444
142k
  } else {
13445
142k
    if (yych <= '^') {
13446
37.3k
      if (yych <= 'D') {
13447
10.8k
        if (yych <= '@') goto yy295;
13448
1.10k
        goto yy658;
13449
26.5k
      } else {
13450
26.5k
        if (yych <= 'E') goto yy714;
13451
7.80k
        if (yych <= 'Z') goto yy658;
13452
4.56k
        goto yy295;
13453
7.80k
      }
13454
104k
    } else {
13455
104k
      if (yych <= 'd') {
13456
6.88k
        if (yych <= '_') goto yy297;
13457
3.17k
        if (yych <= '`') goto yy295;
13458
1.11k
        goto yy663;
13459
97.8k
      } else {
13460
97.8k
        if (yych <= 'e') goto yy718;
13461
15.0k
        if (yych <= 'z') goto yy663;
13462
10.8k
        goto yy295;
13463
15.0k
      }
13464
104k
    }
13465
142k
  }
13466
101k
yy540:
13467
101k
  YYDEBUG(540, *YYCURSOR);
13468
101k
  yyaccept = 2;
13469
101k
  yych = *(YYMARKER = ++YYCURSOR);
13470
101k
  if (yych <= 'M') {
13471
14.9k
    if (yych <= '-') {
13472
7.71k
      if (yych == ')') goto yy115;
13473
5.83k
      if (yych <= ',') goto yy20;
13474
2.92k
      goto yy297;
13475
7.19k
    } else {
13476
7.19k
      if (yych == '/') goto yy297;
13477
5.07k
      if (yych <= '@') goto yy20;
13478
2.98k
      goto yy658;
13479
5.07k
    }
13480
86.6k
  } else {
13481
86.6k
    if (yych <= '_') {
13482
9.21k
      if (yych <= 'N') goto yy715;
13483
4.36k
      if (yych <= 'Z') goto yy658;
13484
2.09k
      if (yych <= '^') goto yy20;
13485
254
      goto yy297;
13486
77.3k
    } else {
13487
77.3k
      if (yych <= 'm') {
13488
5.51k
        if (yych <= '`') goto yy20;
13489
3.68k
        goto yy663;
13490
71.8k
      } else {
13491
71.8k
        if (yych <= 'n') goto yy719;
13492
5.77k
        if (yych <= 'z') goto yy663;
13493
3.06k
        goto yy20;
13494
5.77k
      }
13495
77.3k
    }
13496
86.6k
  }
13497
142k
yy541:
13498
142k
  YYDEBUG(541, *YYCURSOR);
13499
142k
  yych = *++YYCURSOR;
13500
142k
  if (yych <= '/') goto yy59;
13501
102k
  if (yych <= '9') goto yy720;
13502
29.2k
  goto yy59;
13503
73.1k
yy542:
13504
73.1k
  YYDEBUG(542, *YYCURSOR);
13505
73.1k
  yych = *++YYCURSOR;
13506
73.1k
  if (yych <= 'D') {
13507
30.2k
    if (yych <= ')') {
13508
8.57k
      if (yych <= '(') goto yy20;
13509
3.28k
      goto yy115;
13510
21.6k
    } else {
13511
21.6k
      if (yych <= '@') goto yy20;
13512
15.5k
      if (yych <= 'C') goto yy658;
13513
14.5k
      goto yy674;
13514
15.5k
    }
13515
42.9k
  } else {
13516
42.9k
    if (yych <= 'c') {
13517
8.15k
      if (yych <= 'Z') goto yy658;
13518
4.67k
      if (yych <= '`') goto yy20;
13519
1.59k
      goto yy658;
13520
34.8k
    } else {
13521
34.8k
      if (yych <= 'd') goto yy674;
13522
5.26k
      if (yych <= 'z') goto yy658;
13523
2.95k
      goto yy20;
13524
5.26k
    }
13525
42.9k
  }
13526
56.3k
yy543:
13527
56.3k
  YYDEBUG(543, *YYCURSOR);
13528
56.3k
  yych = *++YYCURSOR;
13529
56.3k
  if (yych <= 'S') {
13530
18.3k
    if (yych <= ')') {
13531
6.69k
      if (yych <= '(') goto yy20;
13532
1.66k
      goto yy115;
13533
11.6k
    } else {
13534
11.6k
      if (yych <= '@') goto yy20;
13535
8.88k
      if (yych <= 'R') goto yy658;
13536
4.64k
      goto yy712;
13537
8.88k
    }
13538
38.0k
  } else {
13539
38.0k
    if (yych <= 'r') {
13540
8.68k
      if (yych <= 'Z') goto yy658;
13541
5.79k
      if (yych <= '`') goto yy20;
13542
2.50k
      goto yy658;
13543
29.3k
    } else {
13544
29.3k
      if (yych <= 's') goto yy712;
13545
10.0k
      if (yych <= 'z') goto yy658;
13546
6.62k
      goto yy20;
13547
10.0k
    }
13548
38.0k
  }
13549
37.6k
yy544:
13550
37.6k
  YYDEBUG(544, *YYCURSOR);
13551
37.6k
  yych = *++YYCURSOR;
13552
37.6k
  if (yych <= 'Y') {
13553
21.4k
    if (yych <= ')') {
13554
10.4k
      if (yych <= '(') goto yy20;
13555
5.76k
      goto yy115;
13556
10.9k
    } else {
13557
10.9k
      if (yych <= '@') goto yy20;
13558
6.41k
      if (yych <= 'X') goto yy658;
13559
4.85k
      goto yy721;
13560
6.41k
    }
13561
21.4k
  } else {
13562
16.2k
    if (yych <= 'x') {
13563
7.77k
      if (yych <= 'Z') goto yy658;
13564
6.45k
      if (yych <= '`') goto yy20;
13565
4.58k
      goto yy658;
13566
8.47k
    } else {
13567
8.47k
      if (yych <= 'y') goto yy721;
13568
3.44k
      if (yych <= 'z') goto yy658;
13569
2.34k
      goto yy20;
13570
3.44k
    }
13571
16.2k
  }
13572
70.8k
yy545:
13573
70.8k
  YYDEBUG(545, *YYCURSOR);
13574
70.8k
  yych = *++YYCURSOR;
13575
70.8k
  if (yych <= 'R') {
13576
22.7k
    if (yych <= ')') {
13577
11.0k
      if (yych <= '(') goto yy20;
13578
3.28k
      goto yy115;
13579
11.7k
    } else {
13580
11.7k
      if (yych <= '@') goto yy20;
13581
5.36k
      if (yych <= 'Q') goto yy658;
13582
4.39k
      goto yy723;
13583
5.36k
    }
13584
48.1k
  } else {
13585
48.1k
    if (yych <= 'q') {
13586
11.3k
      if (yych <= 'Z') goto yy658;
13587
8.52k
      if (yych <= '`') goto yy20;
13588
4.02k
      goto yy658;
13589
36.7k
    } else {
13590
36.7k
      if (yych <= 'r') goto yy723;
13591
7.96k
      if (yych <= 'z') goto yy658;
13592
3.92k
      goto yy20;
13593
7.96k
    }
13594
48.1k
  }
13595
100k
yy546:
13596
100k
  YYDEBUG(546, *YYCURSOR);
13597
100k
  yych = *++YYCURSOR;
13598
100k
  if (yych <= 'D') {
13599
38.8k
    if (yych <= ')') {
13600
7.89k
      if (yych <= '(') goto yy20;
13601
2.07k
      goto yy115;
13602
30.9k
    } else {
13603
30.9k
      if (yych <= '@') goto yy20;
13604
21.2k
      if (yych <= 'C') goto yy658;
13605
18.8k
      goto yy724;
13606
21.2k
    }
13607
61.8k
  } else {
13608
61.8k
    if (yych <= 'c') {
13609
25.7k
      if (yych <= 'Z') goto yy658;
13610
11.8k
      if (yych <= '`') goto yy20;
13611
7.59k
      goto yy658;
13612
36.0k
    } else {
13613
36.0k
      if (yych <= 'd') goto yy724;
13614
16.2k
      if (yych <= 'z') goto yy658;
13615
7.76k
      goto yy20;
13616
16.2k
    }
13617
61.8k
  }
13618
57.0k
yy547:
13619
57.0k
  YYDEBUG(547, *YYCURSOR);
13620
57.0k
  yych = *++YYCURSOR;
13621
57.0k
  if (yych <= 'F') {
13622
33.8k
    if (yych <= ')') {
13623
14.9k
      if (yych <= '(') goto yy20;
13624
6.32k
      goto yy115;
13625
18.9k
    } else {
13626
18.9k
      if (yych <= '@') goto yy20;
13627
16.0k
      if (yych <= 'E') goto yy658;
13628
4.25k
      goto yy715;
13629
16.0k
    }
13630
33.8k
  } else {
13631
23.2k
    if (yych <= 'e') {
13632
6.84k
      if (yych <= 'Z') goto yy658;
13633
3.64k
      if (yych <= '`') goto yy20;
13634
2.27k
      goto yy658;
13635
16.3k
    } else {
13636
16.3k
      if (yych <= 'f') goto yy715;
13637
8.84k
      if (yych <= 'z') goto yy658;
13638
5.98k
      goto yy20;
13639
8.84k
    }
13640
23.2k
  }
13641
140k
yy548:
13642
140k
  YYDEBUG(548, *YYCURSOR);
13643
140k
  yyaccept = 2;
13644
140k
  yych = *(YYMARKER = ++YYCURSOR);
13645
140k
  if (yych <= 'C') {
13646
17.3k
    if (yych <= '-') {
13647
9.60k
      if (yych == ')') goto yy115;
13648
7.83k
      if (yych <= ',') goto yy20;
13649
1.80k
      goto yy297;
13650
7.83k
    } else {
13651
7.77k
      if (yych == '/') goto yy297;
13652
5.25k
      if (yych <= '@') goto yy20;
13653
1.60k
      goto yy658;
13654
5.25k
    }
13655
123k
  } else {
13656
123k
    if (yych <= '_') {
13657
14.4k
      if (yych <= 'D') goto yy674;
13658
8.87k
      if (yych <= 'Z') goto yy658;
13659
4.88k
      if (yych <= '^') goto yy20;
13660
2.41k
      goto yy297;
13661
108k
    } else {
13662
108k
      if (yych <= 'c') {
13663
7.55k
        if (yych <= '`') goto yy20;
13664
3.93k
        goto yy663;
13665
101k
      } else {
13666
101k
        if (yych <= 'd') goto yy680;
13667
8.88k
        if (yych <= 'z') goto yy663;
13668
5.14k
        goto yy20;
13669
8.88k
      }
13670
108k
    }
13671
123k
  }
13672
110k
yy549:
13673
110k
  YYDEBUG(549, *YYCURSOR);
13674
110k
  yyaccept = 2;
13675
110k
  yych = *(YYMARKER = ++YYCURSOR);
13676
110k
  if (yych <= 'R') {
13677
14.5k
    if (yych <= '-') {
13678
7.91k
      if (yych == ')') goto yy115;
13679
7.14k
      if (yych <= ',') goto yy20;
13680
1.85k
      goto yy297;
13681
7.14k
    } else {
13682
6.61k
      if (yych == '/') goto yy297;
13683
5.38k
      if (yych <= '@') goto yy20;
13684
3.76k
      goto yy658;
13685
5.38k
    }
13686
96.4k
  } else {
13687
96.4k
    if (yych <= '_') {
13688
15.9k
      if (yych <= 'S') goto yy712;
13689
10.7k
      if (yych <= 'Z') goto yy658;
13690
6.91k
      if (yych <= '^') goto yy20;
13691
3.30k
      goto yy297;
13692
80.5k
    } else {
13693
80.5k
      if (yych <= 'r') {
13694
4.14k
        if (yych <= '`') goto yy20;
13695
3.33k
        goto yy663;
13696
76.3k
      } else {
13697
76.3k
        if (yych <= 's') goto yy716;
13698
13.6k
        if (yych <= 'z') goto yy663;
13699
5.99k
        goto yy20;
13700
13.6k
      }
13701
80.5k
    }
13702
96.4k
  }
13703
62.3k
yy550:
13704
62.3k
  YYDEBUG(550, *YYCURSOR);
13705
62.3k
  yyaccept = 2;
13706
62.3k
  yych = *(YYMARKER = ++YYCURSOR);
13707
62.3k
  if (yych <= 'X') {
13708
13.6k
    if (yych <= '-') {
13709
7.63k
      if (yych == ')') goto yy115;
13710
5.32k
      if (yych <= ',') goto yy20;
13711
1.13k
      goto yy297;
13712
6.03k
    } else {
13713
6.03k
      if (yych == '/') goto yy297;
13714
5.31k
      if (yych <= '@') goto yy20;
13715
820
      goto yy658;
13716
5.31k
    }
13717
48.7k
  } else {
13718
48.7k
    if (yych <= '_') {
13719
11.7k
      if (yych <= 'Y') goto yy721;
13720
5.16k
      if (yych <= 'Z') goto yy658;
13721
3.15k
      if (yych <= '^') goto yy20;
13722
2.08k
      goto yy297;
13723
36.9k
    } else {
13724
36.9k
      if (yych <= 'x') {
13725
7.30k
        if (yych <= '`') goto yy20;
13726
6.52k
        goto yy663;
13727
29.6k
      } else {
13728
29.6k
        if (yych <= 'y') goto yy725;
13729
5.41k
        if (yych <= 'z') goto yy663;
13730
2.60k
        goto yy20;
13731
5.41k
      }
13732
36.9k
    }
13733
48.7k
  }
13734
116k
yy551:
13735
116k
  YYDEBUG(551, *YYCURSOR);
13736
116k
  yyaccept = 2;
13737
116k
  yych = *(YYMARKER = ++YYCURSOR);
13738
116k
  if (yych <= 'Q') {
13739
20.8k
    if (yych <= '-') {
13740
6.65k
      if (yych == ')') goto yy115;
13741
5.80k
      if (yych <= ',') goto yy20;
13742
1.58k
      goto yy297;
13743
14.2k
    } else {
13744
14.2k
      if (yych == '/') goto yy297;
13745
13.0k
      if (yych <= '@') goto yy20;
13746
2.97k
      goto yy658;
13747
13.0k
    }
13748
95.2k
  } else {
13749
95.2k
    if (yych <= '_') {
13750
11.4k
      if (yych <= 'R') goto yy723;
13751
4.85k
      if (yych <= 'Z') goto yy658;
13752
2.30k
      if (yych <= '^') goto yy20;
13753
1.25k
      goto yy297;
13754
83.7k
    } else {
13755
83.7k
      if (yych <= 'q') {
13756
7.32k
        if (yych <= '`') goto yy20;
13757
6.35k
        goto yy663;
13758
76.4k
      } else {
13759
76.4k
        if (yych <= 'r') goto yy726;
13760
6.55k
        if (yych <= 'z') goto yy663;
13761
4.84k
        goto yy20;
13762
6.55k
      }
13763
83.7k
    }
13764
95.2k
  }
13765
129k
yy552:
13766
129k
  YYDEBUG(552, *YYCURSOR);
13767
129k
  yyaccept = 2;
13768
129k
  yych = *(YYMARKER = ++YYCURSOR);
13769
129k
  if (yych <= 'C') {
13770
20.2k
    if (yych <= '-') {
13771
11.4k
      if (yych == ')') goto yy115;
13772
8.47k
      if (yych <= ',') goto yy20;
13773
4.17k
      goto yy297;
13774
8.87k
    } else {
13775
8.87k
      if (yych == '/') goto yy297;
13776
5.98k
      if (yych <= '@') goto yy20;
13777
1.39k
      goto yy658;
13778
5.98k
    }
13779
108k
  } else {
13780
108k
    if (yych <= '_') {
13781
17.4k
      if (yych <= 'D') goto yy724;
13782
10.9k
      if (yych <= 'Z') goto yy658;
13783
4.86k
      if (yych <= '^') goto yy20;
13784
2.25k
      goto yy297;
13785
91.3k
    } else {
13786
91.3k
      if (yych <= 'c') {
13787
6.12k
        if (yych <= '`') goto yy20;
13788
4.05k
        goto yy663;
13789
85.1k
      } else {
13790
85.1k
        if (yych <= 'd') goto yy727;
13791
11.8k
        if (yych <= 'z') goto yy663;
13792
3.99k
        goto yy20;
13793
11.8k
      }
13794
91.3k
    }
13795
108k
  }
13796
60.0k
yy553:
13797
60.0k
  YYDEBUG(553, *YYCURSOR);
13798
60.0k
  yyaccept = 2;
13799
60.0k
  yych = *(YYMARKER = ++YYCURSOR);
13800
60.0k
  if (yych <= 'E') {
13801
18.3k
    if (yych <= '-') {
13802
9.42k
      if (yych == ')') goto yy115;
13803
6.99k
      if (yych <= ',') goto yy20;
13804
2.42k
      goto yy297;
13805
8.90k
    } else {
13806
8.90k
      if (yych == '/') goto yy297;
13807
7.89k
      if (yych <= '@') goto yy20;
13808
3.26k
      goto yy658;
13809
7.89k
    }
13810
41.7k
  } else {
13811
41.7k
    if (yych <= '_') {
13812
9.79k
      if (yych <= 'F') goto yy715;
13813
7.32k
      if (yych <= 'Z') goto yy658;
13814
4.60k
      if (yych <= '^') goto yy20;
13815
2.23k
      goto yy297;
13816
31.9k
    } else {
13817
31.9k
      if (yych <= 'e') {
13818
4.44k
        if (yych <= '`') goto yy20;
13819
2.94k
        goto yy663;
13820
27.4k
      } else {
13821
27.4k
        if (yych <= 'f') goto yy719;
13822
6.37k
        if (yych <= 'z') goto yy663;
13823
2.88k
        goto yy20;
13824
6.37k
      }
13825
31.9k
    }
13826
41.7k
  }
13827
37.4k
yy554:
13828
37.4k
  YYDEBUG(554, *YYCURSOR);
13829
37.4k
  yyaccept = 2;
13830
37.4k
  yych = *(YYMARKER = ++YYCURSOR);
13831
37.4k
  if (yych <= ',') {
13832
14.0k
    if (yych <= 0x1F) {
13833
6.84k
      if (yych == '\t') goto yy142;
13834
958
      goto yy20;
13835
7.17k
    } else {
13836
7.17k
      if (yych <= ' ') goto yy142;
13837
2.33k
      if (yych == ')') goto yy115;
13838
1.20k
      goto yy20;
13839
2.33k
    }
13840
23.3k
  } else {
13841
23.3k
    if (yych <= '@') {
13842
9.71k
      if (yych == '/') goto yy20;
13843
8.47k
      if (yych <= '9') goto yy142;
13844
3.66k
      goto yy20;
13845
13.6k
    } else {
13846
13.6k
      if (yych <= 'Z') goto yy658;
13847
9.73k
      if (yych <= '`') goto yy20;
13848
8.57k
      if (yych <= 'z') goto yy658;
13849
6.48k
      goto yy20;
13850
8.57k
    }
13851
23.3k
  }
13852
66.0k
yy555:
13853
66.0k
  YYDEBUG(555, *YYCURSOR);
13854
66.0k
  yych = *++YYCURSOR;
13855
66.0k
  if (yych <= 'E') {
13856
21.2k
    if (yych <= ')') {
13857
6.25k
      if (yych <= '(') goto yy20;
13858
2.17k
      goto yy115;
13859
15.0k
    } else {
13860
15.0k
      if (yych <= '@') goto yy20;
13861
11.9k
      if (yych <= 'D') goto yy658;
13862
7.59k
      goto yy728;
13863
11.9k
    }
13864
44.8k
  } else {
13865
44.8k
    if (yych <= 'd') {
13866
9.05k
      if (yych <= 'Z') goto yy658;
13867
4.98k
      if (yych <= '`') goto yy20;
13868
2.74k
      goto yy658;
13869
35.7k
    } else {
13870
35.7k
      if (yych <= 'e') goto yy728;
13871
5.81k
      if (yych <= 'z') goto yy658;
13872
2.35k
      goto yy20;
13873
5.81k
    }
13874
44.8k
  }
13875
114k
yy556:
13876
114k
  YYDEBUG(556, *YYCURSOR);
13877
114k
  yyaccept = 2;
13878
114k
  yych = *(YYMARKER = ++YYCURSOR);
13879
114k
  if (yych <= 'D') {
13880
17.5k
    if (yych <= '-') {
13881
10.6k
      if (yych == ')') goto yy115;
13882
8.39k
      if (yych <= ',') goto yy20;
13883
6.53k
      goto yy297;
13884
8.39k
    } else {
13885
6.84k
      if (yych == '/') goto yy297;
13886
5.09k
      if (yych <= '@') goto yy20;
13887
2.06k
      goto yy658;
13888
5.09k
    }
13889
97.2k
  } else {
13890
97.2k
    if (yych <= '_') {
13891
16.3k
      if (yych <= 'E') goto yy728;
13892
8.99k
      if (yych <= 'Z') goto yy658;
13893
6.97k
      if (yych <= '^') goto yy20;
13894
4.46k
      goto yy297;
13895
80.9k
    } else {
13896
80.9k
      if (yych <= 'd') {
13897
4.60k
        if (yych <= '`') goto yy20;
13898
2.95k
        goto yy663;
13899
76.3k
      } else {
13900
76.3k
        if (yych <= 'e') goto yy729;
13901
6.05k
        if (yych <= 'z') goto yy663;
13902
2.94k
        goto yy20;
13903
6.05k
      }
13904
80.9k
    }
13905
97.2k
  }
13906
86.5k
yy557:
13907
86.5k
  YYDEBUG(557, *YYCURSOR);
13908
86.5k
  yych = *++YYCURSOR;
13909
86.5k
  if (yych <= 'E') {
13910
21.1k
    if (yych <= ')') {
13911
5.87k
      if (yych <= '(') goto yy20;
13912
1.35k
      goto yy115;
13913
15.3k
    } else {
13914
15.3k
      if (yych <= '@') goto yy20;
13915
9.14k
      if (yych <= 'D') goto yy658;
13916
6.12k
      goto yy730;
13917
9.14k
    }
13918
65.3k
  } else {
13919
65.3k
    if (yych <= 'd') {
13920
6.96k
      if (yych <= 'Z') goto yy658;
13921
5.97k
      if (yych <= '`') goto yy20;
13922
4.28k
      goto yy658;
13923
58.4k
    } else {
13924
58.4k
      if (yych <= 'e') goto yy730;
13925
10.2k
      if (yych <= 'z') goto yy658;
13926
3.62k
      goto yy20;
13927
10.2k
    }
13928
65.3k
  }
13929
186k
yy558:
13930
186k
  YYDEBUG(558, *YYCURSOR);
13931
186k
  yyaccept = 2;
13932
186k
  yych = *(YYMARKER = ++YYCURSOR);
13933
186k
  if (yych <= 'D') {
13934
22.8k
    if (yych <= '-') {
13935
11.8k
      if (yych == ')') goto yy115;
13936
5.75k
      if (yych <= ',') goto yy20;
13937
890
      goto yy297;
13938
10.9k
    } else {
13939
10.9k
      if (yych == '/') goto yy297;
13940
7.04k
      if (yych <= '@') goto yy20;
13941
2.82k
      goto yy658;
13942
7.04k
    }
13943
164k
  } else {
13944
164k
    if (yych <= '_') {
13945
32.7k
      if (yych <= 'E') goto yy730;
13946
8.32k
      if (yych <= 'Z') goto yy658;
13947
4.79k
      if (yych <= '^') goto yy20;
13948
3.49k
      goto yy297;
13949
131k
    } else {
13950
131k
      if (yych <= 'd') {
13951
8.79k
        if (yych <= '`') goto yy20;
13952
6.52k
        goto yy663;
13953
122k
      } else {
13954
122k
        if (yych <= 'e') goto yy731;
13955
10.5k
        if (yych <= 'z') goto yy663;
13956
6.03k
        goto yy20;
13957
10.5k
      }
13958
131k
    }
13959
164k
  }
13960
72.1k
yy559:
13961
72.1k
  YYDEBUG(559, *YYCURSOR);
13962
72.1k
  ++YYCURSOR;
13963
72.1k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
13964
72.1k
  yych = *YYCURSOR;
13965
72.1k
  if (yych == 0x80) goto yy194;
13966
17.6k
  goto yy59;
13967
1.28M
yy560:
13968
1.28M
  YYDEBUG(560, *YYCURSOR);
13969
1.28M
  yych = *++YYCURSOR;
13970
1.28M
  if (yych <= 0xC1) {
13971
1.24M
    if (yych <= '/') goto yy196;
13972
1.05M
    if (yych <= '9') goto yy594;
13973
122k
    goto yy196;
13974
1.05M
  } else {
13975
41.7k
    if (yych <= 0xC2) goto yy97;
13976
33.8k
    if (yych == 0xE2) goto yy98;
13977
20.8k
    goto yy196;
13978
33.8k
  }
13979
680k
yy561:
13980
680k
  YYDEBUG(561, *YYCURSOR);
13981
680k
  yyaccept = 2;
13982
680k
  yych = *(YYMARKER = ++YYCURSOR);
13983
680k
  if (yych <= 'V') {
13984
578k
    if (yych <= '9') {
13985
503k
      if (yych <= ',') {
13986
31.6k
        if (yych <= '\t') {
13987
13.2k
          if (yych <= 0x08) goto yy20;
13988
3.92k
          goto yy196;
13989
18.3k
        } else {
13990
18.3k
          if (yych == ' ') goto yy196;
13991
13.0k
          goto yy20;
13992
18.3k
        }
13993
471k
      } else {
13994
471k
        if (yych <= '/') {
13995
50.2k
          if (yych <= '-') goto yy732;
13996
8.15k
          goto yy20;
13997
421k
        } else {
13998
421k
          if (yych <= '5') goto yy733;
13999
110k
          if (yych <= '6') goto yy734;
14000
37.5k
          goto yy735;
14001
110k
        }
14002
471k
      }
14003
503k
    } else {
14004
75.4k
      if (yych <= 'G') {
14005
33.9k
        if (yych <= 'D') {
14006
27.4k
          if (yych <= 'C') goto yy20;
14007
3.24k
          goto yy196;
14008
27.4k
        } else {
14009
6.47k
          if (yych == 'F') goto yy196;
14010
1.91k
          goto yy20;
14011
6.47k
        }
14012
41.4k
      } else {
14013
41.4k
        if (yych <= 'M') {
14014
13.7k
          if (yych <= 'H') goto yy196;
14015
9.41k
          if (yych <= 'L') goto yy20;
14016
1.87k
          goto yy196;
14017
27.7k
        } else {
14018
27.7k
          if (yych <= 'R') goto yy20;
14019
22.5k
          if (yych <= 'U') goto yy196;
14020
3.30k
          goto yy20;
14021
22.5k
        }
14022
41.4k
      }
14023
75.4k
    }
14024
578k
  } else {
14025
102k
    if (yych <= 'm') {
14026
32.4k
      if (yych <= 'd') {
14027
14.8k
        if (yych <= 'X') {
14028
4.93k
          if (yych <= 'W') goto yy196;
14029
1.47k
          goto yy20;
14030
9.88k
        } else {
14031
9.88k
          if (yych <= 'Y') goto yy196;
14032
8.43k
          if (yych <= 'c') goto yy20;
14033
2.46k
          goto yy196;
14034
8.43k
        }
14035
17.6k
      } else {
14036
17.6k
        if (yych <= 'g') {
14037
6.06k
          if (yych == 'f') goto yy196;
14038
2.70k
          goto yy20;
14039
11.5k
        } else {
14040
11.5k
          if (yych <= 'h') goto yy196;
14041
8.30k
          if (yych <= 'l') goto yy20;
14042
2.44k
          goto yy196;
14043
8.30k
        }
14044
17.6k
      }
14045
69.5k
    } else {
14046
69.5k
      if (yych <= 'x') {
14047
22.3k
        if (yych <= 'u') {
14048
15.5k
          if (yych <= 'r') goto yy20;
14049
7.40k
          goto yy196;
14050
15.5k
        } else {
14051
6.78k
          if (yych == 'w') goto yy196;
14052
3.09k
          goto yy20;
14053
6.78k
        }
14054
47.2k
      } else {
14055
47.2k
        if (yych <= 0xC2) {
14056
22.9k
          if (yych <= 'y') goto yy196;
14057
20.2k
          if (yych <= 0xC1) goto yy20;
14058
4.95k
          goto yy97;
14059
24.3k
        } else {
14060
24.3k
          if (yych == 0xE2) goto yy98;
14061
20.8k
          goto yy20;
14062
24.3k
        }
14063
47.2k
      }
14064
69.5k
    }
14065
102k
  }
14066
648k
yy562:
14067
648k
  YYDEBUG(562, *YYCURSOR);
14068
648k
  yych = *++YYCURSOR;
14069
648k
  if (yych <= '9') {
14070
553k
    if (yych == '-') goto yy732;
14071
476k
    if (yych <= '/') goto yy196;
14072
445k
    goto yy735;
14073
476k
  } else {
14074
94.9k
    if (yych <= 0xC2) {
14075
79.6k
      if (yych <= 0xC1) goto yy196;
14076
5.74k
      goto yy97;
14077
79.6k
    } else {
14078
15.2k
      if (yych == 0xE2) goto yy98;
14079
10.6k
      goto yy196;
14080
15.2k
    }
14081
94.9k
  }
14082
92.6k
yy563:
14083
92.6k
  YYDEBUG(563, *YYCURSOR);
14084
92.6k
  yych = *++YYCURSOR;
14085
92.6k
  if (yych <= '/') goto yy20;
14086
81.3k
  if (yych <= '9') goto yy736;
14087
25.4k
  goto yy20;
14088
102k
yy564:
14089
102k
  YYDEBUG(564, *YYCURSOR);
14090
102k
  yych = *++YYCURSOR;
14091
102k
  if (yych <= '/') goto yy59;
14092
83.6k
  if (yych <= '9') goto yy737;
14093
21.9k
  goto yy59;
14094
22.9k
yy565:
14095
22.9k
  YYDEBUG(565, *YYCURSOR);
14096
22.9k
  yych = *++YYCURSOR;
14097
22.9k
  if (yych <= '/') goto yy59;
14098
20.7k
  if (yych <= '9') goto yy738;
14099
11.8k
  goto yy59;
14100
98.8k
yy566:
14101
98.8k
  YYDEBUG(566, *YYCURSOR);
14102
98.8k
  yyaccept = 15;
14103
98.8k
  yych = *(YYMARKER = ++YYCURSOR);
14104
98.8k
  if (yych <= 'n') {
14105
78.0k
    if (yych <= '/') goto yy567;
14106
64.1k
    if (yych <= '9') goto yy740;
14107
17.2k
    if (yych >= 'n') goto yy741;
14108
20.7k
  } else {
14109
20.7k
    if (yych <= 'r') {
14110
8.47k
      if (yych >= 'r') goto yy741;
14111
12.2k
    } else {
14112
12.2k
      if (yych <= 's') goto yy742;
14113
10.4k
      if (yych <= 't') goto yy743;
14114
10.4k
    }
14115
20.7k
  }
14116
615k
yy567:
14117
615k
  YYDEBUG(567, *YYCURSOR);
14118
615k
#line 1549 "ext/date/lib/parse_date.re"
14119
615k
  {
14120
615k
    int length = 0;
14121
615k
    DEBUG_OUTPUT("gnudateshort");
14122
615k
    TIMELIB_INIT;
14123
615k
    TIMELIB_HAVE_DATE();
14124
47.9k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
14125
47.9k
    s->time->m = timelib_get_nr(&ptr, 2);
14126
47.9k
    s->time->d = timelib_get_nr(&ptr, 2);
14127
47.9k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
14128
47.9k
    TIMELIB_DEINIT;
14129
47.9k
    return TIMELIB_ISO_DATE;
14130
615k
  }
14131
0
#line 14132 "ext/date/lib/parse_date.c"
14132
69.7k
yy568:
14133
69.7k
  YYDEBUG(568, *YYCURSOR);
14134
69.7k
  yyaccept = 15;
14135
69.7k
  yych = *(YYMARKER = ++YYCURSOR);
14136
69.7k
  if (yych <= 'n') {
14137
41.3k
    if (yych <= '1') {
14138
15.8k
      if (yych <= '/') goto yy567;
14139
9.45k
      goto yy740;
14140
25.5k
    } else {
14141
25.5k
      if (yych <= '9') goto yy737;
14142
16.0k
      if (yych <= 'm') goto yy567;
14143
7.68k
      goto yy741;
14144
16.0k
    }
14145
41.3k
  } else {
14146
28.3k
    if (yych <= 'r') {
14147
15.2k
      if (yych <= 'q') goto yy567;
14148
10.6k
      goto yy741;
14149
15.2k
    } else {
14150
13.0k
      if (yych <= 's') goto yy742;
14151
8.83k
      if (yych <= 't') goto yy743;
14152
5.62k
      goto yy567;
14153
8.83k
    }
14154
28.3k
  }
14155
35.9k
yy569:
14156
35.9k
  YYDEBUG(569, *YYCURSOR);
14157
35.9k
  yyaccept = 15;
14158
35.9k
  yych = *(YYMARKER = ++YYCURSOR);
14159
35.9k
  if (yych <= 'n') {
14160
20.6k
    if (yych <= '/') goto yy567;
14161
15.4k
    if (yych <= '9') goto yy737;
14162
4.80k
    if (yych <= 'm') goto yy567;
14163
1.59k
    goto yy741;
14164
15.3k
  } else {
14165
15.3k
    if (yych <= 'r') {
14166
5.40k
      if (yych <= 'q') goto yy567;
14167
3.76k
      goto yy741;
14168
9.96k
    } else {
14169
9.96k
      if (yych <= 's') goto yy742;
14170
8.37k
      if (yych <= 't') goto yy743;
14171
4.17k
      goto yy567;
14172
8.37k
    }
14173
15.3k
  }
14174
49.4k
yy570:
14175
49.4k
  YYDEBUG(570, *YYCURSOR);
14176
49.4k
  yyaccept = 4;
14177
49.4k
  yych = *(YYMARKER = ++YYCURSOR);
14178
49.4k
  if (yych == '.') goto yy744;
14179
43.1k
  if (yych <= '/') goto yy177;
14180
37.8k
  if (yych <= '9') goto yy745;
14181
11.1k
  goto yy177;
14182
13.5k
yy571:
14183
13.5k
  YYDEBUG(571, *YYCURSOR);
14184
13.5k
  yyaccept = 4;
14185
13.5k
  yych = *(YYMARKER = ++YYCURSOR);
14186
13.5k
  if (yych <= '/') {
14187
4.45k
    if (yych == '.') goto yy744;
14188
1.87k
    goto yy177;
14189
9.10k
  } else {
14190
9.10k
    if (yych <= '0') goto yy745;
14191
4.36k
    if (yych <= '9') goto yy738;
14192
2.13k
    goto yy177;
14193
4.36k
  }
14194
21.9k
yy572:
14195
21.9k
  YYDEBUG(572, *YYCURSOR);
14196
21.9k
  yyaccept = 4;
14197
21.9k
  yych = *(YYMARKER = ++YYCURSOR);
14198
21.9k
  if (yych == '.') goto yy744;
14199
18.1k
  if (yych <= '/') goto yy177;
14200
15.3k
  if (yych <= '9') goto yy738;
14201
6.58k
  goto yy177;
14202
162k
yy573:
14203
162k
  YYDEBUG(573, *YYCURSOR);
14204
162k
  yyaccept = 4;
14205
162k
  yych = *(YYMARKER = ++YYCURSOR);
14206
162k
  if (yych == '.') goto yy744;
14207
157k
  if (yych <= '/') goto yy177;
14208
144k
  if (yych <= '9') goto yy575;
14209
26.0k
  goto yy177;
14210
31.8k
yy574:
14211
31.8k
  YYDEBUG(574, *YYCURSOR);
14212
31.8k
  yyaccept = 4;
14213
31.8k
  yych = *(YYMARKER = ++YYCURSOR);
14214
31.8k
  if (yych == '.') goto yy744;
14215
29.1k
  if (yych != '0') goto yy177;
14216
157k
yy575:
14217
157k
  YYDEBUG(575, *YYCURSOR);
14218
157k
  yyaccept = 4;
14219
157k
  yych = *(YYMARKER = ++YYCURSOR);
14220
157k
  if (yych == '.') goto yy744;
14221
124k
  goto yy177;
14222
124k
yy576:
14223
94.1k
  YYDEBUG(576, *YYCURSOR);
14224
94.1k
  yych = *++YYCURSOR;
14225
94.1k
  if (yych <= '/') goto yy224;
14226
78.5k
  if (yych <= '9') goto yy746;
14227
41.8k
  goto yy224;
14228
41.8k
yy577:
14229
17.9k
  YYDEBUG(577, *YYCURSOR);
14230
17.9k
  yyaccept = 5;
14231
17.9k
  yych = *(YYMARKER = ++YYCURSOR);
14232
17.9k
  if (yych == '/') goto yy402;
14233
16.7k
  goto yy224;
14234
574k
yy578:
14235
574k
  YYDEBUG(578, *YYCURSOR);
14236
574k
  yych = *++YYCURSOR;
14237
574k
  if (yych == '/') goto yy747;
14238
284k
  goto yy59;
14239
284k
yy579:
14240
69.3k
  YYDEBUG(579, *YYCURSOR);
14241
69.3k
  yych = *++YYCURSOR;
14242
69.3k
  if (yych <= 'S') {
14243
35.7k
    if (yych == '/') goto yy747;
14244
25.4k
    goto yy59;
14245
35.7k
  } else {
14246
33.5k
    if (yych <= 'T') goto yy578;
14247
28.4k
    if (yych == 't') goto yy578;
14248
9.13k
    goto yy59;
14249
28.4k
  }
14250
203k
yy580:
14251
203k
  YYDEBUG(580, *YYCURSOR);
14252
203k
  yych = *++YYCURSOR;
14253
203k
  if (yych <= ',') goto yy59;
14254
185k
  if (yych <= '-') goto yy748;
14255
67.1k
  if (yych <= '.') goto yy396;
14256
65.8k
  goto yy59;
14257
123k
yy581:
14258
123k
  YYDEBUG(581, *YYCURSOR);
14259
123k
  yych = *++YYCURSOR;
14260
123k
  if (yych == '-') goto yy645;
14261
114k
  if (yych <= '/') goto yy59;
14262
98.0k
  if (yych <= '9') goto yy462;
14263
16.3k
  goto yy59;
14264
96.2k
yy582:
14265
96.2k
  YYDEBUG(582, *YYCURSOR);
14266
96.2k
  yych = *++YYCURSOR;
14267
96.2k
  if (yych == '-') goto yy645;
14268
81.0k
  if (yych <= '/') goto yy59;
14269
65.6k
  if (yych <= '2') goto yy462;
14270
20.5k
  goto yy59;
14271
338k
yy583:
14272
338k
  YYDEBUG(583, *YYCURSOR);
14273
338k
  ++YYCURSOR;
14274
338k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
14275
338k
  yych = *YYCURSOR;
14276
1.39M
yy584:
14277
1.39M
  YYDEBUG(584, *YYCURSOR);
14278
1.39M
  if (yych <= 'W') {
14279
979k
    if (yych <= 'G') {
14280
647k
      if (yych <= '.') {
14281
423k
        if (yych <= 0x1F) {
14282
102k
          if (yych == '\t') goto yy583;
14283
40.6k
          goto yy59;
14284
320k
        } else {
14285
320k
          if (yych <= ' ') goto yy583;
14286
45.0k
          if (yych <= ',') goto yy59;
14287
9.12k
          goto yy749;
14288
45.0k
        }
14289
423k
      } else {
14290
223k
        if (yych <= 'C') {
14291
152k
          if (yych == 'A') goto yy596;
14292
101k
          goto yy59;
14293
152k
        } else {
14294
71.3k
          if (yych <= 'D') goto yy597;
14295
50.9k
          if (yych == 'F') goto yy598;
14296
1.77k
          goto yy59;
14297
50.9k
        }
14298
223k
      }
14299
647k
    } else {
14300
332k
      if (yych <= 'N') {
14301
162k
        if (yych <= 'J') {
14302
83.8k
          if (yych <= 'H') goto yy79;
14303
64.3k
          if (yych <= 'I') goto yy599;
14304
34.9k
          goto yy601;
14305
78.4k
        } else {
14306
78.4k
          if (yych <= 'L') goto yy59;
14307
75.9k
          if (yych <= 'M') goto yy602;
14308
28.8k
          goto yy603;
14309
75.9k
        }
14310
169k
      } else {
14311
169k
        if (yych <= 'S') {
14312
96.2k
          if (yych <= 'O') goto yy604;
14313
73.2k
          if (yych <= 'R') goto yy59;
14314
69.2k
          goto yy605;
14315
73.7k
        } else {
14316
73.7k
          if (yych <= 'T') goto yy87;
14317
34.3k
          if (yych <= 'U') goto yy88;
14318
19.3k
          if (yych <= 'V') goto yy606;
14319
1.88k
          goto yy90;
14320
19.3k
        }
14321
169k
      }
14322
332k
    }
14323
979k
  } else {
14324
418k
    if (yych <= 'l') {
14325
168k
      if (yych <= 'd') {
14326
87.6k
        if (yych <= '`') {
14327
25.0k
          if (yych <= 'X') goto yy608;
14328
12.4k
          if (yych <= 'Y') goto yy92;
14329
2.32k
          goto yy59;
14330
62.6k
        } else {
14331
62.6k
          if (yych <= 'a') goto yy596;
14332
30.8k
          if (yych <= 'c') goto yy59;
14333
28.5k
          goto yy597;
14334
30.8k
        }
14335
87.6k
      } else {
14336
81.1k
        if (yych <= 'g') {
14337
37.8k
          if (yych == 'f') goto yy598;
14338
3.40k
          goto yy59;
14339
43.2k
        } else {
14340
43.2k
          if (yych <= 'h') goto yy79;
14341
28.9k
          if (yych == 'j') goto yy601;
14342
1.59k
          goto yy59;
14343
28.9k
        }
14344
81.1k
      }
14345
249k
    } else {
14346
249k
      if (yych <= 'u') {
14347
195k
        if (yych <= 'o') {
14348
79.0k
          if (yych <= 'm') goto yy602;
14349
39.4k
          if (yych <= 'n') goto yy603;
14350
19.6k
          goto yy604;
14351
116k
        } else {
14352
116k
          if (yych <= 'r') goto yy59;
14353
112k
          if (yych <= 's') goto yy605;
14354
66.3k
          if (yych <= 't') goto yy87;
14355
16.2k
          goto yy88;
14356
66.3k
        }
14357
195k
      } else {
14358
53.5k
        if (yych <= 'x') {
14359
24.5k
          if (yych == 'w') goto yy90;
14360
2.89k
          goto yy59;
14361
28.9k
        } else {
14362
28.9k
          if (yych <= 'y') goto yy92;
14363
12.5k
          if (yych == 0xC2) goto yy211;
14364
9.97k
          goto yy59;
14365
12.5k
        }
14366
53.5k
      }
14367
249k
    }
14368
418k
  }
14369
1.01M
yy585:
14370
1.01M
  YYDEBUG(585, *YYCURSOR);
14371
1.01M
  yych = *++YYCURSOR;
14372
1.01M
  switch (yych) {
14373
263k
  case '0': goto yy751;
14374
143k
  case '1': goto yy753;
14375
49.1k
  case '2': goto yy754;
14376
33.5k
  case '3': goto yy755;
14377
9.26k
  case '4':
14378
28.4k
  case '5':
14379
45.4k
  case '6':
14380
52.8k
  case '7':
14381
58.5k
  case '8':
14382
70.1k
  case '9': goto yy756;
14383
68.8k
  case 'A':
14384
84.5k
  case 'a': goto yy757;
14385
8.34k
  case 'D':
14386
20.0k
  case 'd': goto yy758;
14387
26.3k
  case 'F':
14388
40.0k
  case 'f': goto yy759;
14389
33.9k
  case 'J':
14390
56.7k
  case 'j': goto yy760;
14391
17.8k
  case 'M':
14392
41.5k
  case 'm': goto yy761;
14393
15.7k
  case 'N':
14394
25.1k
  case 'n': goto yy762;
14395
14.1k
  case 'O':
14396
22.3k
  case 'o': goto yy763;
14397
10.1k
  case 'S':
14398
21.9k
  case 's': goto yy764;
14399
23.2k
  case 'W': goto yy765;
14400
114k
  default:  goto yy750;
14401
1.01M
  }
14402
164k
yy586:
14403
164k
  YYDEBUG(586, *YYCURSOR);
14404
164k
  yych = *++YYCURSOR;
14405
164k
  if (yych <= '/') goto yy750;
14406
145k
  if (yych <= '0') goto yy766;
14407
106k
  if (yych <= '2') goto yy767;
14408
83.7k
  if (yych <= '3') goto yy768;
14409
74.4k
  goto yy750;
14410
221k
yy587:
14411
221k
  YYDEBUG(587, *YYCURSOR);
14412
221k
  yych = *++YYCURSOR;
14413
221k
  if (yych <= '/') goto yy59;
14414
208k
  if (yych <= '0') goto yy773;
14415
150k
  if (yych <= '1') goto yy774;
14416
60.8k
  if (yych <= '9') goto yy775;
14417
30.2k
  goto yy59;
14418
2.37M
yy588:
14419
2.37M
  YYDEBUG(588, *YYCURSOR);
14420
2.37M
  yych = *++YYCURSOR;
14421
2.37M
  if (yych <= 0xC1) {
14422
2.32M
    if (yych <= '/') goto yy196;
14423
2.15M
    if (yych <= '0') goto yy776;
14424
514k
    if (yych <= '9') goto yy778;
14425
148k
    goto yy196;
14426
514k
  } else {
14427
47.2k
    if (yych <= 0xC2) goto yy97;
14428
42.8k
    if (yych == 0xE2) goto yy98;
14429
39.7k
    goto yy196;
14430
42.8k
  }
14431
585k
yy589:
14432
585k
  YYDEBUG(589, *YYCURSOR);
14433
585k
  yych = *++YYCURSOR;
14434
585k
  if (yych <= 0xC1) {
14435
572k
    if (yych <= '/') goto yy196;
14436
517k
    if (yych <= '2') goto yy778;
14437
156k
    if (yych <= '9') goto yy779;
14438
53.6k
    goto yy196;
14439
156k
  } else {
14440
13.0k
    if (yych <= 0xC2) goto yy97;
14441
10.6k
    if (yych == 0xE2) goto yy98;
14442
8.90k
    goto yy196;
14443
10.6k
  }
14444
367k
yy590:
14445
367k
  YYDEBUG(590, *YYCURSOR);
14446
367k
  yych = *++YYCURSOR;
14447
367k
  if (yych <= 0xC1) {
14448
354k
    if (yych <= '/') goto yy196;
14449
311k
    if (yych <= '9') goto yy779;
14450
31.1k
    goto yy196;
14451
311k
  } else {
14452
12.6k
    if (yych <= 0xC2) goto yy97;
14453
8.93k
    if (yych == 0xE2) goto yy98;
14454
5.55k
    goto yy196;
14455
8.93k
  }
14456
256k
yy591:
14457
256k
  YYDEBUG(591, *YYCURSOR);
14458
256k
  yych = *++YYCURSOR;
14459
256k
  if (yych <= '9') {
14460
228k
    if (yych <= '/') goto yy196;
14461
208k
    if (yych <= '5') goto yy779;
14462
124k
    if (yych <= '6') goto yy780;
14463
40.4k
    goto yy781;
14464
124k
  } else {
14465
28.4k
    if (yych <= 0xC2) {
14466
21.9k
      if (yych <= 0xC1) goto yy196;
14467
4.25k
      goto yy97;
14468
21.9k
    } else {
14469
6.56k
      if (yych == 0xE2) goto yy98;
14470
4.22k
      goto yy196;
14471
6.56k
    }
14472
28.4k
  }
14473
397k
yy592:
14474
397k
  YYDEBUG(592, *YYCURSOR);
14475
397k
  yych = *++YYCURSOR;
14476
397k
  if (yych <= 0xC1) {
14477
379k
    if (yych <= '/') goto yy196;
14478
343k
    if (yych <= '9') goto yy781;
14479
32.3k
    goto yy196;
14480
343k
  } else {
14481
18.8k
    if (yych <= 0xC2) goto yy97;
14482
15.1k
    if (yych == 0xE2) goto yy98;
14483
8.97k
    goto yy196;
14484
15.1k
  }
14485
219k
yy593:
14486
219k
  YYDEBUG(593, *YYCURSOR);
14487
219k
  yych = *++YYCURSOR;
14488
219k
  if (yych <= 0xC1) {
14489
207k
    if (yych <= '/') goto yy196;
14490
191k
    if (yych <= '0') goto yy781;
14491
140k
    if (yych <= '9') goto yy782;
14492
38.4k
    goto yy196;
14493
140k
  } else {
14494
11.7k
    if (yych <= 0xC2) goto yy97;
14495
9.52k
    if (yych == 0xE2) goto yy98;
14496
6.27k
    goto yy196;
14497
9.52k
  }
14498
3.75M
yy594:
14499
3.75M
  YYDEBUG(594, *YYCURSOR);
14500
3.75M
  yych = *++YYCURSOR;
14501
3.75M
  if (yych <= 0xC1) {
14502
3.62M
    if (yych <= '/') goto yy196;
14503
3.28M
    if (yych <= '9') goto yy782;
14504
396k
    goto yy196;
14505
3.28M
  } else {
14506
135k
    if (yych <= 0xC2) goto yy97;
14507
109k
    if (yych == 0xE2) goto yy98;
14508
73.3k
    goto yy196;
14509
109k
  }
14510
594k
yy595:
14511
594k
  YYDEBUG(595, *YYCURSOR);
14512
594k
  yych = *++YYCURSOR;
14513
594k
  if (yych <= '/') goto yy59;
14514
291k
  if (yych <= '0') goto yy783;
14515
251k
  if (yych <= '1') goto yy784;
14516
82.9k
  goto yy59;
14517
104k
yy596:
14518
104k
  YYDEBUG(596, *YYCURSOR);
14519
104k
  yych = *++YYCURSOR;
14520
104k
  if (yych <= 'U') {
14521
31.8k
    if (yych == 'P') goto yy785;
14522
28.3k
    if (yych <= 'T') goto yy59;
14523
4.30k
    goto yy786;
14524
72.6k
  } else {
14525
72.6k
    if (yych <= 'p') {
14526
31.7k
      if (yych <= 'o') goto yy59;
14527
10.1k
      goto yy785;
14528
40.8k
    } else {
14529
40.8k
      if (yych == 'u') goto yy786;
14530
16.6k
      goto yy59;
14531
40.8k
    }
14532
72.6k
  }
14533
48.9k
yy597:
14534
48.9k
  YYDEBUG(597, *YYCURSOR);
14535
48.9k
  yych = *++YYCURSOR;
14536
48.9k
  if (yych <= 'E') {
14537
23.6k
    if (yych == 'A') goto yy242;
14538
22.0k
    if (yych <= 'D') goto yy59;
14539
4.21k
    goto yy787;
14540
25.2k
  } else {
14541
25.2k
    if (yych <= 'a') {
14542
9.54k
      if (yych <= '`') goto yy59;
14543
5.06k
      goto yy242;
14544
15.7k
    } else {
14545
15.7k
      if (yych == 'e') goto yy787;
14546
11.1k
      goto yy59;
14547
15.7k
    }
14548
25.2k
  }
14549
83.6k
yy598:
14550
83.6k
  YYDEBUG(598, *YYCURSOR);
14551
83.6k
  yych = *++YYCURSOR;
14552
83.6k
  if (yych <= 'R') {
14553
29.5k
    if (yych <= 'N') {
14554
20.8k
      if (yych == 'E') goto yy788;
14555
19.8k
      goto yy59;
14556
20.8k
    } else {
14557
8.65k
      if (yych <= 'O') goto yy245;
14558
6.66k
      if (yych <= 'Q') goto yy59;
14559
4.91k
      goto yy246;
14560
6.66k
    }
14561
54.1k
  } else {
14562
54.1k
    if (yych <= 'n') {
14563
32.5k
      if (yych == 'e') goto yy788;
14564
16.9k
      goto yy59;
14565
32.5k
    } else {
14566
21.5k
      if (yych <= 'o') goto yy245;
14567
15.6k
      if (yych == 'r') goto yy246;
14568
9.41k
      goto yy59;
14569
15.6k
    }
14570
54.1k
  }
14571
35.4k
yy599:
14572
35.4k
  YYDEBUG(599, *YYCURSOR);
14573
35.4k
  yych = *++YYCURSOR;
14574
35.4k
  if (yych <= 'U') {
14575
24.1k
    if (yych == 'I') goto yy789;
14576
24.1k
  } else {
14577
11.3k
    if (yych == 'W') goto yy600;
14578
10.6k
    if (yych <= 'X') goto yy790;
14579
10.6k
  }
14580
361k
yy600:
14581
361k
  YYDEBUG(600, *YYCURSOR);
14582
361k
#line 1618 "ext/date/lib/parse_date.re"
14583
361k
  {
14584
361k
    int length = 0;
14585
361k
    DEBUG_OUTPUT("datenodayrev");
14586
361k
    TIMELIB_INIT;
14587
361k
    TIMELIB_HAVE_DATE();
14588
31.4k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
14589
31.4k
    s->time->m = timelib_get_month(&ptr);
14590
31.4k
    s->time->d = 1;
14591
31.4k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
14592
31.4k
    TIMELIB_DEINIT;
14593
31.4k
    return TIMELIB_DATE_NO_DAY;
14594
361k
  }
14595
0
#line 14596 "ext/date/lib/parse_date.c"
14596
67.8k
yy601:
14597
67.8k
  YYDEBUG(601, *YYCURSOR);
14598
67.8k
  yych = *++YYCURSOR;
14599
67.8k
  if (yych <= 'U') {
14600
27.6k
    if (yych == 'A') goto yy791;
14601
21.8k
    if (yych <= 'T') goto yy59;
14602
12.8k
    goto yy792;
14603
40.1k
  } else {
14604
40.1k
    if (yych <= 'a') {
14605
16.5k
      if (yych <= '`') goto yy59;
14606
12.9k
      goto yy791;
14607
23.6k
    } else {
14608
23.6k
      if (yych == 'u') goto yy792;
14609
5.64k
      goto yy59;
14610
23.6k
    }
14611
40.1k
  }
14612
86.7k
yy602:
14613
86.7k
  YYDEBUG(602, *YYCURSOR);
14614
86.7k
  yych = *++YYCURSOR;
14615
86.7k
  if (yych <= 'S') {
14616
36.7k
    if (yych <= 'I') {
14617
25.3k
      if (yych == 'A') goto yy793;
14618
19.7k
      if (yych <= 'H') goto yy59;
14619
5.30k
      goto yy257;
14620
19.7k
    } else {
14621
11.4k
      if (yych == 'O') goto yy258;
14622
9.89k
      if (yych <= 'R') goto yy59;
14623
2.00k
      goto yy259;
14624
9.89k
    }
14625
49.9k
  } else {
14626
49.9k
    if (yych <= 'i') {
14627
30.2k
      if (yych == 'a') goto yy793;
14628
14.0k
      if (yych <= 'h') goto yy59;
14629
6.90k
      goto yy257;
14630
19.7k
    } else {
14631
19.7k
      if (yych <= 'o') {
14632
10.9k
        if (yych <= 'n') goto yy59;
14633
8.69k
        goto yy258;
14634
10.9k
      } else {
14635
8.84k
        if (yych == 's') goto yy259;
14636
5.58k
        goto yy59;
14637
8.84k
      }
14638
19.7k
    }
14639
49.9k
  }
14640
56.3k
yy603:
14641
56.3k
  YYDEBUG(603, *YYCURSOR);
14642
56.3k
  yych = *++YYCURSOR;
14643
56.3k
  if (yych == 'O') goto yy794;
14644
54.6k
  if (yych == 'o') goto yy794;
14645
36.6k
  goto yy59;
14646
48.1k
yy604:
14647
48.1k
  YYDEBUG(604, *YYCURSOR);
14648
48.1k
  yych = *++YYCURSOR;
14649
48.1k
  if (yych == 'C') goto yy795;
14650
43.5k
  if (yych == 'c') goto yy795;
14651
30.8k
  goto yy59;
14652
115k
yy605:
14653
115k
  YYDEBUG(605, *YYCURSOR);
14654
115k
  yych = *++YYCURSOR;
14655
115k
  if (yych <= 'U') {
14656
41.9k
    if (yych <= 'D') {
14657
21.9k
      if (yych == 'A') goto yy263;
14658
20.3k
      goto yy59;
14659
21.9k
    } else {
14660
19.9k
      if (yych <= 'E') goto yy796;
14661
5.54k
      if (yych <= 'T') goto yy59;
14662
2.50k
      goto yy265;
14663
5.54k
    }
14664
73.4k
  } else {
14665
73.4k
    if (yych <= 'd') {
14666
7.36k
      if (yych == 'a') goto yy263;
14667
4.70k
      goto yy59;
14668
66.0k
    } else {
14669
66.0k
      if (yych <= 'e') goto yy796;
14670
16.4k
      if (yych == 'u') goto yy265;
14671
14.0k
      goto yy59;
14672
16.4k
    }
14673
73.4k
  }
14674
21.1k
yy606:
14675
21.1k
  YYDEBUG(606, *YYCURSOR);
14676
21.1k
  yych = *++YYCURSOR;
14677
21.1k
  if (yych == 'I') goto yy608;
14678
16.5k
  goto yy600;
14679
66.5k
yy607:
14680
66.5k
  YYDEBUG(607, *YYCURSOR);
14681
66.5k
  yych = *++YYCURSOR;
14682
66.5k
  if (yych <= '5') {
14683
45.5k
    if (yych <= '/') goto yy59;
14684
41.7k
    if (yych <= '0') goto yy797;
14685
33.1k
    if (yych <= '4') goto yy798;
14686
9.94k
    goto yy799;
14687
33.1k
  } else {
14688
20.9k
    if (yych <= 'E') {
14689
11.1k
      if (yych <= 'D') goto yy59;
14690
4.98k
      goto yy269;
14691
11.1k
    } else {
14692
9.86k
      if (yych == 'e') goto yy269;
14693
7.16k
      goto yy59;
14694
9.86k
    }
14695
20.9k
  }
14696
18.1k
yy608:
14697
18.1k
  YYDEBUG(608, *YYCURSOR);
14698
18.1k
  yych = *++YYCURSOR;
14699
18.1k
  if (yych == 'I') goto yy789;
14700
13.6k
  goto yy600;
14701
977k
yy609:
14702
977k
  YYDEBUG(609, *YYCURSOR);
14703
977k
  yych = *++YYCURSOR;
14704
977k
  if (yych <= 0xC1) {
14705
955k
    if (yych <= '/') goto yy196;
14706
852k
    if (yych <= '0') goto yy800;
14707
441k
    if (yych <= '9') goto yy801;
14708
74.5k
    goto yy196;
14709
441k
  } else {
14710
22.0k
    if (yych <= 0xC2) goto yy97;
14711
14.8k
    if (yych == 0xE2) goto yy98;
14712
11.0k
    goto yy196;
14713
14.8k
  }
14714
371k
yy610:
14715
371k
  YYDEBUG(610, *YYCURSOR);
14716
371k
  yych = *++YYCURSOR;
14717
371k
  if (yych <= 0xC1) {
14718
353k
    if (yych <= '/') goto yy196;
14719
311k
    if (yych <= '2') goto yy801;
14720
178k
    if (yych <= '9') goto yy802;
14721
42.5k
    goto yy196;
14722
178k
  } else {
14723
18.0k
    if (yych <= 0xC2) goto yy97;
14724
14.3k
    if (yych == 0xE2) goto yy98;
14725
11.4k
    goto yy196;
14726
14.3k
  }
14727
281k
yy611:
14728
281k
  YYDEBUG(611, *YYCURSOR);
14729
281k
  yych = *++YYCURSOR;
14730
281k
  if (yych <= 0xC1) {
14731
269k
    if (yych <= '/') goto yy196;
14732
232k
    if (yych <= '9') goto yy802;
14733
51.1k
    goto yy196;
14734
232k
  } else {
14735
12.1k
    if (yych <= 0xC2) goto yy97;
14736
9.77k
    if (yych == 0xE2) goto yy98;
14737
6.29k
    goto yy196;
14738
9.77k
  }
14739
463k
yy612:
14740
463k
  YYDEBUG(612, *YYCURSOR);
14741
463k
  yych = *++YYCURSOR;
14742
463k
  if (yych <= '9') {
14743
397k
    if (yych <= '/') goto yy196;
14744
371k
    if (yych <= '5') goto yy802;
14745
161k
    if (yych <= '6') goto yy803;
14746
96.0k
    goto yy782;
14747
161k
  } else {
14748
65.6k
    if (yych <= 0xC2) {
14749
52.7k
      if (yych <= 0xC1) goto yy196;
14750
5.98k
      goto yy97;
14751
52.7k
    } else {
14752
12.9k
      if (yych == 0xE2) goto yy98;
14753
11.4k
      goto yy196;
14754
12.9k
    }
14755
65.6k
  }
14756
20.2k
yy613:
14757
20.2k
  YYDEBUG(613, *YYCURSOR);
14758
20.2k
  yych = *++YYCURSOR;
14759
20.2k
  if (yych == 'L') goto yy253;
14760
15.9k
  if (yych == 'l') goto yy253;
14761
13.0k
  goto yy59;
14762
35.1k
yy614:
14763
35.1k
  YYDEBUG(614, *YYCURSOR);
14764
35.1k
  yych = *++YYCURSOR;
14765
35.1k
  if (yych == 'S') goto yy804;
14766
25.4k
  if (yych == 's') goto yy804;
14767
12.3k
  goto yy59;
14768
29.1k
yy615:
14769
29.1k
  YYDEBUG(615, *YYCURSOR);
14770
29.1k
  ++YYCURSOR;
14771
29.1k
  goto yy260;
14772
50.4k
yy616:
14773
50.4k
  YYDEBUG(616, *YYCURSOR);
14774
50.4k
  yych = *++YYCURSOR;
14775
50.4k
  if (yych == 'M') goto yy626;
14776
33.9k
  if (yych == 'm') goto yy626;
14777
15.6k
  goto yy59;
14778
30.3k
yy617:
14779
30.3k
  YYDEBUG(617, *YYCURSOR);
14780
30.3k
  yych = *++YYCURSOR;
14781
30.3k
  if (yych == 'U') goto yy620;
14782
27.8k
  if (yych == 'u') goto yy620;
14783
12.1k
  goto yy59;
14784
43.8k
yy618:
14785
43.8k
  YYDEBUG(618, *YYCURSOR);
14786
43.8k
  yych = *++YYCURSOR;
14787
43.8k
  if (yych <= 'N') {
14788
23.8k
    if (yych == 'H') goto yy805;
14789
18.2k
    if (yych <= 'M') goto yy59;
14790
4.79k
    goto yy806;
14791
19.9k
  } else {
14792
19.9k
    if (yych <= 'h') {
14793
10.8k
      if (yych <= 'g') goto yy59;
14794
7.85k
      goto yy805;
14795
10.8k
    } else {
14796
9.13k
      if (yych == 'n') goto yy806;
14797
3.11k
      goto yy59;
14798
9.13k
    }
14799
19.9k
  }
14800
79.0k
yy619:
14801
79.0k
  YYDEBUG(619, *YYCURSOR);
14802
79.0k
  yych = *++YYCURSOR;
14803
79.0k
  if (yych <= '/') goto yy251;
14804
64.7k
  if (yych <= '9') goto yy807;
14805
24.7k
  goto yy251;
14806
49.3k
yy620:
14807
49.3k
  YYDEBUG(620, *YYCURSOR);
14808
49.3k
  yych = *++YYCURSOR;
14809
49.3k
  if (yych == 'A') goto yy808;
14810
40.8k
  if (yych == 'a') goto yy808;
14811
14.5k
  goto yy59;
14812
15.0k
yy621:
14813
15.0k
  YYDEBUG(621, *YYCURSOR);
14814
15.0k
  yych = *++YYCURSOR;
14815
15.0k
  if (yych == 'H') goto yy253;
14816
9.96k
  if (yych == 'h') goto yy253;
14817
7.45k
  goto yy59;
14818
56.2k
yy622:
14819
56.2k
  YYDEBUG(622, *YYCURSOR);
14820
56.2k
  yych = *++YYCURSOR;
14821
56.2k
  if (yych == 'O') goto yy809;
14822
31.8k
  if (yych == 'o') goto yy809;
14823
12.2k
  goto yy59;
14824
30.6k
yy623:
14825
30.6k
  YYDEBUG(623, *YYCURSOR);
14826
30.6k
  yych = *++YYCURSOR;
14827
30.6k
  if (yych == 'I') goto yy809;
14828
27.4k
  if (yych == 'i') goto yy809;
14829
21.1k
  goto yy59;
14830
21.1k
yy624:
14831
16.5k
  YYDEBUG(624, *YYCURSOR);
14832
16.5k
  yych = *++YYCURSOR;
14833
16.5k
  if (yych == 'T') goto yy810;
14834
12.3k
  if (yych == 't') goto yy810;
14835
6.77k
  goto yy59;
14836
6.77k
yy625:
14837
6.14k
  YYDEBUG(625, *YYCURSOR);
14838
6.14k
  yych = *++YYCURSOR;
14839
6.14k
  if (yych == 'H') goto yy425;
14840
5.49k
  if (yych == 'h') goto yy425;
14841
3.63k
  goto yy59;
14842
60.5k
yy626:
14843
60.5k
  YYDEBUG(626, *YYCURSOR);
14844
60.5k
  yych = *++YYCURSOR;
14845
60.5k
  if (yych == 'B') goto yy811;
14846
50.4k
  if (yych == 'b') goto yy811;
14847
34.2k
  goto yy59;
14848
34.2k
yy627:
14849
15.8k
  YYDEBUG(627, *YYCURSOR);
14850
15.8k
  yych = *++YYCURSOR;
14851
15.8k
  if (yych == 'R') goto yy630;
14852
12.2k
  if (yych == 'r') goto yy630;
14853
7.67k
  goto yy59;
14854
29.6k
yy628:
14855
29.6k
  YYDEBUG(628, *YYCURSOR);
14856
29.6k
  yych = *++YYCURSOR;
14857
29.6k
  if (yych == 'N') goto yy812;
14858
28.5k
  if (yych == 'n') goto yy812;
14859
11.3k
  goto yy59;
14860
27.9k
yy629:
14861
27.9k
  YYDEBUG(629, *YYCURSOR);
14862
27.9k
  yych = *++YYCURSOR;
14863
27.9k
  if (yych == 'S') goto yy630;
14864
26.0k
  if (yych != 's') goto yy59;
14865
46.4k
yy630:
14866
46.4k
  YYDEBUG(630, *YYCURSOR);
14867
46.4k
  yych = *++YYCURSOR;
14868
46.4k
  if (yych == 'D') goto yy198;
14869
41.0k
  if (yych == 'd') goto yy198;
14870
32.0k
  goto yy59;
14871
32.0k
yy631:
14872
26.5k
  YYDEBUG(631, *YYCURSOR);
14873
26.5k
  yych = *++YYCURSOR;
14874
26.5k
  if (yych == 'E') goto yy629;
14875
23.7k
  if (yych == 'e') goto yy629;
14876
12.4k
  goto yy59;
14877
36.3k
yy632:
14878
36.3k
  YYDEBUG(632, *YYCURSOR);
14879
36.3k
  yyaccept = 6;
14880
36.3k
  yych = *(YYMARKER = ++YYCURSOR);
14881
36.3k
  if (yych <= 'S') {
14882
18.3k
    if (yych == 'D') goto yy198;
14883
13.4k
    if (yych <= 'R') goto yy260;
14884
1.03k
    goto yy615;
14885
17.9k
  } else {
14886
17.9k
    if (yych <= 'd') {
14887
12.2k
      if (yych <= 'c') goto yy260;
14888
7.04k
      goto yy198;
14889
12.2k
    } else {
14890
5.74k
      if (yych == 's') goto yy615;
14891
1.32k
      goto yy260;
14892
5.74k
    }
14893
17.9k
  }
14894
21.4k
yy633:
14895
21.4k
  YYDEBUG(633, *YYCURSOR);
14896
21.4k
  yych = *++YYCURSOR;
14897
21.4k
  if (yych <= ',') goto yy59;
14898
19.7k
  if (yych <= '.') goto yy396;
14899
17.9k
  if (yych <= '/') goto yy59;
14900
15.7k
  if (yych <= '9') goto yy635;
14901
6.62k
  goto yy59;
14902
8.79k
yy634:
14903
8.79k
  YYDEBUG(634, *YYCURSOR);
14904
8.79k
  yych = *++YYCURSOR;
14905
8.79k
  if (yych <= ',') goto yy59;
14906
7.56k
  if (yych <= '.') goto yy396;
14907
6.78k
  if (yych <= '/') goto yy59;
14908
5.70k
  if (yych >= '3') goto yy59;
14909
17.8k
yy635:
14910
17.8k
  YYDEBUG(635, *YYCURSOR);
14911
17.8k
  yych = *++YYCURSOR;
14912
17.8k
  if (yych <= ',') goto yy59;
14913
15.3k
  if (yych <= '.') goto yy396;
14914
11.8k
  goto yy59;
14915
146k
yy636:
14916
146k
  YYDEBUG(636, *YYCURSOR);
14917
146k
  yyaccept = 4;
14918
146k
  yych = *(YYMARKER = ++YYCURSOR);
14919
146k
  if (yych == '.') goto yy744;
14920
138k
  if (yych <= '/') goto yy177;
14921
127k
  if (yych <= '9') goto yy813;
14922
26.5k
  goto yy177;
14923
26.5k
yy637:
14924
18.8k
  YYDEBUG(637, *YYCURSOR);
14925
18.8k
  yyaccept = 4;
14926
18.8k
  yych = *(YYMARKER = ++YYCURSOR);
14927
18.8k
  if (yych <= '/') {
14928
3.61k
    if (yych == '.') goto yy744;
14929
1.58k
    goto yy177;
14930
15.2k
  } else {
14931
15.2k
    if (yych <= '0') goto yy813;
14932
11.9k
    if (yych <= '9') goto yy738;
14933
5.35k
    goto yy177;
14934
11.9k
  }
14935
381k
yy638:
14936
381k
  YYDEBUG(638, *YYCURSOR);
14937
381k
  ++YYCURSOR;
14938
381k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
14939
381k
  yych = *YYCURSOR;
14940
381k
  YYDEBUG(639, *YYCURSOR);
14941
381k
  if (yych <= 'A') {
14942
321k
    if (yych <= 0x1F) {
14943
167k
      if (yych == '\t') goto yy638;
14944
17.0k
      goto yy59;
14945
167k
    } else {
14946
153k
      if (yych <= ' ') goto yy638;
14947
84.0k
      if (yych <= '@') goto yy59;
14948
17.5k
      goto yy106;
14949
84.0k
    }
14950
321k
  } else {
14951
60.1k
    if (yych <= '`') {
14952
21.5k
      if (yych == 'P') goto yy106;
14953
14.1k
      goto yy59;
14954
38.5k
    } else {
14955
38.5k
      if (yych <= 'a') goto yy106;
14956
27.9k
      if (yych == 'p') goto yy106;
14957
24.5k
      goto yy59;
14958
27.9k
    }
14959
60.1k
  }
14960
86.4k
yy640:
14961
86.4k
  YYDEBUG(640, *YYCURSOR);
14962
86.4k
  ++YYCURSOR;
14963
86.4k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
14964
86.4k
  yych = *YYCURSOR;
14965
86.4k
  if (yych == 0xA0) goto yy814;
14966
14.3k
  goto yy59;
14967
71.5k
yy641:
14968
71.5k
  YYDEBUG(641, *YYCURSOR);
14969
71.5k
  ++YYCURSOR;
14970
71.5k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
14971
71.5k
  yych = *YYCURSOR;
14972
71.5k
  if (yych == 0x80) goto yy815;
14973
18.1k
  goto yy59;
14974
191k
yy642:
14975
191k
  YYDEBUG(642, *YYCURSOR);
14976
191k
  yyaccept = 4;
14977
191k
  yych = *(YYMARKER = ++YYCURSOR);
14978
191k
  if (yych == '.') goto yy744;
14979
180k
  if (yych <= '/') goto yy177;
14980
159k
  if (yych <= '9') goto yy816;
14981
25.2k
  goto yy177;
14982
25.2k
yy643:
14983
12.1k
  YYDEBUG(643, *YYCURSOR);
14984
12.1k
  yyaccept = 4;
14985
12.1k
  yych = *(YYMARKER = ++YYCURSOR);
14986
12.1k
  if (yych == '.') goto yy744;
14987
8.92k
  if (yych == '0') goto yy816;
14988
5.15k
  goto yy177;
14989
348k
yy644:
14990
348k
  YYDEBUG(644, *YYCURSOR);
14991
348k
  yych = *++YYCURSOR;
14992
348k
  if (yych <= '/') goto yy59;
14993
321k
  if (yych <= '5') goto yy817;
14994
57.9k
  if (yych <= '6') goto yy818;
14995
33.5k
  if (yych <= '9') goto yy575;
14996
29.0k
  goto yy59;
14997
170k
yy645:
14998
170k
  YYDEBUG(645, *YYCURSOR);
14999
170k
  yych = *++YYCURSOR;
15000
170k
  if (yych <= '/') goto yy59;
15001
153k
  if (yych <= '2') goto yy819;
15002
79.3k
  if (yych <= '3') goto yy820;
15003
32.3k
  if (yych <= '9') goto yy821;
15004
19.0k
  goto yy59;
15005
144k
yy646:
15006
144k
  YYDEBUG(646, *YYCURSOR);
15007
144k
  yych = *++YYCURSOR;
15008
144k
  if (yych == '-') goto yy822;
15009
52.7k
  goto yy59;
15010
52.7k
yy647:
15011
30.2k
  YYDEBUG(647, *YYCURSOR);
15012
30.2k
  yych = *++YYCURSOR;
15013
30.2k
  if (yych == 'R') goto yy823;
15014
24.0k
  if (yych == 'r') goto yy823;
15015
19.0k
  goto yy59;
15016
23.0k
yy648:
15017
23.0k
  YYDEBUG(648, *YYCURSOR);
15018
23.0k
  yych = *++YYCURSOR;
15019
23.0k
  if (yych == 'G') goto yy823;
15020
16.3k
  if (yych == 'g') goto yy823;
15021
12.2k
  goto yy59;
15022
22.8k
yy649:
15023
22.8k
  YYDEBUG(649, *YYCURSOR);
15024
22.8k
  yych = *++YYCURSOR;
15025
22.8k
  if (yych == 'C') goto yy823;
15026
17.4k
  if (yych == 'c') goto yy823;
15027
9.43k
  goto yy59;
15028
37.4k
yy650:
15029
37.4k
  YYDEBUG(650, *YYCURSOR);
15030
37.4k
  yych = *++YYCURSOR;
15031
37.4k
  if (yych == 'B') goto yy823;
15032
29.0k
  if (yych == 'b') goto yy823;
15033
13.7k
  goto yy59;
15034
33.4k
yy651:
15035
33.4k
  YYDEBUG(651, *YYCURSOR);
15036
33.4k
  yych = *++YYCURSOR;
15037
33.4k
  if (yych == 'N') goto yy823;
15038
29.6k
  if (yych == 'n') goto yy823;
15039
12.5k
  goto yy59;
15040
55.4k
yy652:
15041
55.4k
  YYDEBUG(652, *YYCURSOR);
15042
55.4k
  yych = *++YYCURSOR;
15043
55.4k
  if (yych <= 'N') {
15044
15.6k
    if (yych == 'L') goto yy823;
15045
11.7k
    if (yych <= 'M') goto yy59;
15046
3.58k
    goto yy823;
15047
39.8k
  } else {
15048
39.8k
    if (yych <= 'l') {
15049
20.8k
      if (yych <= 'k') goto yy59;
15050
13.5k
      goto yy823;
15051
20.8k
    } else {
15052
18.9k
      if (yych == 'n') goto yy823;
15053
8.38k
      goto yy59;
15054
18.9k
    }
15055
39.8k
  }
15056
60.2k
yy653:
15057
60.2k
  YYDEBUG(653, *YYCURSOR);
15058
60.2k
  yych = *++YYCURSOR;
15059
60.2k
  if (yych <= 'Y') {
15060
30.7k
    if (yych == 'R') goto yy823;
15061
16.6k
    if (yych <= 'X') goto yy59;
15062
8.38k
    goto yy823;
15063
29.4k
  } else {
15064
29.4k
    if (yych <= 'r') {
15065
9.92k
      if (yych <= 'q') goto yy59;
15066
6.79k
      goto yy823;
15067
19.5k
    } else {
15068
19.5k
      if (yych == 'y') goto yy823;
15069
9.06k
      goto yy59;
15070
19.5k
    }
15071
29.4k
  }
15072
30.4k
yy654:
15073
30.4k
  YYDEBUG(654, *YYCURSOR);
15074
30.4k
  yych = *++YYCURSOR;
15075
30.4k
  if (yych == 'V') goto yy823;
15076
27.1k
  if (yych == 'v') goto yy823;
15077
17.4k
  goto yy59;
15078
21.6k
yy655:
15079
21.6k
  YYDEBUG(655, *YYCURSOR);
15080
21.6k
  yych = *++YYCURSOR;
15081
21.6k
  if (yych == 'T') goto yy823;
15082
10.2k
  if (yych == 't') goto yy823;
15083
6.25k
  goto yy59;
15084
61.1k
yy656:
15085
61.1k
  YYDEBUG(656, *YYCURSOR);
15086
61.1k
  yych = *++YYCURSOR;
15087
61.1k
  if (yych == 'P') goto yy824;
15088
42.7k
  if (yych == 'p') goto yy824;
15089
17.7k
  goto yy59;
15090
33.6k
yy657:
15091
33.6k
  YYDEBUG(657, *YYCURSOR);
15092
33.6k
  yych = *++YYCURSOR;
15093
33.6k
  if (yych <= '/') goto yy290;
15094
29.1k
  if (yych <= '9') goto yy825;
15095
5.48k
  goto yy290;
15096
17.0M
yy658:
15097
17.0M
  YYDEBUG(658, *YYCURSOR);
15098
17.0M
  yych = *++YYCURSOR;
15099
17.0M
  if (yych <= '@') {
15100
3.78M
    if (yych == ')') goto yy115;
15101
3.67M
    goto yy20;
15102
13.3M
  } else {
15103
13.3M
    if (yych <= 'Z') goto yy826;
15104
9.54M
    if (yych <= '`') goto yy20;
15105
9.09M
    if (yych <= 'z') goto yy826;
15106
845k
    goto yy20;
15107
9.09M
  }
15108
190k
yy659:
15109
190k
  YYDEBUG(659, *YYCURSOR);
15110
190k
  yych = *++YYCURSOR;
15111
190k
  if (yych <= '9') {
15112
119k
    if (yych <= ' ') {
15113
26.9k
      if (yych <= 0x08) {
15114
12.5k
        if (yych <= 0x00) goto yy324;
15115
7.49k
        goto yy59;
15116
14.3k
      } else {
15117
14.3k
        if (yych <= '\t') goto yy326;
15118
11.5k
        if (yych <= 0x1F) goto yy59;
15119
2.31k
        goto yy326;
15120
11.5k
      }
15121
92.8k
    } else {
15122
92.8k
      if (yych <= '-') {
15123
11.0k
        if (yych == ',') goto yy326;
15124
5.32k
        goto yy59;
15125
81.7k
      } else {
15126
81.7k
        if (yych <= '.') goto yy326;
15127
80.3k
        if (yych <= '/') goto yy59;
15128
78.6k
        goto yy827;
15129
80.3k
      }
15130
92.8k
    }
15131
119k
  } else {
15132
70.4k
    if (yych <= 'm') {
15133
26.1k
      if (yych <= 'd') {
15134
18.6k
        if (yych <= 'c') goto yy59;
15135
6.59k
        goto yy326;
15136
18.6k
      } else {
15137
7.44k
        if (yych == 'h') goto yy326;
15138
3.27k
        goto yy59;
15139
7.44k
      }
15140
44.3k
    } else {
15141
44.3k
      if (yych <= 'r') {
15142
16.0k
        if (yych <= 'n') goto yy329;
15143
11.3k
        if (yych <= 'q') goto yy59;
15144
3.34k
        goto yy329;
15145
28.2k
      } else {
15146
28.2k
        if (yych <= 's') goto yy330;
15147
23.8k
        if (yych <= 't') goto yy331;
15148
20.1k
        goto yy59;
15149
23.8k
      }
15150
44.3k
    }
15151
70.4k
  }
15152
110k
yy660:
15153
110k
  YYDEBUG(660, *YYCURSOR);
15154
110k
  yych = *++YYCURSOR;
15155
110k
  if (yych <= '1') {
15156
58.9k
    if (yych <= ' ') {
15157
13.7k
      if (yych <= 0x08) {
15158
7.22k
        if (yych <= 0x00) goto yy324;
15159
1.79k
        goto yy59;
15160
7.22k
      } else {
15161
6.54k
        if (yych <= '\t') goto yy326;
15162
6.06k
        if (yych <= 0x1F) goto yy59;
15163
3.54k
        goto yy326;
15164
6.06k
      }
15165
45.1k
    } else {
15166
45.1k
      if (yych <= '-') {
15167
9.44k
        if (yych == ',') goto yy326;
15168
6.36k
        goto yy59;
15169
35.7k
      } else {
15170
35.7k
        if (yych <= '.') goto yy326;
15171
34.3k
        if (yych <= '/') goto yy59;
15172
33.7k
        goto yy827;
15173
34.3k
      }
15174
45.1k
    }
15175
58.9k
  } else {
15176
51.9k
    if (yych <= 'm') {
15177
23.2k
      if (yych <= 'd') {
15178
16.3k
        if (yych <= '9') goto yy332;
15179
8.25k
        if (yych <= 'c') goto yy59;
15180
2.70k
        goto yy326;
15181
8.25k
      } else {
15182
6.87k
        if (yych == 'h') goto yy326;
15183
5.40k
        goto yy59;
15184
6.87k
      }
15185
28.7k
    } else {
15186
28.7k
      if (yych <= 'r') {
15187
18.6k
        if (yych <= 'n') goto yy329;
15188
14.4k
        if (yych <= 'q') goto yy59;
15189
3.94k
        goto yy329;
15190
14.4k
      } else {
15191
10.0k
        if (yych <= 's') goto yy330;
15192
8.09k
        if (yych <= 't') goto yy331;
15193
5.99k
        goto yy59;
15194
8.09k
      }
15195
28.7k
    }
15196
51.9k
  }
15197
50.0k
yy661:
15198
50.0k
  YYDEBUG(661, *YYCURSOR);
15199
50.0k
  yyaccept = 7;
15200
50.0k
  yych = *(YYMARKER = ++YYCURSOR);
15201
50.0k
  if (yych <= ',') {
15202
15.4k
    if (yych <= 0x1F) {
15203
7.64k
      if (yych == '\t') goto yy142;
15204
4.38k
      goto yy295;
15205
7.75k
    } else {
15206
7.75k
      if (yych <= ' ') goto yy142;
15207
5.77k
      if (yych == ')') goto yy115;
15208
4.10k
      goto yy295;
15209
5.77k
    }
15210
34.6k
  } else {
15211
34.6k
    if (yych <= '@') {
15212
12.5k
      if (yych == '/') goto yy295;
15213
9.53k
      if (yych <= '9') goto yy142;
15214
1.81k
      goto yy295;
15215
22.1k
    } else {
15216
22.1k
      if (yych <= 'Z') goto yy826;
15217
18.5k
      if (yych <= '`') goto yy295;
15218
13.0k
      if (yych <= 'z') goto yy826;
15219
9.88k
      goto yy295;
15220
13.0k
    }
15221
34.6k
  }
15222
55.8k
yy662:
15223
55.8k
  YYDEBUG(662, *YYCURSOR);
15224
55.8k
  yych = *++YYCURSOR;
15225
55.8k
  if (yych <= 'T') {
15226
23.5k
    if (yych <= ')') {
15227
7.09k
      if (yych <= '(') goto yy20;
15228
5.53k
      goto yy115;
15229
16.4k
    } else {
15230
16.4k
      if (yych <= '@') goto yy20;
15231
15.4k
      if (yych <= 'S') goto yy826;
15232
13.4k
      goto yy828;
15233
15.4k
    }
15234
32.2k
  } else {
15235
32.2k
    if (yych <= 's') {
15236
10.9k
      if (yych <= 'Z') goto yy826;
15237
7.18k
      if (yych <= '`') goto yy20;
15238
5.00k
      goto yy826;
15239
21.2k
    } else {
15240
21.2k
      if (yych <= 't') goto yy828;
15241
11.1k
      if (yych <= 'z') goto yy826;
15242
4.46k
      goto yy20;
15243
11.1k
    }
15244
32.2k
  }
15245
2.52M
yy663:
15246
2.52M
  YYDEBUG(663, *YYCURSOR);
15247
2.52M
  yyaccept = 2;
15248
2.52M
  yych = *(YYMARKER = ++YYCURSOR);
15249
2.52M
  if (yych <= '/') {
15250
447k
    if (yych <= ',') {
15251
388k
      if (yych == ')') goto yy115;
15252
374k
      goto yy20;
15253
388k
    } else {
15254
58.4k
      if (yych == '.') goto yy20;
15255
45.6k
      goto yy297;
15256
58.4k
    }
15257
2.07M
  } else {
15258
2.07M
    if (yych <= '^') {
15259
435k
      if (yych <= '@') goto yy20;
15260
267k
      if (yych <= 'Z') goto yy826;
15261
23.7k
      goto yy20;
15262
1.63M
    } else {
15263
1.63M
      if (yych <= '_') goto yy297;
15264
1.60M
      if (yych <= '`') goto yy20;
15265
1.57M
      if (yych <= 'z') goto yy829;
15266
104k
      goto yy20;
15267
1.57M
    }
15268
2.07M
  }
15269
53.0k
yy664:
15270
53.0k
  YYDEBUG(664, *YYCURSOR);
15271
53.0k
  yyaccept = 7;
15272
53.0k
  yych = *(YYMARKER = ++YYCURSOR);
15273
53.0k
  if (yych <= '.') {
15274
20.6k
    if (yych <= ' ') {
15275
10.5k
      if (yych == '\t') goto yy142;
15276
3.36k
      if (yych <= 0x1F) goto yy295;
15277
1.21k
      goto yy142;
15278
10.1k
    } else {
15279
10.1k
      if (yych <= ')') {
15280
5.40k
        if (yych <= '(') goto yy295;
15281
1.96k
        goto yy115;
15282
5.40k
      } else {
15283
4.71k
        if (yych <= ',') goto yy295;
15284
2.76k
        if (yych <= '-') goto yy700;
15285
1.76k
        goto yy142;
15286
2.76k
      }
15287
10.1k
    }
15288
32.4k
  } else {
15289
32.4k
    if (yych <= 'Z') {
15290
12.1k
      if (yych <= '/') goto yy297;
15291
10.0k
      if (yych <= '9') goto yy142;
15292
4.92k
      if (yych <= '@') goto yy295;
15293
2.70k
      goto yy826;
15294
20.2k
    } else {
15295
20.2k
      if (yych <= '_') {
15296
3.37k
        if (yych <= '^') goto yy295;
15297
724
        goto yy297;
15298
16.9k
      } else {
15299
16.9k
        if (yych <= '`') goto yy295;
15300
13.9k
        if (yych <= 'z') goto yy829;
15301
8.84k
        goto yy295;
15302
13.9k
      }
15303
20.2k
    }
15304
32.4k
  }
15305
88.2k
yy665:
15306
88.2k
  YYDEBUG(665, *YYCURSOR);
15307
88.2k
  yyaccept = 2;
15308
88.2k
  yych = *(YYMARKER = ++YYCURSOR);
15309
88.2k
  if (yych <= 'S') {
15310
15.1k
    if (yych <= '-') {
15311
5.89k
      if (yych == ')') goto yy115;
15312
4.41k
      if (yych <= ',') goto yy20;
15313
1.32k
      goto yy297;
15314
9.28k
    } else {
15315
9.28k
      if (yych == '/') goto yy297;
15316
6.16k
      if (yych <= '@') goto yy20;
15317
2.10k
      goto yy826;
15318
6.16k
    }
15319
73.0k
  } else {
15320
73.0k
    if (yych <= '_') {
15321
19.7k
      if (yych <= 'T') goto yy828;
15322
15.4k
      if (yych <= 'Z') goto yy826;
15323
9.25k
      if (yych <= '^') goto yy20;
15324
1.33k
      goto yy297;
15325
53.3k
    } else {
15326
53.3k
      if (yych <= 's') {
15327
7.48k
        if (yych <= '`') goto yy20;
15328
6.54k
        goto yy829;
15329
45.8k
      } else {
15330
45.8k
        if (yych <= 't') goto yy830;
15331
9.28k
        if (yych <= 'z') goto yy829;
15332
4.03k
        goto yy20;
15333
9.28k
      }
15334
53.3k
    }
15335
73.0k
  }
15336
221k
yy666:
15337
221k
  YYDEBUG(666, *YYCURSOR);
15338
221k
  yych = *++YYCURSOR;
15339
221k
  if (yych == 'O') goto yy831;
15340
214k
  if (yych == 'o') goto yy831;
15341
24.6k
  goto yy59;
15342
51.6k
yy667:
15343
51.6k
  YYDEBUG(667, *YYCURSOR);
15344
51.6k
  yych = *++YYCURSOR;
15345
51.6k
  if (yych <= 'B') {
15346
18.9k
    if (yych <= ')') {
15347
7.49k
      if (yych <= '(') goto yy20;
15348
2.32k
      goto yy115;
15349
11.4k
    } else {
15350
11.4k
      if (yych <= '@') goto yy20;
15351
5.36k
      if (yych <= 'A') goto yy826;
15352
3.63k
      goto yy832;
15353
5.36k
    }
15354
32.7k
  } else {
15355
32.7k
    if (yych <= 'a') {
15356
8.76k
      if (yych <= 'Z') goto yy826;
15357
4.28k
      if (yych <= '`') goto yy20;
15358
2.62k
      goto yy826;
15359
23.9k
    } else {
15360
23.9k
      if (yych <= 'b') goto yy832;
15361
11.2k
      if (yych <= 'z') goto yy826;
15362
8.21k
      goto yy20;
15363
11.2k
    }
15364
32.7k
  }
15365
69.8k
yy668:
15366
69.8k
  YYDEBUG(668, *YYCURSOR);
15367
69.8k
  yyaccept = 2;
15368
69.8k
  yych = *(YYMARKER = ++YYCURSOR);
15369
69.8k
  if (yych <= 'A') {
15370
12.5k
    if (yych <= '-') {
15371
7.69k
      if (yych == ')') goto yy115;
15372
6.63k
      if (yych <= ',') goto yy20;
15373
4.77k
      goto yy297;
15374
6.63k
    } else {
15375
4.89k
      if (yych == '/') goto yy297;
15376
3.79k
      if (yych <= '@') goto yy20;
15377
1.86k
      goto yy826;
15378
3.79k
    }
15379
57.2k
  } else {
15380
57.2k
    if (yych <= '_') {
15381
10.6k
      if (yych <= 'B') goto yy832;
15382
8.20k
      if (yych <= 'Z') goto yy826;
15383
5.32k
      if (yych <= '^') goto yy20;
15384
3.80k
      goto yy297;
15385
46.5k
    } else {
15386
46.5k
      if (yych <= 'a') {
15387
5.15k
        if (yych <= '`') goto yy20;
15388
2.51k
        goto yy829;
15389
41.3k
      } else {
15390
41.3k
        if (yych <= 'b') goto yy833;
15391
8.57k
        if (yych <= 'z') goto yy829;
15392
1.56k
        goto yy20;
15393
8.57k
      }
15394
46.5k
    }
15395
57.2k
  }
15396
229k
yy669:
15397
229k
  YYDEBUG(669, *YYCURSOR);
15398
229k
  yyaccept = 2;
15399
229k
  yych = *(YYMARKER = ++YYCURSOR);
15400
229k
  if (yych <= 'H') {
15401
125k
    if (yych <= ' ') {
15402
61.0k
      if (yych == '\t') goto yy834;
15403
24.7k
      if (yych <= 0x1F) goto yy20;
15404
17.1k
      goto yy834;
15405
64.0k
    } else {
15406
64.0k
      if (yych <= ')') {
15407
10.3k
        if (yych <= '(') goto yy20;
15408
1.85k
        goto yy115;
15409
53.6k
      } else {
15410
53.6k
        if (yych <= '@') goto yy20;
15411
16.3k
        if (yych <= 'G') goto yy826;
15412
12.8k
        goto yy836;
15413
16.3k
      }
15414
64.0k
    }
15415
125k
  } else {
15416
104k
    if (yych <= 'z') {
15417
74.4k
      if (yych <= '`') {
15418
7.59k
        if (yych <= 'Z') goto yy826;
15419
3.91k
        goto yy20;
15420
66.8k
      } else {
15421
66.8k
        if (yych == 'h') goto yy836;
15422
7.02k
        goto yy826;
15423
66.8k
      }
15424
74.4k
    } else {
15425
30.0k
      if (yych <= 0xC2) {
15426
12.2k
        if (yych <= 0xC1) goto yy20;
15427
6.01k
        goto yy837;
15428
17.7k
      } else {
15429
17.7k
        if (yych == 0xE2) goto yy838;
15430
11.8k
        goto yy20;
15431
17.7k
      }
15432
30.0k
    }
15433
104k
  }
15434
62.3k
yy670:
15435
62.3k
  YYDEBUG(670, *YYCURSOR);
15436
62.3k
  yych = *++YYCURSOR;
15437
62.3k
  if (yych <= 'N') {
15438
23.2k
    if (yych <= ')') {
15439
11.4k
      if (yych <= '(') goto yy20;
15440
5.72k
      goto yy115;
15441
11.7k
    } else {
15442
11.7k
      if (yych <= '@') goto yy20;
15443
5.83k
      if (yych <= 'M') goto yy826;
15444
2.37k
      goto yy839;
15445
5.83k
    }
15446
39.1k
  } else {
15447
39.1k
    if (yych <= 'm') {
15448
11.8k
      if (yych <= 'Z') goto yy826;
15449
7.19k
      if (yych <= '`') goto yy20;
15450
1.55k
      goto yy826;
15451
27.2k
    } else {
15452
27.2k
      if (yych <= 'n') goto yy839;
15453
6.90k
      if (yych <= 'z') goto yy826;
15454
1.77k
      goto yy20;
15455
6.90k
    }
15456
39.1k
  }
15457
100k
yy671:
15458
100k
  YYDEBUG(671, *YYCURSOR);
15459
100k
  yyaccept = 2;
15460
100k
  yych = *(YYMARKER = ++YYCURSOR);
15461
100k
  if (yych <= 'G') {
15462
35.2k
    if (yych <= ')') {
15463
20.4k
      if (yych <= 0x1F) {
15464
4.95k
        if (yych == '\t') goto yy834;
15465
3.40k
        goto yy20;
15466
15.4k
      } else {
15467
15.4k
        if (yych <= ' ') goto yy834;
15468
5.08k
        if (yych <= '(') goto yy20;
15469
1.75k
        goto yy115;
15470
5.08k
      }
15471
20.4k
    } else {
15472
14.8k
      if (yych <= '.') {
15473
8.42k
        if (yych == '-') goto yy297;
15474
1.71k
        goto yy20;
15475
8.42k
      } else {
15476
6.40k
        if (yych <= '/') goto yy297;
15477
4.92k
        if (yych <= '@') goto yy20;
15478
1.64k
        goto yy826;
15479
4.92k
      }
15480
14.8k
    }
15481
65.5k
  } else {
15482
65.5k
    if (yych <= 'g') {
15483
18.5k
      if (yych <= '^') {
15484
8.69k
        if (yych <= 'H') goto yy836;
15485
6.79k
        if (yych <= 'Z') goto yy826;
15486
942
        goto yy20;
15487
9.82k
      } else {
15488
9.82k
        if (yych <= '_') goto yy297;
15489
6.85k
        if (yych <= '`') goto yy20;
15490
4.79k
        goto yy829;
15491
6.85k
      }
15492
47.0k
    } else {
15493
47.0k
      if (yych <= 0xC1) {
15494
33.3k
        if (yych <= 'h') goto yy840;
15495
7.21k
        if (yych <= 'z') goto yy829;
15496
3.19k
        goto yy20;
15497
13.6k
      } else {
15498
13.6k
        if (yych <= 0xC2) goto yy837;
15499
8.85k
        if (yych == 0xE2) goto yy838;
15500
7.38k
        goto yy20;
15501
8.85k
      }
15502
47.0k
    }
15503
65.5k
  }
15504
83.9k
yy672:
15505
83.9k
  YYDEBUG(672, *YYCURSOR);
15506
83.9k
  yyaccept = 2;
15507
83.9k
  yych = *(YYMARKER = ++YYCURSOR);
15508
83.9k
  if (yych <= 'M') {
15509
9.99k
    if (yych <= '-') {
15510
5.36k
      if (yych == ')') goto yy115;
15511
3.53k
      if (yych <= ',') goto yy20;
15512
2.22k
      goto yy297;
15513
4.63k
    } else {
15514
4.63k
      if (yych == '/') goto yy297;
15515
3.65k
      if (yych <= '@') goto yy20;
15516
1.55k
      goto yy826;
15517
3.65k
    }
15518
73.9k
  } else {
15519
73.9k
    if (yych <= '_') {
15520
7.91k
      if (yych <= 'N') goto yy839;
15521
5.92k
      if (yych <= 'Z') goto yy826;
15522
3.23k
      if (yych <= '^') goto yy20;
15523
2.07k
      goto yy297;
15524
66.0k
    } else {
15525
66.0k
      if (yych <= 'm') {
15526
8.31k
        if (yych <= '`') goto yy20;
15527
6.03k
        goto yy829;
15528
57.7k
      } else {
15529
57.7k
        if (yych <= 'n') goto yy841;
15530
11.5k
        if (yych <= 'z') goto yy829;
15531
3.98k
        goto yy20;
15532
11.5k
      }
15533
66.0k
    }
15534
73.9k
  }
15535
36.6k
yy673:
15536
36.6k
  YYDEBUG(673, *YYCURSOR);
15537
36.6k
  yych = *++YYCURSOR;
15538
36.6k
  if (yych <= 'A') {
15539
16.7k
    if (yych == ')') goto yy115;
15540
13.8k
    if (yych <= '@') goto yy20;
15541
2.86k
    goto yy842;
15542
19.9k
  } else {
15543
19.9k
    if (yych <= '`') {
15544
7.25k
      if (yych <= 'Z') goto yy826;
15545
4.01k
      goto yy20;
15546
12.7k
    } else {
15547
12.7k
      if (yych <= 'a') goto yy842;
15548
6.14k
      if (yych <= 'z') goto yy826;
15549
4.26k
      goto yy20;
15550
6.14k
    }
15551
19.9k
  }
15552
160k
yy674:
15553
160k
  YYDEBUG(674, *YYCURSOR);
15554
160k
  yyaccept = 2;
15555
160k
  yych = *(YYMARKER = ++YYCURSOR);
15556
160k
  if (yych <= '@') {
15557
89.3k
    if (yych <= 0x1F) {
15558
52.0k
      if (yych == '\t') goto yy834;
15559
5.46k
      goto yy20;
15560
52.0k
    } else {
15561
37.3k
      if (yych <= ' ') goto yy834;
15562
12.2k
      if (yych == ')') goto yy115;
15563
9.35k
      goto yy20;
15564
12.2k
    }
15565
89.3k
  } else {
15566
71.2k
    if (yych <= 0xC1) {
15567
19.8k
      if (yych <= 'Z') goto yy826;
15568
11.7k
      if (yych <= '`') goto yy20;
15569
11.0k
      if (yych <= 'z') goto yy826;
15570
3.44k
      goto yy20;
15571
51.3k
    } else {
15572
51.3k
      if (yych <= 0xC2) goto yy837;
15573
10.4k
      if (yych == 0xE2) goto yy838;
15574
4.97k
      goto yy20;
15575
10.4k
    }
15576
71.2k
  }
15577
122k
yy675:
15578
122k
  YYDEBUG(675, *YYCURSOR);
15579
122k
  yyaccept = 2;
15580
122k
  yych = *(YYMARKER = ++YYCURSOR);
15581
122k
  if (yych <= '@') {
15582
85.2k
    if (yych <= 0x1F) {
15583
10.3k
      if (yych == '\t') goto yy834;
15584
5.29k
      goto yy20;
15585
74.8k
    } else {
15586
74.8k
      if (yych <= ' ') goto yy843;
15587
8.54k
      if (yych == ')') goto yy115;
15588
7.23k
      goto yy20;
15589
8.54k
    }
15590
85.2k
  } else {
15591
37.4k
    if (yych <= 0xC1) {
15592
18.2k
      if (yych <= 'Z') goto yy826;
15593
12.7k
      if (yych <= '`') goto yy20;
15594
8.00k
      if (yych <= 'z') goto yy826;
15595
3.84k
      goto yy20;
15596
19.2k
    } else {
15597
19.2k
      if (yych <= 0xC2) goto yy837;
15598
5.71k
      if (yych == 0xE2) goto yy838;
15599
2.77k
      goto yy20;
15600
5.71k
    }
15601
37.4k
  }
15602
47.8k
yy676:
15603
47.8k
  YYDEBUG(676, *YYCURSOR);
15604
47.8k
  yych = *++YYCURSOR;
15605
47.8k
  if (yych <= 'H') {
15606
20.5k
    if (yych <= ')') {
15607
5.69k
      if (yych <= '(') goto yy20;
15608
2.60k
      goto yy115;
15609
14.8k
    } else {
15610
14.8k
      if (yych <= '@') goto yy20;
15611
10.7k
      if (yych <= 'G') goto yy826;
15612
8.61k
      goto yy836;
15613
10.7k
    }
15614
27.2k
  } else {
15615
27.2k
    if (yych <= 'g') {
15616
10.6k
      if (yych <= 'Z') goto yy826;
15617
7.29k
      if (yych <= '`') goto yy20;
15618
3.32k
      goto yy826;
15619
16.6k
    } else {
15620
16.6k
      if (yych <= 'h') goto yy836;
15621
7.54k
      if (yych <= 'z') goto yy826;
15622
3.04k
      goto yy20;
15623
7.54k
    }
15624
27.2k
  }
15625
58.4k
yy677:
15626
58.4k
  YYDEBUG(677, *YYCURSOR);
15627
58.4k
  yych = *++YYCURSOR;
15628
58.4k
  if (yych <= 'Y') {
15629
21.4k
    if (yych <= ')') {
15630
5.86k
      if (yych <= '(') goto yy20;
15631
2.79k
      goto yy115;
15632
15.5k
    } else {
15633
15.5k
      if (yych <= '@') goto yy20;
15634
12.8k
      if (yych <= 'X') goto yy826;
15635
10.1k
      goto yy844;
15636
12.8k
    }
15637
36.9k
  } else {
15638
36.9k
    if (yych <= 'x') {
15639
8.77k
      if (yych <= 'Z') goto yy826;
15640
6.84k
      if (yych <= '`') goto yy20;
15641
2.99k
      goto yy826;
15642
28.2k
    } else {
15643
28.2k
      if (yych <= 'y') goto yy844;
15644
7.43k
      if (yych <= 'z') goto yy826;
15645
4.94k
      goto yy20;
15646
7.43k
    }
15647
36.9k
  }
15648
47.6k
yy678:
15649
47.6k
  YYDEBUG(678, *YYCURSOR);
15650
47.6k
  yyaccept = 2;
15651
47.6k
  yych = *(YYMARKER = ++YYCURSOR);
15652
47.6k
  if (yych <= ')') {
15653
29.5k
    if (yych == ' ') goto yy666;
15654
4.72k
    if (yych <= '(') goto yy20;
15655
3.73k
    goto yy115;
15656
18.0k
  } else {
15657
18.0k
    if (yych <= 'Z') {
15658
7.78k
      if (yych <= '@') goto yy20;
15659
4.05k
      goto yy826;
15660
10.2k
    } else {
15661
10.2k
      if (yych <= '`') goto yy20;
15662
8.08k
      if (yych <= 'z') goto yy826;
15663
4.75k
      goto yy20;
15664
8.08k
    }
15665
18.0k
  }
15666
76.7k
yy679:
15667
76.7k
  YYDEBUG(679, *YYCURSOR);
15668
76.7k
  yyaccept = 2;
15669
76.7k
  yych = *(YYMARKER = ++YYCURSOR);
15670
76.7k
  if (yych <= '@') {
15671
17.3k
    if (yych <= ',') {
15672
6.57k
      if (yych == ')') goto yy115;
15673
3.11k
      goto yy20;
15674
10.7k
    } else {
15675
10.7k
      if (yych == '.') goto yy20;
15676
9.96k
      if (yych <= '/') goto yy297;
15677
6.92k
      goto yy20;
15678
9.96k
    }
15679
59.4k
  } else {
15680
59.4k
    if (yych <= '_') {
15681
7.05k
      if (yych <= 'A') goto yy842;
15682
6.28k
      if (yych <= 'Z') goto yy826;
15683
4.42k
      if (yych <= '^') goto yy20;
15684
1.08k
      goto yy297;
15685
52.3k
    } else {
15686
52.3k
      if (yych <= '`') goto yy20;
15687
51.1k
      if (yych <= 'a') goto yy845;
15688
7.15k
      if (yych <= 'z') goto yy829;
15689
4.32k
      goto yy20;
15690
7.15k
    }
15691
59.4k
  }
15692
112k
yy680:
15693
112k
  YYDEBUG(680, *YYCURSOR);
15694
112k
  yyaccept = 2;
15695
112k
  yych = *(YYMARKER = ++YYCURSOR);
15696
112k
  if (yych <= '/') {
15697
52.5k
    if (yych <= '(') {
15698
43.2k
      if (yych <= '\t') {
15699
6.23k
        if (yych <= 0x08) goto yy20;
15700
3.74k
        goto yy834;
15701
37.0k
      } else {
15702
37.0k
        if (yych == ' ') goto yy834;
15703
4.65k
        goto yy20;
15704
37.0k
      }
15705
43.2k
    } else {
15706
9.29k
      if (yych <= ',') {
15707
5.57k
        if (yych <= ')') goto yy115;
15708
4.23k
        goto yy20;
15709
5.57k
      } else {
15710
3.71k
        if (yych == '.') goto yy20;
15711
1.84k
        goto yy297;
15712
3.71k
      }
15713
9.29k
    }
15714
59.5k
  } else {
15715
59.5k
    if (yych <= '`') {
15716
20.5k
      if (yych <= 'Z') {
15717
12.7k
        if (yych <= '@') goto yy20;
15718
6.66k
        goto yy826;
15719
12.7k
      } else {
15720
7.79k
        if (yych == '_') goto yy297;
15721
6.41k
        goto yy20;
15722
7.79k
      }
15723
38.9k
    } else {
15724
38.9k
      if (yych <= 0xC2) {
15725
27.4k
        if (yych <= 'z') goto yy829;
15726
23.1k
        if (yych <= 0xC1) goto yy20;
15727
18.0k
        goto yy837;
15728
23.1k
      } else {
15729
11.5k
        if (yych == 0xE2) goto yy838;
15730
2.86k
        goto yy20;
15731
11.5k
      }
15732
38.9k
    }
15733
59.5k
  }
15734
53.8k
yy681:
15735
53.8k
  YYDEBUG(681, *YYCURSOR);
15736
53.8k
  yyaccept = 2;
15737
53.8k
  yych = *(YYMARKER = ++YYCURSOR);
15738
53.8k
  if (yych <= '/') {
15739
29.5k
    if (yych <= '(') {
15740
20.3k
      if (yych <= '\t') {
15741
9.46k
        if (yych <= 0x08) goto yy20;
15742
5.08k
        goto yy834;
15743
10.9k
      } else {
15744
10.9k
        if (yych == ' ') goto yy843;
15745
2.28k
        goto yy20;
15746
10.9k
      }
15747
20.3k
    } else {
15748
9.17k
      if (yych <= ',') {
15749
2.16k
        if (yych <= ')') goto yy115;
15750
1.61k
        goto yy20;
15751
7.01k
      } else {
15752
7.01k
        if (yych == '.') goto yy20;
15753
3.62k
        goto yy297;
15754
7.01k
      }
15755
9.17k
    }
15756
29.5k
  } else {
15757
24.2k
    if (yych <= '`') {
15758
9.21k
      if (yych <= 'Z') {
15759
4.55k
        if (yych <= '@') goto yy20;
15760
758
        goto yy826;
15761
4.65k
      } else {
15762
4.65k
        if (yych == '_') goto yy297;
15763
2.97k
        goto yy20;
15764
4.65k
      }
15765
15.0k
    } else {
15766
15.0k
      if (yych <= 0xC2) {
15767
8.50k
        if (yych <= 'z') goto yy829;
15768
3.65k
        if (yych <= 0xC1) goto yy20;
15769
2.10k
        goto yy837;
15770
6.55k
      } else {
15771
6.55k
        if (yych == 0xE2) goto yy838;
15772
1.84k
        goto yy20;
15773
6.55k
      }
15774
15.0k
    }
15775
24.2k
  }
15776
83.9k
yy682:
15777
83.9k
  YYDEBUG(682, *YYCURSOR);
15778
83.9k
  yyaccept = 2;
15779
83.9k
  yych = *(YYMARKER = ++YYCURSOR);
15780
83.9k
  if (yych <= 'G') {
15781
17.0k
    if (yych <= '-') {
15782
8.72k
      if (yych == ')') goto yy115;
15783
7.36k
      if (yych <= ',') goto yy20;
15784
2.46k
      goto yy297;
15785
8.33k
    } else {
15786
8.33k
      if (yych == '/') goto yy297;
15787
7.67k
      if (yych <= '@') goto yy20;
15788
1.77k
      goto yy826;
15789
7.67k
    }
15790
66.9k
  } else {
15791
66.9k
    if (yych <= '_') {
15792
22.9k
      if (yych <= 'H') goto yy836;
15793
3.53k
      if (yych <= 'Z') goto yy826;
15794
2.85k
      if (yych <= '^') goto yy20;
15795
594
      goto yy297;
15796
44.0k
    } else {
15797
44.0k
      if (yych <= 'g') {
15798
2.54k
        if (yych <= '`') goto yy20;
15799
1.42k
        goto yy829;
15800
41.4k
      } else {
15801
41.4k
        if (yych <= 'h') goto yy840;
15802
6.33k
        if (yych <= 'z') goto yy829;
15803
3.30k
        goto yy20;
15804
6.33k
      }
15805
44.0k
    }
15806
66.9k
  }
15807
69.3k
yy683:
15808
69.3k
  YYDEBUG(683, *YYCURSOR);
15809
69.3k
  yyaccept = 2;
15810
69.3k
  yych = *(YYMARKER = ++YYCURSOR);
15811
69.3k
  if (yych <= 'X') {
15812
16.3k
    if (yych <= '-') {
15813
8.02k
      if (yych == ')') goto yy115;
15814
5.99k
      if (yych <= ',') goto yy20;
15815
2.53k
      goto yy297;
15816
8.32k
    } else {
15817
8.32k
      if (yych == '/') goto yy297;
15818
7.62k
      if (yych <= '@') goto yy20;
15819
2.70k
      goto yy826;
15820
7.62k
    }
15821
52.9k
  } else {
15822
52.9k
    if (yych <= '_') {
15823
9.52k
      if (yych <= 'Y') goto yy844;
15824
4.88k
      if (yych <= 'Z') goto yy826;
15825
3.83k
      if (yych <= '^') goto yy20;
15826
1.31k
      goto yy297;
15827
43.4k
    } else {
15828
43.4k
      if (yych <= 'x') {
15829
8.30k
        if (yych <= '`') goto yy20;
15830
4.98k
        goto yy829;
15831
35.1k
      } else {
15832
35.1k
        if (yych <= 'y') goto yy846;
15833
7.07k
        if (yych <= 'z') goto yy829;
15834
6.23k
        goto yy20;
15835
7.07k
      }
15836
43.4k
    }
15837
52.9k
  }
15838
89.0k
yy684:
15839
89.0k
  YYDEBUG(684, *YYCURSOR);
15840
89.0k
  yyaccept = 2;
15841
89.0k
  yych = *(YYMARKER = ++YYCURSOR);
15842
89.0k
  if (yych <= '.') {
15843
50.6k
    if (yych <= '(') {
15844
39.7k
      if (yych == ' ') goto yy666;
15845
4.94k
      goto yy20;
15846
39.7k
    } else {
15847
10.8k
      if (yych <= ')') goto yy115;
15848
9.33k
      if (yych == '-') goto yy297;
15849
3.16k
      goto yy20;
15850
9.33k
    }
15851
50.6k
  } else {
15852
38.4k
    if (yych <= '^') {
15853
9.66k
      if (yych <= '/') goto yy297;
15854
7.12k
      if (yych <= '@') goto yy20;
15855
4.08k
      if (yych <= 'Z') goto yy826;
15856
1.49k
      goto yy20;
15857
28.8k
    } else {
15858
28.8k
      if (yych <= '_') goto yy297;
15859
26.8k
      if (yych <= '`') goto yy20;
15860
26.1k
      if (yych <= 'z') goto yy829;
15861
2.73k
      goto yy20;
15862
26.1k
    }
15863
38.4k
  }
15864
74.4k
yy685:
15865
74.4k
  YYDEBUG(685, *YYCURSOR);
15866
74.4k
  yyaccept = 2;
15867
74.4k
  yych = *(YYMARKER = ++YYCURSOR);
15868
74.4k
  if (yych <= '/') goto yy20;
15869
70.6k
  if (yych <= '9') goto yy847;
15870
10.1k
  if (yych <= ':') goto yy203;
15871
8.67k
  goto yy20;
15872
27.7k
yy686:
15873
27.7k
  YYDEBUG(686, *YYCURSOR);
15874
27.7k
  yyaccept = 2;
15875
27.7k
  yych = *(YYMARKER = ++YYCURSOR);
15876
27.7k
  if (yych <= '5') {
15877
15.8k
    if (yych <= '/') goto yy20;
15878
13.7k
    if (yych <= '4') goto yy847;
15879
1.35k
    goto yy394;
15880
13.7k
  } else {
15881
11.9k
    if (yych <= '9') goto yy115;
15882
10.0k
    if (yych <= ':') goto yy203;
15883
1.50k
    goto yy20;
15884
10.0k
  }
15885
20.7k
yy687:
15886
20.7k
  YYDEBUG(687, *YYCURSOR);
15887
20.7k
  yyaccept = 2;
15888
20.7k
  yych = *(YYMARKER = ++YYCURSOR);
15889
20.7k
  if (yych <= '/') goto yy20;
15890
18.4k
  if (yych <= '5') goto yy394;
15891
9.21k
  if (yych <= '9') goto yy115;
15892
7.35k
  if (yych <= ':') goto yy203;
15893
5.76k
  goto yy20;
15894
312k
yy688:
15895
312k
  YYDEBUG(688, *YYCURSOR);
15896
312k
  yych = *++YYCURSOR;
15897
312k
  if (yych <= '/') goto yy59;
15898
292k
  if (yych <= '5') goto yy848;
15899
72.3k
  if (yych <= '9') goto yy850;
15900
19.0k
  goto yy59;
15901
23.3k
yy689:
15902
23.3k
  YYDEBUG(689, *YYCURSOR);
15903
23.3k
  yych = *++YYCURSOR;
15904
23.3k
  if (yych == '.') goto yy688;
15905
17.7k
  if (yych == ':') goto yy688;
15906
14.2k
  goto yy59;
15907
742k
yy690:
15908
742k
  YYDEBUG(690, *YYCURSOR);
15909
742k
  yych = *++YYCURSOR;
15910
742k
  if (yych <= '/') goto yy59;
15911
717k
  if (yych <= '5') goto yy851;
15912
84.6k
  if (yych <= '9') goto yy852;
15913
36.3k
  goto yy59;
15914
36.3k
yy691:
15915
22.1k
  YYDEBUG(691, *YYCURSOR);
15916
22.1k
  yych = *++YYCURSOR;
15917
22.1k
  if (yych <= '/') {
15918
12.0k
    if (yych == '.') goto yy688;
15919
2.94k
    goto yy59;
15920
12.0k
  } else {
15921
10.1k
    if (yych <= '9') goto yy689;
15922
7.70k
    if (yych <= ':') goto yy688;
15923
4.07k
    goto yy59;
15924
7.70k
  }
15925
14.0k
yy692:
15926
14.0k
  YYDEBUG(692, *YYCURSOR);
15927
14.0k
  yych = *++YYCURSOR;
15928
14.0k
  if (yych <= '/') {
15929
5.30k
    if (yych == '.') goto yy688;
15930
3.88k
    goto yy59;
15931
8.75k
  } else {
15932
8.75k
    if (yych <= '4') goto yy689;
15933
8.29k
    if (yych == ':') goto yy688;
15934
2.36k
    goto yy59;
15935
8.29k
  }
15936
123k
yy693:
15937
123k
  YYDEBUG(693, *YYCURSOR);
15938
123k
  yyaccept = 10;
15939
123k
  yych = *(YYMARKER = ++YYCURSOR);
15940
123k
  if (yych <= '/') {
15941
28.6k
    if (yych == '.') goto yy688;
15942
9.14k
    goto yy325;
15943
94.8k
  } else {
15944
94.8k
    if (yych <= '9') goto yy853;
15945
77.3k
    if (yych <= ':') goto yy688;
15946
8.26k
    goto yy325;
15947
77.3k
  }
15948
195k
yy694:
15949
195k
  YYDEBUG(694, *YYCURSOR);
15950
195k
  yyaccept = 10;
15951
195k
  yych = *(YYMARKER = ++YYCURSOR);
15952
195k
  if (yych <= '/') {
15953
60.9k
    if (yych == '.') goto yy690;
15954
12.3k
    goto yy325;
15955
134k
  } else {
15956
134k
    if (yych <= '9') goto yy853;
15957
117k
    if (yych <= ':') goto yy690;
15958
10.5k
    goto yy325;
15959
117k
  }
15960
47.2k
yy695:
15961
47.2k
  YYDEBUG(695, *YYCURSOR);
15962
47.2k
  yych = *++YYCURSOR;
15963
47.2k
  if (yych <= '/') goto yy325;
15964
38.7k
  if (yych <= '9') goto yy853;
15965
15.6k
  goto yy325;
15966
104k
yy696:
15967
104k
  YYDEBUG(696, *YYCURSOR);
15968
104k
  ++YYCURSOR;
15969
104k
  YYDEBUG(697, *YYCURSOR);
15970
104k
#line 1604 "ext/date/lib/parse_date.re"
15971
104k
  {
15972
104k
    int length = 0;
15973
104k
    DEBUG_OUTPUT("datenoday");
15974
104k
    TIMELIB_INIT;
15975
104k
    TIMELIB_HAVE_DATE();
15976
11.8k
    s->time->m = timelib_get_month(&ptr);
15977
11.8k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
15978
11.8k
    s->time->d = 1;
15979
11.8k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
15980
11.8k
    TIMELIB_DEINIT;
15981
11.8k
    return TIMELIB_DATE_NO_DAY;
15982
104k
  }
15983
0
#line 15984 "ext/date/lib/parse_date.c"
15984
51.3k
yy698:
15985
51.3k
  YYDEBUG(698, *YYCURSOR);
15986
51.3k
  yych = *++YYCURSOR;
15987
51.3k
  if (yych <= 'R') {
15988
18.5k
    if (yych <= ')') {
15989
6.78k
      if (yych <= '(') goto yy20;
15990
1.96k
      goto yy115;
15991
11.7k
    } else {
15992
11.7k
      if (yych <= '@') goto yy20;
15993
8.01k
      if (yych <= 'Q') goto yy826;
15994
6.71k
      goto yy854;
15995
8.01k
    }
15996
32.7k
  } else {
15997
32.7k
    if (yych <= 'q') {
15998
12.3k
      if (yych <= 'Z') goto yy826;
15999
9.96k
      if (yych <= '`') goto yy20;
16000
6.31k
      goto yy826;
16001
20.4k
    } else {
16002
20.4k
      if (yych <= 'r') goto yy854;
16003
10.5k
      if (yych <= 'z') goto yy826;
16004
8.74k
      goto yy20;
16005
10.5k
    }
16006
32.7k
  }
16007
60.8k
yy699:
16008
60.8k
  YYDEBUG(699, *YYCURSOR);
16009
60.8k
  yyaccept = 2;
16010
60.8k
  yych = *(YYMARKER = ++YYCURSOR);
16011
60.8k
  if (yych <= 'Q') {
16012
13.6k
    if (yych <= '-') {
16013
6.50k
      if (yych == ')') goto yy115;
16014
3.86k
      if (yych <= ',') goto yy20;
16015
671
      goto yy297;
16016
7.09k
    } else {
16017
7.09k
      if (yych == '/') goto yy297;
16018
4.80k
      if (yych <= '@') goto yy20;
16019
2.76k
      goto yy826;
16020
4.80k
    }
16021
47.2k
  } else {
16022
47.2k
    if (yych <= '_') {
16023
9.86k
      if (yych <= 'R') goto yy854;
16024
6.11k
      if (yych <= 'Z') goto yy826;
16025
3.10k
      if (yych <= '^') goto yy20;
16026
2.23k
      goto yy297;
16027
37.4k
    } else {
16028
37.4k
      if (yych <= 'q') {
16029
7.30k
        if (yych <= '`') goto yy20;
16030
1.34k
        goto yy829;
16031
30.1k
      } else {
16032
30.1k
        if (yych <= 'r') goto yy855;
16033
4.86k
        if (yych <= 'z') goto yy829;
16034
1.01k
        goto yy20;
16035
4.86k
      }
16036
37.4k
    }
16037
47.2k
  }
16038
12.9k
yy700:
16039
12.9k
  YYDEBUG(700, *YYCURSOR);
16040
12.9k
  yych = *++YYCURSOR;
16041
12.9k
  if (yybm[0+yych] & 64) {
16042
6.68k
    goto yy476;
16043
6.68k
  }
16044
6.30k
  goto yy142;
16045
386k
yy701:
16046
386k
  YYDEBUG(701, *YYCURSOR);
16047
386k
  ++YYCURSOR;
16048
386k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
16049
386k
  yych = *YYCURSOR;
16050
541k
yy702:
16051
541k
  YYDEBUG(702, *YYCURSOR);
16052
541k
  if (yych <= 'X') {
16053
336k
    if (yych <= 'G') {
16054
211k
      if (yych <= ' ') {
16055
158k
        if (yych == '\t') goto yy701;
16056
83.0k
        if (yych <= 0x1F) goto yy59;
16057
72.2k
        goto yy701;
16058
83.0k
      } else {
16059
53.4k
        if (yych <= 'D') {
16060
25.8k
          if (yych <= 'C') goto yy59;
16061
2.72k
          goto yy856;
16062
27.6k
        } else {
16063
27.6k
          if (yych == 'F') goto yy857;
16064
3.19k
          goto yy59;
16065
27.6k
        }
16066
53.4k
      }
16067
211k
    } else {
16068
124k
      if (yych <= 'S') {
16069
50.1k
        if (yych <= 'L') {
16070
6.09k
          if (yych <= 'H') goto yy858;
16071
4.71k
          goto yy59;
16072
44.0k
        } else {
16073
44.0k
          if (yych <= 'M') goto yy859;
16074
33.7k
          if (yych <= 'R') goto yy59;
16075
28.8k
          goto yy860;
16076
33.7k
        }
16077
74.7k
      } else {
16078
74.7k
        if (yych <= 'U') {
16079
4.56k
          if (yych <= 'T') goto yy861;
16080
907
          goto yy862;
16081
70.1k
        } else {
16082
70.1k
          if (yych == 'W') goto yy863;
16083
2.87k
          goto yy59;
16084
70.1k
        }
16085
74.7k
      }
16086
124k
    }
16087
336k
  } else {
16088
205k
    if (yych <= 'r') {
16089
90.8k
      if (yych <= 'f') {
16090
31.0k
        if (yych <= 'c') {
16091
21.7k
          if (yych <= 'Y') goto yy864;
16092
18.6k
          goto yy59;
16093
21.7k
        } else {
16094
9.28k
          if (yych <= 'd') goto yy856;
16095
7.65k
          if (yych <= 'e') goto yy59;
16096
2.21k
          goto yy857;
16097
7.65k
        }
16098
59.7k
      } else {
16099
59.7k
        if (yych <= 'h') {
16100
6.46k
          if (yych <= 'g') goto yy59;
16101
1.90k
          goto yy858;
16102
53.3k
        } else {
16103
53.3k
          if (yych == 'm') goto yy859;
16104
6.01k
          goto yy59;
16105
53.3k
        }
16106
59.7k
      }
16107
114k
    } else {
16108
114k
      if (yych <= 'w') {
16109
89.0k
        if (yych <= 't') {
16110
49.8k
          if (yych <= 's') goto yy860;
16111
22.4k
          goto yy861;
16112
49.8k
        } else {
16113
39.1k
          if (yych <= 'u') goto yy862;
16114
35.4k
          if (yych <= 'v') goto yy59;
16115
34.5k
          goto yy863;
16116
35.4k
        }
16117
89.0k
      } else {
16118
25.3k
        if (yych <= 'y') {
16119
8.10k
          if (yych <= 'x') goto yy59;
16120
6.38k
          goto yy864;
16121
17.2k
        } else {
16122
17.2k
          if (yych == 0xC2) goto yy865;
16123
13.5k
          goto yy59;
16124
17.2k
        }
16125
25.3k
      }
16126
114k
    }
16127
205k
  }
16128
176k
yy703:
16129
176k
  YYDEBUG(703, *YYCURSOR);
16130
176k
  yych = *++YYCURSOR;
16131
176k
  if (yych == 'D') goto yy866;
16132
168k
  if (yych == 'd') goto yy866;
16133
155k
  goto yy702;
16134
155k
yy704:
16135
88.2k
  YYDEBUG(704, *YYCURSOR);
16136
88.2k
  yych = *++YYCURSOR;
16137
88.2k
  if (yych == 0xA0) goto yy867;
16138
13.6k
  goto yy59;
16139
112k
yy705:
16140
112k
  YYDEBUG(705, *YYCURSOR);
16141
112k
  ++YYCURSOR;
16142
112k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
16143
112k
  yych = *YYCURSOR;
16144
112k
  if (yych == 0x80) goto yy868;
16145
7.85k
  goto yy59;
16146
47.4k
yy706:
16147
47.4k
  YYDEBUG(706, *YYCURSOR);
16148
47.4k
  yych = *++YYCURSOR;
16149
47.4k
  if (yych <= 'G') {
16150
18.0k
    if (yych <= ')') {
16151
5.05k
      if (yych <= '(') goto yy20;
16152
1.35k
      goto yy115;
16153
13.0k
    } else {
16154
13.0k
      if (yych <= '@') goto yy20;
16155
9.85k
      if (yych <= 'F') goto yy826;
16156
5.89k
      goto yy869;
16157
9.85k
    }
16158
29.4k
  } else {
16159
29.4k
    if (yych <= 'f') {
16160
11.8k
      if (yych <= 'Z') goto yy826;
16161
4.55k
      if (yych <= '`') goto yy20;
16162
2.38k
      goto yy826;
16163
17.5k
    } else {
16164
17.5k
      if (yych <= 'g') goto yy869;
16165
7.95k
      if (yych <= 'z') goto yy826;
16166
2.01k
      goto yy20;
16167
7.95k
    }
16168
29.4k
  }
16169
86.5k
yy707:
16170
86.5k
  YYDEBUG(707, *YYCURSOR);
16171
86.5k
  yyaccept = 2;
16172
86.5k
  yych = *(YYMARKER = ++YYCURSOR);
16173
86.5k
  if (yych <= 'F') {
16174
14.1k
    if (yych <= '-') {
16175
6.59k
      if (yych == ')') goto yy115;
16176
5.17k
      if (yych <= ',') goto yy20;
16177
2.16k
      goto yy297;
16178
7.58k
    } else {
16179
7.58k
      if (yych == '/') goto yy297;
16180
6.70k
      if (yych <= '@') goto yy20;
16181
3.42k
      goto yy826;
16182
6.70k
    }
16183
72.4k
  } else {
16184
72.4k
    if (yych <= '_') {
16185
8.65k
      if (yych <= 'G') goto yy869;
16186
5.91k
      if (yych <= 'Z') goto yy826;
16187
2.23k
      if (yych <= '^') goto yy20;
16188
1.14k
      goto yy297;
16189
63.7k
    } else {
16190
63.7k
      if (yych <= 'f') {
16191
5.87k
        if (yych <= '`') goto yy20;
16192
3.38k
        goto yy829;
16193
57.8k
      } else {
16194
57.8k
        if (yych <= 'g') goto yy870;
16195
21.0k
        if (yych <= 'z') goto yy829;
16196
3.00k
        goto yy20;
16197
21.0k
      }
16198
63.7k
    }
16199
72.4k
  }
16200
46.5k
yy708:
16201
46.5k
  YYDEBUG(708, *YYCURSOR);
16202
46.5k
  yych = *++YYCURSOR;
16203
46.5k
  if (yych <= 'E') {
16204
20.3k
    if (yych <= ')') {
16205
3.78k
      if (yych <= '(') goto yy20;
16206
1.04k
      goto yy115;
16207
16.5k
    } else {
16208
16.5k
      if (yych <= '@') goto yy20;
16209
9.31k
      if (yych <= 'D') goto yy826;
16210
8.68k
      goto yy871;
16211
9.31k
    }
16212
26.2k
  } else {
16213
26.2k
    if (yych <= 'd') {
16214
8.24k
      if (yych <= 'Z') goto yy826;
16215
4.28k
      if (yych <= '`') goto yy20;
16216
1.64k
      goto yy826;
16217
17.9k
    } else {
16218
17.9k
      if (yych <= 'e') goto yy871;
16219
9.10k
      if (yych <= 'z') goto yy826;
16220
2.15k
      goto yy20;
16221
9.10k
    }
16222
26.2k
  }
16223
66.2k
yy709:
16224
66.2k
  YYDEBUG(709, *YYCURSOR);
16225
66.2k
  yyaccept = 2;
16226
66.2k
  yych = *(YYMARKER = ++YYCURSOR);
16227
66.2k
  if (yych <= 'D') {
16228
11.8k
    if (yych <= '-') {
16229
4.64k
      if (yych == ')') goto yy115;
16230
2.45k
      if (yych <= ',') goto yy20;
16231
1.07k
      goto yy297;
16232
7.16k
    } else {
16233
7.16k
      if (yych == '/') goto yy297;
16234
4.58k
      if (yych <= '@') goto yy20;
16235
2.48k
      goto yy826;
16236
4.58k
    }
16237
54.4k
  } else {
16238
54.4k
    if (yych <= '_') {
16239
5.65k
      if (yych <= 'E') goto yy871;
16240
3.93k
      if (yych <= 'Z') goto yy826;
16241
1.75k
      if (yych <= '^') goto yy20;
16242
963
      goto yy297;
16243
48.7k
    } else {
16244
48.7k
      if (yych <= 'd') {
16245
7.74k
        if (yych <= '`') goto yy20;
16246
7.25k
        goto yy829;
16247
41.0k
      } else {
16248
41.0k
        if (yych <= 'e') goto yy872;
16249
7.42k
        if (yych <= 'z') goto yy829;
16250
6.28k
        goto yy20;
16251
7.42k
      }
16252
48.7k
    }
16253
54.4k
  }
16254
134k
yy710:
16255
134k
  YYDEBUG(710, *YYCURSOR);
16256
134k
  yych = *++YYCURSOR;
16257
134k
  if (yych <= 'O') {
16258
24.1k
    if (yych <= ')') {
16259
9.55k
      if (yych <= '(') goto yy20;
16260
813
      goto yy115;
16261
14.5k
    } else {
16262
14.5k
      if (yych <= '@') goto yy20;
16263
12.0k
      if (yych <= 'N') goto yy826;
16264
8.33k
      goto yy873;
16265
12.0k
    }
16266
110k
  } else {
16267
110k
    if (yych <= 'n') {
16268
7.68k
      if (yych <= 'Z') goto yy826;
16269
5.32k
      if (yych <= '`') goto yy20;
16270
2.15k
      goto yy826;
16271
102k
    } else {
16272
102k
      if (yych <= 'o') goto yy873;
16273
11.5k
      if (yych <= 'z') goto yy826;
16274
7.16k
      goto yy20;
16275
11.5k
    }
16276
110k
  }
16277
89.9k
yy711:
16278
89.9k
  YYDEBUG(711, *YYCURSOR);
16279
89.9k
  yyaccept = 2;
16280
89.9k
  yych = *(YYMARKER = ++YYCURSOR);
16281
89.9k
  if (yych <= 'N') {
16282
19.3k
    if (yych <= '-') {
16283
10.6k
      if (yych == ')') goto yy115;
16284
8.51k
      if (yych <= ',') goto yy20;
16285
2.85k
      goto yy297;
16286
8.68k
    } else {
16287
8.68k
      if (yych == '/') goto yy297;
16288
8.17k
      if (yych <= '@') goto yy20;
16289
5.59k
      goto yy826;
16290
8.17k
    }
16291
70.5k
  } else {
16292
70.5k
    if (yych <= '_') {
16293
14.3k
      if (yych <= 'O') goto yy873;
16294
7.50k
      if (yych <= 'Z') goto yy826;
16295
5.39k
      if (yych <= '^') goto yy20;
16296
1.32k
      goto yy297;
16297
56.1k
    } else {
16298
56.1k
      if (yych <= 'n') {
16299
3.25k
        if (yych <= '`') goto yy20;
16300
2.24k
        goto yy829;
16301
52.9k
      } else {
16302
52.9k
        if (yych <= 'o') goto yy874;
16303
6.84k
        if (yych <= 'z') goto yy829;
16304
3.76k
        goto yy20;
16305
6.84k
      }
16306
56.1k
    }
16307
70.5k
  }
16308
64.7k
yy712:
16309
64.7k
  YYDEBUG(712, *YYCURSOR);
16310
64.7k
  yych = *++YYCURSOR;
16311
64.7k
  if (yych <= 'D') {
16312
21.9k
    if (yych <= ')') {
16313
7.63k
      if (yych <= '(') goto yy20;
16314
1.60k
      goto yy115;
16315
14.2k
    } else {
16316
14.2k
      if (yych <= '@') goto yy20;
16317
8.36k
      if (yych <= 'C') goto yy826;
16318
7.18k
      goto yy875;
16319
8.36k
    }
16320
42.8k
  } else {
16321
42.8k
    if (yych <= 'c') {
16322
12.2k
      if (yych <= 'Z') goto yy826;
16323
9.06k
      if (yych <= '`') goto yy20;
16324
4.05k
      goto yy826;
16325
30.5k
    } else {
16326
30.5k
      if (yych <= 'd') goto yy875;
16327
8.92k
      if (yych <= 'z') goto yy826;
16328
6.61k
      goto yy20;
16329
8.92k
    }
16330
42.8k
  }
16331
52.2k
yy713:
16332
52.2k
  YYDEBUG(713, *YYCURSOR);
16333
52.2k
  yych = *++YYCURSOR;
16334
52.2k
  if (yych <= 'D') {
16335
26.6k
    if (yych <= ')') {
16336
5.85k
      if (yych <= '(') goto yy20;
16337
2.50k
      goto yy115;
16338
20.7k
    } else {
16339
20.7k
      if (yych <= '@') goto yy20;
16340
16.9k
      if (yych <= 'C') goto yy826;
16341
16.2k
      goto yy836;
16342
16.9k
    }
16343
26.6k
  } else {
16344
25.5k
    if (yych <= 'c') {
16345
9.23k
      if (yych <= 'Z') goto yy826;
16346
6.07k
      if (yych <= '`') goto yy20;
16347
2.14k
      goto yy826;
16348
16.3k
    } else {
16349
16.3k
      if (yych <= 'd') goto yy836;
16350
5.25k
      if (yych <= 'z') goto yy826;
16351
2.01k
      goto yy20;
16352
5.25k
    }
16353
25.5k
  }
16354
42.4k
yy714:
16355
42.4k
  YYDEBUG(714, *YYCURSOR);
16356
42.4k
  yych = *++YYCURSOR;
16357
42.4k
  if (yych <= 'M') {
16358
16.4k
    if (yych <= ')') {
16359
5.97k
      if (yych <= '(') goto yy20;
16360
1.90k
      goto yy115;
16361
10.4k
    } else {
16362
10.4k
      if (yych <= '@') goto yy20;
16363
6.82k
      if (yych <= 'L') goto yy826;
16364
5.99k
      goto yy876;
16365
6.82k
    }
16366
26.0k
  } else {
16367
26.0k
    if (yych <= 'l') {
16368
14.9k
      if (yych <= 'Z') goto yy826;
16369
13.7k
      if (yych <= '`') goto yy20;
16370
3.83k
      goto yy826;
16371
13.7k
    } else {
16372
11.0k
      if (yych <= 'm') goto yy876;
16373
3.76k
      if (yych <= 'z') goto yy826;
16374
2.25k
      goto yy20;
16375
3.76k
    }
16376
26.0k
  }
16377
43.2k
yy715:
16378
43.2k
  YYDEBUG(715, *YYCURSOR);
16379
43.2k
  yych = *++YYCURSOR;
16380
43.2k
  if (yych <= 'T') {
16381
12.7k
    if (yych <= ')') {
16382
4.53k
      if (yych <= '(') goto yy20;
16383
1.82k
      goto yy115;
16384
8.25k
    } else {
16385
8.25k
      if (yych <= '@') goto yy20;
16386
4.64k
      if (yych <= 'S') goto yy826;
16387
2.40k
      goto yy877;
16388
4.64k
    }
16389
30.5k
  } else {
16390
30.5k
    if (yych <= 's') {
16391
7.95k
      if (yych <= 'Z') goto yy826;
16392
6.81k
      if (yych <= '`') goto yy20;
16393
4.23k
      goto yy826;
16394
22.5k
    } else {
16395
22.5k
      if (yych <= 't') goto yy877;
16396
8.00k
      if (yych <= 'z') goto yy826;
16397
4.16k
      goto yy20;
16398
8.00k
    }
16399
30.5k
  }
16400
87.5k
yy716:
16401
87.5k
  YYDEBUG(716, *YYCURSOR);
16402
87.5k
  yyaccept = 2;
16403
87.5k
  yych = *(YYMARKER = ++YYCURSOR);
16404
87.5k
  if (yych <= 'C') {
16405
14.9k
    if (yych <= '-') {
16406
4.19k
      if (yych == ')') goto yy115;
16407
3.55k
      if (yych <= ',') goto yy20;
16408
1.69k
      goto yy297;
16409
10.7k
    } else {
16410
10.7k
      if (yych == '/') goto yy297;
16411
9.51k
      if (yych <= '@') goto yy20;
16412
3.73k
      goto yy826;
16413
9.51k
    }
16414
72.5k
  } else {
16415
72.5k
    if (yych <= '_') {
16416
9.92k
      if (yych <= 'D') goto yy875;
16417
6.96k
      if (yych <= 'Z') goto yy826;
16418
4.14k
      if (yych <= '^') goto yy20;
16419
3.17k
      goto yy297;
16420
62.6k
    } else {
16421
62.6k
      if (yych <= 'c') {
16422
1.49k
        if (yych <= '`') goto yy20;
16423
955
        goto yy829;
16424
61.1k
      } else {
16425
61.1k
        if (yych <= 'd') goto yy878;
16426
9.62k
        if (yych <= 'z') goto yy829;
16427
3.82k
        goto yy20;
16428
9.62k
      }
16429
62.6k
    }
16430
72.5k
  }
16431
57.4k
yy717:
16432
57.4k
  YYDEBUG(717, *YYCURSOR);
16433
57.4k
  yyaccept = 2;
16434
57.4k
  yych = *(YYMARKER = ++YYCURSOR);
16435
57.4k
  if (yych <= 'C') {
16436
20.2k
    if (yych <= '-') {
16437
11.9k
      if (yych == ')') goto yy115;
16438
6.78k
      if (yych <= ',') goto yy20;
16439
2.59k
      goto yy297;
16440
8.22k
    } else {
16441
8.22k
      if (yych == '/') goto yy297;
16442
4.24k
      if (yych <= '@') goto yy20;
16443
1.34k
      goto yy826;
16444
4.24k
    }
16445
37.2k
  } else {
16446
37.2k
    if (yych <= '_') {
16447
9.26k
      if (yych <= 'D') goto yy836;
16448
4.10k
      if (yych <= 'Z') goto yy826;
16449
2.54k
      if (yych <= '^') goto yy20;
16450
957
      goto yy297;
16451
27.9k
    } else {
16452
27.9k
      if (yych <= 'c') {
16453
3.20k
        if (yych <= '`') goto yy20;
16454
1.91k
        goto yy829;
16455
24.7k
      } else {
16456
24.7k
        if (yych <= 'd') goto yy840;
16457
5.48k
        if (yych <= 'z') goto yy829;
16458
1.73k
        goto yy20;
16459
5.48k
      }
16460
27.9k
    }
16461
37.2k
  }
16462
82.7k
yy718:
16463
82.7k
  YYDEBUG(718, *YYCURSOR);
16464
82.7k
  yyaccept = 2;
16465
82.7k
  yych = *(YYMARKER = ++YYCURSOR);
16466
82.7k
  if (yych <= 'L') {
16467
13.0k
    if (yych <= '-') {
16468
6.13k
      if (yych == ')') goto yy115;
16469
4.00k
      if (yych <= ',') goto yy20;
16470
1.09k
      goto yy297;
16471
6.89k
    } else {
16472
6.89k
      if (yych == '/') goto yy297;
16473
5.37k
      if (yych <= '@') goto yy20;
16474
401
      goto yy826;
16475
5.37k
    }
16476
69.7k
  } else {
16477
69.7k
    if (yych <= '_') {
16478
15.5k
      if (yych <= 'M') goto yy876;
16479
11.3k
      if (yych <= 'Z') goto yy826;
16480
10.1k
      if (yych <= '^') goto yy20;
16481
5.78k
      goto yy297;
16482
54.2k
    } else {
16483
54.2k
      if (yych <= 'l') {
16484
4.79k
        if (yych <= '`') goto yy20;
16485
3.95k
        goto yy829;
16486
49.4k
      } else {
16487
49.4k
        if (yych <= 'm') goto yy879;
16488
6.71k
        if (yych <= 'z') goto yy829;
16489
3.25k
        goto yy20;
16490
6.71k
      }
16491
54.2k
    }
16492
69.7k
  }
16493
87.2k
yy719:
16494
87.2k
  YYDEBUG(719, *YYCURSOR);
16495
87.2k
  yyaccept = 2;
16496
87.2k
  yych = *(YYMARKER = ++YYCURSOR);
16497
87.2k
  if (yych <= 'S') {
16498
16.4k
    if (yych <= '-') {
16499
9.35k
      if (yych == ')') goto yy115;
16500
8.03k
      if (yych <= ',') goto yy20;
16501
1.86k
      goto yy297;
16502
8.03k
    } else {
16503
7.08k
      if (yych == '/') goto yy297;
16504
5.91k
      if (yych <= '@') goto yy20;
16505
2.38k
      goto yy826;
16506
5.91k
    }
16507
70.7k
  } else {
16508
70.7k
    if (yych <= '_') {
16509
6.72k
      if (yych <= 'T') goto yy877;
16510
5.41k
      if (yych <= 'Z') goto yy826;
16511
2.78k
      if (yych <= '^') goto yy20;
16512
746
      goto yy297;
16513
64.0k
    } else {
16514
64.0k
      if (yych <= 's') {
16515
4.52k
        if (yych <= '`') goto yy20;
16516
1.77k
        goto yy829;
16517
59.5k
      } else {
16518
59.5k
        if (yych <= 't') goto yy880;
16519
6.05k
        if (yych <= 'z') goto yy829;
16520
3.74k
        goto yy20;
16521
6.05k
      }
16522
64.0k
    }
16523
70.7k
  }
16524
73.0k
yy720:
16525
73.0k
  YYDEBUG(720, *YYCURSOR);
16526
73.0k
  yyaccept = 12;
16527
73.0k
  yych = *(YYMARKER = ++YYCURSOR);
16528
73.0k
  if (yych <= '/') goto yy420;
16529
62.6k
  if (yych <= '5') goto yy881;
16530
32.6k
  if (yych <= '6') goto yy882;
16531
25.8k
  goto yy420;
16532
25.8k
yy721:
16533
16.4k
  YYDEBUG(721, *YYCURSOR);
16534
16.4k
  yych = *++YYCURSOR;
16535
16.4k
  if (yych <= '@') {
16536
4.26k
    if (yych == ')') goto yy115;
16537
12.1k
  } else {
16538
12.1k
    if (yych <= 'Z') goto yy826;
16539
9.44k
    if (yych <= '`') goto yy722;
16540
5.79k
    if (yych <= 'z') goto yy826;
16541
5.79k
  }
16542
41.8k
yy722:
16543
41.8k
  YYDEBUG(722, *YYCURSOR);
16544
41.8k
#line 1199 "ext/date/lib/parse_date.re"
16545
41.8k
  {
16546
41.8k
    DEBUG_OUTPUT("midnight | today");
16547
41.8k
    TIMELIB_INIT;
16548
41.8k
    TIMELIB_UNHAVE_TIME();
16549
16550
41.8k
    TIMELIB_DEINIT;
16551
41.8k
    return TIMELIB_RELATIVE;
16552
16.4k
  }
16553
0
#line 16554 "ext/date/lib/parse_date.c"
16554
39.8k
yy723:
16555
39.8k
  YYDEBUG(723, *YYCURSOR);
16556
39.8k
  yych = *++YYCURSOR;
16557
39.8k
  if (yych <= 'R') {
16558
14.1k
    if (yych <= ')') {
16559
8.90k
      if (yych <= '(') goto yy20;
16560
811
      goto yy115;
16561
8.90k
    } else {
16562
5.28k
      if (yych <= '@') goto yy20;
16563
3.10k
      if (yych <= 'Q') goto yy826;
16564
838
      goto yy883;
16565
3.10k
    }
16566
25.6k
  } else {
16567
25.6k
    if (yych <= 'q') {
16568
6.98k
      if (yych <= 'Z') goto yy826;
16569
6.05k
      if (yych <= '`') goto yy20;
16570
3.00k
      goto yy826;
16571
18.6k
    } else {
16572
18.6k
      if (yych <= 'r') goto yy883;
16573
8.98k
      if (yych <= 'z') goto yy826;
16574
6.90k
      goto yy20;
16575
8.98k
    }
16576
25.6k
  }
16577
45.0k
yy724:
16578
45.0k
  YYDEBUG(724, *YYCURSOR);
16579
45.0k
  yych = *++YYCURSOR;
16580
45.0k
  if (yych <= 'A') {
16581
23.5k
    if (yych == ')') goto yy115;
16582
22.1k
    if (yych <= '@') goto yy20;
16583
11.5k
    goto yy884;
16584
22.1k
  } else {
16585
21.5k
    if (yych <= '`') {
16586
4.54k
      if (yych <= 'Z') goto yy826;
16587
2.81k
      goto yy20;
16588
16.9k
    } else {
16589
16.9k
      if (yych <= 'a') goto yy884;
16590
6.56k
      if (yych <= 'z') goto yy826;
16591
3.05k
      goto yy20;
16592
6.56k
    }
16593
21.5k
  }
16594
24.2k
yy725:
16595
24.2k
  YYDEBUG(725, *YYCURSOR);
16596
24.2k
  yyaccept = 16;
16597
24.2k
  yych = *(YYMARKER = ++YYCURSOR);
16598
24.2k
  if (yych <= '/') {
16599
8.27k
    if (yych <= ',') {
16600
3.21k
      if (yych == ')') goto yy115;
16601
1.83k
      goto yy722;
16602
5.05k
    } else {
16603
5.05k
      if (yych == '.') goto yy722;
16604
2.02k
      goto yy297;
16605
5.05k
    }
16606
15.9k
  } else {
16607
15.9k
    if (yych <= '^') {
16608
6.44k
      if (yych <= '@') goto yy722;
16609
4.97k
      if (yych <= 'Z') goto yy826;
16610
867
      goto yy722;
16611
9.52k
    } else {
16612
9.52k
      if (yych <= '_') goto yy297;
16613
6.16k
      if (yych <= '`') goto yy722;
16614
2.61k
      if (yych <= 'z') goto yy829;
16615
1.52k
      goto yy722;
16616
2.61k
    }
16617
15.9k
  }
16618
69.8k
yy726:
16619
69.8k
  YYDEBUG(726, *YYCURSOR);
16620
69.8k
  yyaccept = 2;
16621
69.8k
  yych = *(YYMARKER = ++YYCURSOR);
16622
69.8k
  if (yych <= 'Q') {
16623
16.8k
    if (yych <= '-') {
16624
9.53k
      if (yych == ')') goto yy115;
16625
7.75k
      if (yych <= ',') goto yy20;
16626
1.61k
      goto yy297;
16627
7.75k
    } else {
16628
7.31k
      if (yych == '/') goto yy297;
16629
5.25k
      if (yych <= '@') goto yy20;
16630
1.64k
      goto yy826;
16631
5.25k
    }
16632
53.0k
  } else {
16633
53.0k
    if (yych <= '_') {
16634
12.7k
      if (yych <= 'R') goto yy883;
16635
5.93k
      if (yych <= 'Z') goto yy826;
16636
4.06k
      if (yych <= '^') goto yy20;
16637
2.20k
      goto yy297;
16638
40.2k
    } else {
16639
40.2k
      if (yych <= 'q') {
16640
4.27k
        if (yych <= '`') goto yy20;
16641
2.75k
        goto yy829;
16642
36.0k
      } else {
16643
36.0k
        if (yych <= 'r') goto yy885;
16644
4.19k
        if (yych <= 'z') goto yy829;
16645
2.33k
        goto yy20;
16646
4.19k
      }
16647
40.2k
    }
16648
53.0k
  }
16649
73.3k
yy727:
16650
73.3k
  YYDEBUG(727, *YYCURSOR);
16651
73.3k
  yyaccept = 2;
16652
73.3k
  yych = *(YYMARKER = ++YYCURSOR);
16653
73.3k
  if (yych <= '@') {
16654
8.27k
    if (yych <= ',') {
16655
2.86k
      if (yych == ')') goto yy115;
16656
1.84k
      goto yy20;
16657
5.41k
    } else {
16658
5.41k
      if (yych == '.') goto yy20;
16659
4.63k
      if (yych <= '/') goto yy297;
16660
3.55k
      goto yy20;
16661
4.63k
    }
16662
65.0k
  } else {
16663
65.0k
    if (yych <= '_') {
16664
11.7k
      if (yych <= 'A') goto yy884;
16665
9.73k
      if (yych <= 'Z') goto yy826;
16666
4.37k
      if (yych <= '^') goto yy20;
16667
2.32k
      goto yy297;
16668
53.2k
    } else {
16669
53.2k
      if (yych <= '`') goto yy20;
16670
51.7k
      if (yych <= 'a') goto yy886;
16671
3.31k
      if (yych <= 'z') goto yy829;
16672
1.55k
      goto yy20;
16673
3.31k
    }
16674
65.0k
  }
16675
44.8k
yy728:
16676
44.8k
  YYDEBUG(728, *YYCURSOR);
16677
44.8k
  yych = *++YYCURSOR;
16678
44.8k
  if (yych <= 'S') {
16679
18.9k
    if (yych <= ')') {
16680
4.80k
      if (yych <= '(') goto yy20;
16681
1.45k
      goto yy115;
16682
14.0k
    } else {
16683
14.0k
      if (yych <= '@') goto yy20;
16684
9.27k
      if (yych <= 'R') goto yy826;
16685
6.09k
      goto yy887;
16686
9.27k
    }
16687
25.9k
  } else {
16688
25.9k
    if (yych <= 'r') {
16689
7.20k
      if (yych <= 'Z') goto yy826;
16690
5.22k
      if (yych <= '`') goto yy20;
16691
2.99k
      goto yy826;
16692
18.7k
    } else {
16693
18.7k
      if (yych <= 's') goto yy887;
16694
3.37k
      if (yych <= 'z') goto yy826;
16695
1.37k
      goto yy20;
16696
3.37k
    }
16697
25.9k
  }
16698
70.2k
yy729:
16699
70.2k
  YYDEBUG(729, *YYCURSOR);
16700
70.2k
  yyaccept = 2;
16701
70.2k
  yych = *(YYMARKER = ++YYCURSOR);
16702
70.2k
  if (yych <= 'R') {
16703
20.4k
    if (yych <= '-') {
16704
7.97k
      if (yych == ')') goto yy115;
16705
5.30k
      if (yych <= ',') goto yy20;
16706
2.20k
      goto yy297;
16707
12.4k
    } else {
16708
12.4k
      if (yych == '/') goto yy297;
16709
7.53k
      if (yych <= '@') goto yy20;
16710
2.56k
      goto yy826;
16711
7.53k
    }
16712
49.8k
  } else {
16713
49.8k
    if (yych <= '_') {
16714
6.97k
      if (yych <= 'S') goto yy887;
16715
5.27k
      if (yych <= 'Z') goto yy826;
16716
2.71k
      if (yych <= '^') goto yy20;
16717
1.45k
      goto yy297;
16718
42.8k
    } else {
16719
42.8k
      if (yych <= 'r') {
16720
4.95k
        if (yych <= '`') goto yy20;
16721
3.54k
        goto yy829;
16722
37.9k
      } else {
16723
37.9k
        if (yych <= 's') goto yy888;
16724
5.28k
        if (yych <= 'z') goto yy829;
16725
1.56k
        goto yy20;
16726
5.28k
      }
16727
42.8k
    }
16728
49.8k
  }
16729
78.7k
yy730:
16730
78.7k
  YYDEBUG(730, *YYCURSOR);
16731
78.7k
  yych = *++YYCURSOR;
16732
78.7k
  if (yych <= 'R') {
16733
31.6k
    if (yych <= ')') {
16734
11.1k
      if (yych <= '(') goto yy20;
16735
4.11k
      goto yy115;
16736
20.5k
    } else {
16737
20.5k
      if (yych <= '@') goto yy20;
16738
5.83k
      if (yych <= 'Q') goto yy826;
16739
3.55k
      goto yy889;
16740
5.83k
    }
16741
47.0k
  } else {
16742
47.0k
    if (yych <= 'q') {
16743
7.56k
      if (yych <= 'Z') goto yy826;
16744
4.65k
      if (yych <= '`') goto yy20;
16745
1.72k
      goto yy826;
16746
39.5k
    } else {
16747
39.5k
      if (yych <= 'r') goto yy889;
16748
15.8k
      if (yych <= 'z') goto yy826;
16749
13.7k
      goto yy20;
16750
15.8k
    }
16751
47.0k
  }
16752
111k
yy731:
16753
111k
  YYDEBUG(731, *YYCURSOR);
16754
111k
  yyaccept = 2;
16755
111k
  yych = *(YYMARKER = ++YYCURSOR);
16756
111k
  if (yych <= 'Q') {
16757
39.4k
    if (yych <= '-') {
16758
22.7k
      if (yych == ')') goto yy115;
16759
12.1k
      if (yych <= ',') goto yy20;
16760
3.34k
      goto yy297;
16761
16.6k
    } else {
16762
16.6k
      if (yych == '/') goto yy297;
16763
16.1k
      if (yych <= '@') goto yy20;
16764
4.82k
      goto yy826;
16765
16.1k
    }
16766
72.4k
  } else {
16767
72.4k
    if (yych <= '_') {
16768
9.52k
      if (yych <= 'R') goto yy889;
16769
6.46k
      if (yych <= 'Z') goto yy826;
16770
2.69k
      if (yych <= '^') goto yy20;
16771
1.61k
      goto yy297;
16772
62.9k
    } else {
16773
62.9k
      if (yych <= 'q') {
16774
8.39k
        if (yych <= '`') goto yy20;
16775
5.13k
        goto yy829;
16776
54.5k
      } else {
16777
54.5k
        if (yych <= 'r') goto yy890;
16778
8.72k
        if (yych <= 'z') goto yy829;
16779
6.23k
        goto yy20;
16780
8.72k
      }
16781
62.9k
    }
16782
72.4k
  }
16783
118k
yy732:
16784
118k
  YYDEBUG(732, *YYCURSOR);
16785
118k
  yych = *++YYCURSOR;
16786
118k
  if (yych <= '/') goto yy59;
16787
107k
  if (yych <= '0') goto yy891;
16788
65.8k
  if (yych <= '1') goto yy892;
16789
22.3k
  goto yy59;
16790
311k
yy733:
16791
311k
  YYDEBUG(733, *YYCURSOR);
16792
311k
  yych = *++YYCURSOR;
16793
311k
  if (yych <= '9') {
16794
269k
    if (yych == '-') goto yy893;
16795
256k
    if (yych <= '/') goto yy196;
16796
240k
    goto yy894;
16797
256k
  } else {
16798
42.1k
    if (yych <= 0xC2) {
16799
30.9k
      if (yych <= 0xC1) goto yy196;
16800
3.64k
      goto yy97;
16801
30.9k
    } else {
16802
11.2k
      if (yych == 0xE2) goto yy98;
16803
8.01k
      goto yy196;
16804
11.2k
    }
16805
42.1k
  }
16806
72.4k
yy734:
16807
72.4k
  YYDEBUG(734, *YYCURSOR);
16808
72.4k
  yych = *++YYCURSOR;
16809
72.4k
  if (yych <= '9') {
16810
58.8k
    if (yych <= '-') {
16811
11.6k
      if (yych <= ',') goto yy196;
16812
4.32k
      goto yy893;
16813
47.2k
    } else {
16814
47.2k
      if (yych <= '/') goto yy196;
16815
45.9k
      if (yych <= '0') goto yy894;
16816
16.1k
      goto yy895;
16817
45.9k
    }
16818
58.8k
  } else {
16819
13.6k
    if (yych <= 0xC2) {
16820
7.78k
      if (yych <= 0xC1) goto yy196;
16821
1.28k
      goto yy97;
16822
7.78k
    } else {
16823
5.87k
      if (yych == 0xE2) goto yy98;
16824
3.26k
      goto yy196;
16825
5.87k
    }
16826
13.6k
  }
16827
483k
yy735:
16828
483k
  YYDEBUG(735, *YYCURSOR);
16829
483k
  yych = *++YYCURSOR;
16830
483k
  if (yych <= '9') {
16831
426k
    if (yych == '-') goto yy893;
16832
400k
    if (yych <= '/') goto yy196;
16833
370k
    goto yy895;
16834
400k
  } else {
16835
56.9k
    if (yych <= 0xC2) {
16836
44.2k
      if (yych <= 0xC1) goto yy196;
16837
4.09k
      goto yy97;
16838
44.2k
    } else {
16839
12.7k
      if (yych == 0xE2) goto yy98;
16840
9.55k
      goto yy196;
16841
12.7k
    }
16842
56.9k
  }
16843
55.9k
yy736:
16844
55.9k
  YYDEBUG(736, *YYCURSOR);
16845
55.9k
  yyaccept = 2;
16846
55.9k
  yych = *(YYMARKER = ++YYCURSOR);
16847
55.9k
  if (yych == ':') goto yy896;
16848
24.7k
  goto yy20;
16849
85.3k
yy737:
16850
85.3k
  YYDEBUG(737, *YYCURSOR);
16851
85.3k
  yych = *++YYCURSOR;
16852
85.3k
  if (yych <= '/') goto yy59;
16853
67.4k
  if (yych <= '9') goto yy897;
16854
31.4k
  goto yy59;
16855
31.4k
yy738:
16856
26.4k
  YYDEBUG(738, *YYCURSOR);
16857
26.4k
  yyaccept = 17;
16858
26.4k
  yych = *(YYMARKER = ++YYCURSOR);
16859
26.4k
  if (yych <= '/') goto yy739;
16860
15.9k
  if (yych <= '9') goto yy897;
16861
22.6k
yy739:
16862
22.6k
  YYDEBUG(739, *YYCURSOR);
16863
22.6k
#line 1590 "ext/date/lib/parse_date.re"
16864
22.6k
  {
16865
22.6k
    int length = 0;
16866
22.6k
    DEBUG_OUTPUT("pointed date YY");
16867
22.6k
    TIMELIB_INIT;
16868
22.6k
    TIMELIB_HAVE_DATE();
16869
2.70k
    s->time->d = timelib_get_nr(&ptr, 2);
16870
2.70k
    s->time->m = timelib_get_nr(&ptr, 2);
16871
2.70k
    s->time->y = timelib_get_nr_ex(&ptr, 2, &length);
16872
2.70k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
16873
2.70k
    TIMELIB_DEINIT;
16874
2.70k
    return TIMELIB_DATE_FULL_POINTED;
16875
22.6k
  }
16876
0
#line 16877 "ext/date/lib/parse_date.c"
16877
56.3k
yy740:
16878
56.3k
  YYDEBUG(740, *YYCURSOR);
16879
56.3k
  yyaccept = 15;
16880
56.3k
  yych = *(YYMARKER = ++YYCURSOR);
16881
56.3k
  if (yych <= 'n') {
16882
39.3k
    if (yych <= '/') goto yy567;
16883
33.6k
    if (yych <= '9') goto yy897;
16884
19.2k
    if (yych <= 'm') goto yy567;
16885
19.2k
  } else {
16886
17.0k
    if (yych <= 'r') {
16887
5.07k
      if (yych <= 'q') goto yy567;
16888
11.9k
    } else {
16889
11.9k
      if (yych <= 's') goto yy742;
16890
8.65k
      if (yych <= 't') goto yy743;
16891
5.76k
      goto yy567;
16892
8.65k
    }
16893
17.0k
  }
16894
98.9k
yy741:
16895
98.9k
  YYDEBUG(741, *YYCURSOR);
16896
98.9k
  yych = *++YYCURSOR;
16897
98.9k
  if (yych == 'd') goto yy898;
16898
90.1k
  goto yy59;
16899
90.1k
yy742:
16900
41.3k
  YYDEBUG(742, *YYCURSOR);
16901
41.3k
  yych = *++YYCURSOR;
16902
41.3k
  if (yych == 't') goto yy898;
16903
29.1k
  goto yy59;
16904
35.2k
yy743:
16905
35.2k
  YYDEBUG(743, *YYCURSOR);
16906
35.2k
  yych = *++YYCURSOR;
16907
35.2k
  if (yych == 'h') goto yy898;
16908
28.2k
  goto yy59;
16909
95.4k
yy744:
16910
95.4k
  YYDEBUG(744, *YYCURSOR);
16911
95.4k
  yych = *++YYCURSOR;
16912
95.4k
  if (yych <= '/') goto yy59;
16913
82.7k
  if (yych <= '9') goto yy899;
16914
13.0k
  goto yy59;
16915
31.4k
yy745:
16916
31.4k
  YYDEBUG(745, *YYCURSOR);
16917
31.4k
  yyaccept = 4;
16918
31.4k
  yych = *(YYMARKER = ++YYCURSOR);
16919
31.4k
  if (yych == '.') goto yy744;
16920
30.1k
  if (yych <= '/') goto yy177;
16921
23.0k
  if (yych <= '9') goto yy897;
16922
17.7k
  goto yy177;
16923
36.7k
yy746:
16924
36.7k
  YYDEBUG(746, *YYCURSOR);
16925
36.7k
  yych = *++YYCURSOR;
16926
36.7k
  if (yych <= '/') goto yy224;
16927
30.5k
  if (yych <= '9') goto yy901;
16928
12.8k
  goto yy224;
16929
300k
yy747:
16930
300k
  YYDEBUG(747, *YYCURSOR);
16931
300k
  yych = *++YYCURSOR;
16932
300k
  if (yych <= '/') goto yy59;
16933
286k
  if (yych <= '9') goto yy902;
16934
19.4k
  goto yy59;
16935
118k
yy748:
16936
118k
  YYDEBUG(748, *YYCURSOR);
16937
118k
  yych = *++YYCURSOR;
16938
118k
  if (yych <= '/') goto yy59;
16939
109k
  if (yych <= '2') goto yy903;
16940
59.1k
  if (yych <= '3') goto yy904;
16941
18.0k
  if (yych <= '9') goto yy569;
16942
9.52k
  goto yy59;
16943
105k
yy749:
16944
105k
  YYDEBUG(749, *YYCURSOR);
16945
105k
  ++YYCURSOR;
16946
105k
  if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
16947
105k
  yych = *YYCURSOR;
16948
312k
yy750:
16949
312k
  YYDEBUG(750, *YYCURSOR);
16950
312k
  switch (yych) {
16951
11.6k
  case '\t':
16952
35.9k
  case ' ':
16953
83.3k
  case '-':
16954
96.0k
  case '.': goto yy749;
16955
18.2k
  case 'A':
16956
21.8k
  case 'a': goto yy596;
16957
4.05k
  case 'D':
16958
6.41k
  case 'd': goto yy769;
16959
2.04k
  case 'F':
16960
9.86k
  case 'f': goto yy770;
16961
6.10k
  case 'I': goto yy599;
16962
2.05k
  case 'J':
16963
5.55k
  case 'j': goto yy601;
16964
6.75k
  case 'M':
16965
9.24k
  case 'm': goto yy771;
16966
5.51k
  case 'N':
16967
7.70k
  case 'n': goto yy603;
16968
3.99k
  case 'O':
16969
5.53k
  case 'o': goto yy604;
16970
4.19k
  case 'S':
16971
10.2k
  case 's': goto yy772;
16972
3.61k
  case 'V': goto yy606;
16973
967
  case 'X': goto yy608;
16974
129k
  default:  goto yy59;
16975
312k
  }
16976
263k
yy751:
16977
263k
  YYDEBUG(751, *YYCURSOR);
16978
263k
  yyaccept = 18;
16979
263k
  yych = *(YYMARKER = ++YYCURSOR);
16980
263k
  if (yych <= '/') {
16981
39.3k
    if (yych == '-') goto yy905;
16982
223k
  } else {
16983
223k
    if (yych <= '0') goto yy906;
16984
82.8k
    if (yych <= '9') goto yy907;
16985
82.8k
  }
16986
195k
yy752:
16987
195k
  YYDEBUG(752, *YYCURSOR);
16988
195k
#line 1535 "ext/date/lib/parse_date.re"
16989
195k
  {
16990
195k
    int length = 0;
16991
195k
    DEBUG_OUTPUT("gnudateshorter");
16992
195k
    TIMELIB_INIT;
16993
195k
    TIMELIB_HAVE_DATE();
16994
16.9k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
16995
16.9k
    s->time->m = timelib_get_nr(&ptr, 2);
16996
16.9k
    s->time->d = 1;
16997
16.9k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
16998
16.9k
    TIMELIB_DEINIT;
16999
16.9k
    return TIMELIB_ISO_DATE;
17000
195k
  }
17001
0
#line 17002 "ext/date/lib/parse_date.c"
17002
143k
yy753:
17003
143k
  YYDEBUG(753, *YYCURSOR);
17004
143k
  yyaccept = 18;
17005
143k
  yych = *(YYMARKER = ++YYCURSOR);
17006
143k
  if (yych <= '/') {
17007
18.7k
    if (yych == '-') goto yy905;
17008
6.80k
    goto yy752;
17009
125k
  } else {
17010
125k
    if (yych <= '2') goto yy907;
17011
23.3k
    if (yych <= '9') goto yy908;
17012
13.8k
    goto yy752;
17013
23.3k
  }
17014
49.1k
yy754:
17015
49.1k
  YYDEBUG(754, *YYCURSOR);
17016
49.1k
  yyaccept = 18;
17017
49.1k
  yych = *(YYMARKER = ++YYCURSOR);
17018
49.1k
  if (yych == '-') goto yy905;
17019
18.9k
  if (yych <= '/') goto yy752;
17020
14.9k
  if (yych <= '9') goto yy908;
17021
6.95k
  goto yy752;
17022
33.5k
yy755:
17023
33.5k
  YYDEBUG(755, *YYCURSOR);
17024
33.5k
  yyaccept = 18;
17025
33.5k
  yych = *(YYMARKER = ++YYCURSOR);
17026
33.5k
  if (yych <= '/') {
17027
14.6k
    if (yych == '-') goto yy905;
17028
3.32k
    goto yy752;
17029
18.9k
  } else {
17030
18.9k
    if (yych <= '5') goto yy908;
17031
12.6k
    if (yych <= '6') goto yy909;
17032
5.54k
    goto yy752;
17033
12.6k
  }
17034
70.1k
yy756:
17035
70.1k
  YYDEBUG(756, *YYCURSOR);
17036
70.1k
  yyaccept = 18;
17037
70.1k
  yych = *(YYMARKER = ++YYCURSOR);
17038
70.1k
  if (yych == '-') goto yy905;
17039
40.7k
  goto yy752;
17040
84.5k
yy757:
17041
84.5k
  YYDEBUG(757, *YYCURSOR);
17042
84.5k
  yych = *++YYCURSOR;
17043
84.5k
  if (yych <= 'U') {
17044
27.7k
    if (yych == 'P') goto yy910;
17045
24.0k
    if (yych <= 'T') goto yy59;
17046
11.9k
    goto yy911;
17047
56.8k
  } else {
17048
56.8k
    if (yych <= 'p') {
17049
31.5k
      if (yych <= 'o') goto yy59;
17050
21.3k
      goto yy910;
17051
31.5k
    } else {
17052
25.2k
      if (yych == 'u') goto yy911;
17053
5.23k
      goto yy59;
17054
25.2k
    }
17055
56.8k
  }
17056
20.0k
yy758:
17057
20.0k
  YYDEBUG(758, *YYCURSOR);
17058
20.0k
  yych = *++YYCURSOR;
17059
20.0k
  if (yych == 'E') goto yy912;
17060
11.3k
  if (yych == 'e') goto yy912;
17061
3.97k
  goto yy59;
17062
40.0k
yy759:
17063
40.0k
  YYDEBUG(759, *YYCURSOR);
17064
40.0k
  yych = *++YYCURSOR;
17065
40.0k
  if (yych == 'E') goto yy913;
17066
27.9k
  if (yych == 'e') goto yy913;
17067
7.52k
  goto yy59;
17068
56.7k
yy760:
17069
56.7k
  YYDEBUG(760, *YYCURSOR);
17070
56.7k
  yych = *++YYCURSOR;
17071
56.7k
  if (yych <= 'U') {
17072
16.0k
    if (yych == 'A') goto yy914;
17073
13.0k
    if (yych <= 'T') goto yy59;
17074
8.91k
    goto yy915;
17075
40.7k
  } else {
17076
40.7k
    if (yych <= 'a') {
17077
11.6k
      if (yych <= '`') goto yy59;
17078
10.0k
      goto yy914;
17079
29.0k
    } else {
17080
29.0k
      if (yych == 'u') goto yy915;
17081
6.27k
      goto yy59;
17082
29.0k
    }
17083
40.7k
  }
17084
41.5k
yy761:
17085
41.5k
  YYDEBUG(761, *YYCURSOR);
17086
41.5k
  yych = *++YYCURSOR;
17087
41.5k
  if (yych == 'A') goto yy916;
17088
25.1k
  if (yych == 'a') goto yy916;
17089
11.0k
  goto yy59;
17090
25.1k
yy762:
17091
25.1k
  YYDEBUG(762, *YYCURSOR);
17092
25.1k
  yych = *++YYCURSOR;
17093
25.1k
  if (yych == 'O') goto yy917;
17094
20.4k
  if (yych == 'o') goto yy917;
17095
7.77k
  goto yy59;
17096
22.3k
yy763:
17097
22.3k
  YYDEBUG(763, *YYCURSOR);
17098
22.3k
  yych = *++YYCURSOR;
17099
22.3k
  if (yych == 'C') goto yy918;
17100
13.4k
  if (yych == 'c') goto yy918;
17101
7.97k
  goto yy59;
17102
21.9k
yy764:
17103
21.9k
  YYDEBUG(764, *YYCURSOR);
17104
21.9k
  yych = *++YYCURSOR;
17105
21.9k
  if (yych == 'E') goto yy919;
17106
20.0k
  if (yych == 'e') goto yy919;
17107
6.47k
  goto yy59;
17108
23.2k
yy765:
17109
23.2k
  YYDEBUG(765, *YYCURSOR);
17110
23.2k
  yych = *++YYCURSOR;
17111
23.2k
  if (yych <= '/') goto yy59;
17112
21.9k
  if (yych <= '0') goto yy797;
17113
19.8k
  if (yych <= '4') goto yy798;
17114
6.70k
  if (yych <= '5') goto yy799;
17115
1.88k
  goto yy59;
17116
39.2k
yy766:
17117
39.2k
  YYDEBUG(766, *YYCURSOR);
17118
39.2k
  yych = *++YYCURSOR;
17119
39.2k
  if (yych <= '/') goto yy59;
17120
31.9k
  if (yych <= '0') goto yy920;
17121
15.2k
  if (yych <= '9') goto yy908;
17122
5.49k
  goto yy59;
17123
22.8k
yy767:
17124
22.8k
  YYDEBUG(767, *YYCURSOR);
17125
22.8k
  yych = *++YYCURSOR;
17126
22.8k
  if (yych <= '/') goto yy59;
17127
17.1k
  if (yych <= '9') goto yy908;
17128
9.09k
  goto yy59;
17129
9.33k
yy768:
17130
9.33k
  YYDEBUG(768, *YYCURSOR);
17131
9.33k
  yych = *++YYCURSOR;
17132
9.33k
  if (yych <= '/') goto yy59;
17133
6.72k
  if (yych <= '5') goto yy908;
17134
2.81k
  if (yych <= '6') goto yy909;
17135
1.31k
  goto yy59;
17136
6.41k
yy769:
17137
6.41k
  YYDEBUG(769, *YYCURSOR);
17138
6.41k
  yych = *++YYCURSOR;
17139
6.41k
  if (yych == 'E') goto yy787;
17140
4.53k
  if (yych == 'e') goto yy787;
17141
2.87k
  goto yy59;
17142
9.86k
yy770:
17143
9.86k
  YYDEBUG(770, *YYCURSOR);
17144
9.86k
  yych = *++YYCURSOR;
17145
9.86k
  if (yych == 'E') goto yy788;
17146
5.81k
  if (yych == 'e') goto yy788;
17147
3.75k
  goto yy59;
17148
9.24k
yy771:
17149
9.24k
  YYDEBUG(771, *YYCURSOR);
17150
9.24k
  yych = *++YYCURSOR;
17151
9.24k
  if (yych == 'A') goto yy793;
17152
7.65k
  if (yych == 'a') goto yy793;
17153
4.06k
  goto yy59;
17154
10.2k
yy772:
17155
10.2k
  YYDEBUG(772, *YYCURSOR);
17156
10.2k
  yych = *++YYCURSOR;
17157
10.2k
  if (yych == 'E') goto yy921;
17158
7.94k
  if (yych == 'e') goto yy921;
17159
3.76k
  goto yy59;
17160
58.7k
yy773:
17161
58.7k
  YYDEBUG(773, *YYCURSOR);
17162
58.7k
  yych = *++YYCURSOR;
17163
58.7k
  if (yych <= '.') goto yy59;
17164
55.9k
  if (yych <= '/') goto yy922;
17165
34.1k
  if (yych <= '9') goto yy923;
17166
4.04k
  goto yy59;
17167
89.3k
yy774:
17168
89.3k
  YYDEBUG(774, *YYCURSOR);
17169
89.3k
  yych = *++YYCURSOR;
17170
89.3k
  if (yych <= '.') goto yy59;
17171
86.7k
  if (yych <= '/') goto yy922;
17172
57.2k
  if (yych <= '2') goto yy923;
17173
9.40k
  goto yy59;
17174
30.6k
yy775:
17175
30.6k
  YYDEBUG(775, *YYCURSOR);
17176
30.6k
  yych = *++YYCURSOR;
17177
30.6k
  if (yych == '/') goto yy922;
17178
12.2k
  goto yy59;
17179
1.63M
yy776:
17180
1.63M
  YYDEBUG(776, *YYCURSOR);
17181
1.63M
  yyaccept = 19;
17182
1.63M
  yych = *(YYMARKER = ++YYCURSOR);
17183
1.63M
  if (yych <= 'W') {
17184
1.56M
    if (yych <= 'C') {
17185
1.52M
      if (yych <= '/') {
17186
90.6k
        if (yych <= '\t') {
17187
36.6k
          if (yych >= '\t') goto yy196;
17188
54.0k
        } else {
17189
54.0k
          if (yych == ' ') goto yy196;
17190
54.0k
        }
17191
1.43M
      } else {
17192
1.43M
        if (yych <= '2') {
17193
1.32M
          if (yych <= '0') goto yy924;
17194
69.7k
          goto yy925;
17195
1.32M
        } else {
17196
106k
          if (yych <= '3') goto yy927;
17197
78.9k
          if (yych <= '9') goto yy928;
17198
78.9k
        }
17199
1.43M
      }
17200
1.52M
    } else {
17201
39.6k
      if (yych <= 'H') {
17202
18.9k
        if (yych <= 'E') {
17203
9.77k
          if (yych <= 'D') goto yy196;
17204
9.77k
        } else {
17205
9.16k
          if (yych != 'G') goto yy196;
17206
9.16k
        }
17207
20.7k
      } else {
17208
20.7k
        if (yych <= 'R') {
17209
10.0k
          if (yych == 'M') goto yy196;
17210
10.6k
        } else {
17211
10.6k
          if (yych != 'V') goto yy196;
17212
10.6k
        }
17213
20.7k
      }
17214
39.6k
    }
17215
1.56M
  } else {
17216
71.3k
    if (yych <= 'm') {
17217
19.7k
      if (yych <= 'e') {
17218
14.4k
        if (yych <= 'Y') {
17219
3.01k
          if (yych >= 'Y') goto yy196;
17220
11.4k
        } else {
17221
11.4k
          if (yych == 'd') goto yy196;
17222
11.4k
        }
17223
14.4k
      } else {
17224
5.24k
        if (yych <= 'g') {
17225
1.76k
          if (yych <= 'f') goto yy196;
17226
3.48k
        } else {
17227
3.48k
          if (yych <= 'h') goto yy196;
17228
2.24k
          if (yych >= 'm') goto yy196;
17229
2.24k
        }
17230
5.24k
      }
17231
51.6k
    } else {
17232
51.6k
      if (yych <= 'x') {
17233
17.5k
        if (yych <= 'u') {
17234
14.0k
          if (yych >= 's') goto yy196;
17235
14.0k
        } else {
17236
3.54k
          if (yych == 'w') goto yy196;
17237
3.54k
        }
17238
34.1k
      } else {
17239
34.1k
        if (yych <= 0xC2) {
17240
15.3k
          if (yych <= 'y') goto yy196;
17241
13.1k
          if (yych >= 0xC2) goto yy97;
17242
18.7k
        } else {
17243
18.7k
          if (yych == 0xE2) goto yy98;
17244
18.7k
        }
17245
34.1k
      }
17246
51.6k
    }
17247
71.3k
  }
17248
1.19M
yy777:
17249
1.19M
  YYDEBUG(777, *YYCURSOR);
17250
1.19M
#line 1461 "ext/date/lib/parse_date.re"
17251
1.19M
  {
17252
1.19M
    int tz_not_found;
17253
1.19M
    DEBUG_OUTPUT("iso8601nocolon");
17254
1.19M
    TIMELIB_INIT;
17255
1.19M
    TIMELIB_HAVE_TIME();
17256
154k
    s->time->h = timelib_get_nr(&ptr, 2);
17257
154k
    s->time->i = timelib_get_nr(&ptr, 2);
17258
154k
    s->time->s = timelib_get_nr(&ptr, 2);
17259
17260
154k
    if (*ptr != '\0') {
17261
0
      s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
17262
0
      if (tz_not_found) {
17263
0
        add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
17264
0
      }
17265
0
    }
17266
154k
    TIMELIB_DEINIT;
17267
154k
    return TIMELIB_ISO_NOCOLON;
17268
1.19M
  }
17269
0
#line 17270 "ext/date/lib/parse_date.c"
17270
727k
yy778:
17271
727k
  YYDEBUG(778, *YYCURSOR);
17272
727k
  yyaccept = 19;
17273
727k
  yych = *(YYMARKER = ++YYCURSOR);
17274
727k
  if (yych <= 'W') {
17275
654k
    if (yych <= 'D') {
17276
633k
      if (yych <= '/') {
17277
73.3k
        if (yych <= '\t') {
17278
19.8k
          if (yych <= 0x08) goto yy777;
17279
2.74k
          goto yy196;
17280
53.5k
        } else {
17281
53.5k
          if (yych == ' ') goto yy196;
17282
43.2k
          goto yy777;
17283
53.5k
        }
17284
559k
      } else {
17285
559k
        if (yych <= '3') {
17286
420k
          if (yych <= '2') goto yy925;
17287
38.5k
          goto yy927;
17288
420k
        } else {
17289
139k
          if (yych <= '9') goto yy928;
17290
35.8k
          if (yych <= 'C') goto yy777;
17291
4.49k
          goto yy196;
17292
35.8k
        }
17293
559k
      }
17294
633k
    } else {
17295
21.4k
      if (yych <= 'L') {
17296
7.48k
        if (yych <= 'F') {
17297
3.34k
          if (yych <= 'E') goto yy777;
17298
1.48k
          goto yy196;
17299
4.14k
        } else {
17300
4.14k
          if (yych == 'H') goto yy196;
17301
2.99k
          goto yy777;
17302
4.14k
        }
17303
14.0k
      } else {
17304
14.0k
        if (yych <= 'R') {
17305
8.24k
          if (yych <= 'M') goto yy196;
17306
3.24k
          goto yy777;
17307
8.24k
        } else {
17308
5.76k
          if (yych == 'V') goto yy777;
17309
4.97k
          goto yy196;
17310
5.76k
        }
17311
14.0k
      }
17312
21.4k
    }
17313
654k
  } else {
17314
72.6k
    if (yych <= 'm') {
17315
26.5k
      if (yych <= 'e') {
17316
14.0k
        if (yych <= 'Y') {
17317
7.06k
          if (yych <= 'X') goto yy777;
17318
3.94k
          goto yy196;
17319
7.06k
        } else {
17320
6.93k
          if (yych == 'd') goto yy196;
17321
5.11k
          goto yy777;
17322
6.93k
        }
17323
14.0k
      } else {
17324
12.5k
        if (yych <= 'g') {
17325
4.16k
          if (yych <= 'f') goto yy196;
17326
2.94k
          goto yy777;
17327
8.34k
        } else {
17328
8.34k
          if (yych <= 'h') goto yy196;
17329
6.77k
          if (yych <= 'l') goto yy777;
17330
1.12k
          goto yy196;
17331
6.77k
        }
17332
12.5k
      }
17333
46.1k
    } else {
17334
46.1k
      if (yych <= 'x') {
17335
18.6k
        if (yych <= 'u') {
17336
12.3k
          if (yych <= 'r') goto yy777;
17337
7.54k
          goto yy196;
17338
12.3k
        } else {
17339
6.33k
          if (yych == 'w') goto yy196;
17340
4.55k
          goto yy777;
17341
6.33k
        }
17342
27.4k
      } else {
17343
27.4k
        if (yych <= 0xC2) {
17344
16.4k
          if (yych <= 'y') goto yy196;
17345
14.1k
          if (yych <= 0xC1) goto yy777;
17346
6.28k
          goto yy97;
17347
14.1k
        } else {
17348
11.0k
          if (yych == 0xE2) goto yy98;
17349
8.83k
          goto yy777;
17350
11.0k
        }
17351
27.4k
      }
17352
46.1k
    }
17353
72.6k
  }
17354
467k
yy779:
17355
467k
  YYDEBUG(779, *YYCURSOR);
17356
467k
  yyaccept = 19;
17357
467k
  yych = *(YYMARKER = ++YYCURSOR);
17358
467k
  if (yych <= 'X') {
17359
402k
    if (yych <= 'E') {
17360
360k
      if (yych <= ' ') {
17361
30.9k
        if (yych == '\t') goto yy196;
17362
26.7k
        if (yych <= 0x1F) goto yy777;
17363
7.87k
        goto yy196;
17364
329k
      } else {
17365
329k
        if (yych <= '9') {
17366
315k
          if (yych <= '/') goto yy777;
17367
297k
          goto yy928;
17368
315k
        } else {
17369
13.7k
          if (yych == 'D') goto yy196;
17370
13.0k
          goto yy777;
17371
13.7k
        }
17372
329k
      }
17373
360k
    } else {
17374
41.4k
      if (yych <= 'M') {
17375
21.8k
        if (yych <= 'G') {
17376
9.20k
          if (yych <= 'F') goto yy196;
17377
2.36k
          goto yy777;
17378
12.6k
        } else {
17379
12.6k
          if (yych <= 'H') goto yy196;
17380
8.47k
          if (yych <= 'L') goto yy777;
17381
5.48k
          goto yy196;
17382
8.47k
        }
17383
21.8k
      } else {
17384
19.6k
        if (yych <= 'U') {
17385
14.7k
          if (yych <= 'R') goto yy777;
17386
9.63k
          goto yy196;
17387
14.7k
        } else {
17388
4.84k
          if (yych == 'W') goto yy196;
17389
2.89k
          goto yy777;
17390
4.84k
        }
17391
19.6k
      }
17392
41.4k
    }
17393
402k
  } else {
17394
65.2k
    if (yych <= 'r') {
17395
31.5k
      if (yych <= 'f') {
17396
19.6k
        if (yych <= 'c') {
17397
13.0k
          if (yych <= 'Y') goto yy196;
17398
6.12k
          goto yy777;
17399
13.0k
        } else {
17400
6.61k
          if (yych == 'e') goto yy777;
17401
1.25k
          goto yy196;
17402
6.61k
        }
17403
19.6k
      } else {
17404
11.9k
        if (yych <= 'h') {
17405
5.41k
          if (yych <= 'g') goto yy777;
17406
3.18k
          goto yy196;
17407
6.49k
        } else {
17408
6.49k
          if (yych == 'm') goto yy196;
17409
4.94k
          goto yy777;
17410
6.49k
        }
17411
11.9k
      }
17412
33.6k
    } else {
17413
33.6k
      if (yych <= 'y') {
17414
11.5k
        if (yych <= 'v') {
17415
7.25k
          if (yych <= 'u') goto yy196;
17416
2.48k
          goto yy777;
17417
7.25k
        } else {
17418
4.26k
          if (yych == 'x') goto yy777;
17419
2.42k
          goto yy196;
17420
4.26k
        }
17421
22.1k
      } else {
17422
22.1k
        if (yych <= 0xC2) {
17423
11.1k
          if (yych <= 0xC1) goto yy777;
17424
1.78k
          goto yy97;
17425
11.1k
        } else {
17426
10.9k
          if (yych == 0xE2) goto yy98;
17427
6.79k
          goto yy777;
17428
10.9k
        }
17429
22.1k
      }
17430
33.6k
    }
17431
65.2k
  }
17432
83.5k
yy780:
17433
83.5k
  YYDEBUG(780, *YYCURSOR);
17434
83.5k
  yyaccept = 19;
17435
83.5k
  yych = *(YYMARKER = ++YYCURSOR);
17436
83.5k
  if (yych <= 'X') {
17437
41.4k
    if (yych <= 'E') {
17438
24.3k
      if (yych <= '/') {
17439
8.94k
        if (yych <= '\t') {
17440
3.20k
          if (yych <= 0x08) goto yy777;
17441
946
          goto yy196;
17442
5.74k
        } else {
17443
5.74k
          if (yych == ' ') goto yy196;
17444
2.97k
          goto yy777;
17445
5.74k
        }
17446
15.4k
      } else {
17447
15.4k
        if (yych <= '9') {
17448
9.60k
          if (yych <= '6') goto yy928;
17449
2.59k
          goto yy929;
17450
9.60k
        } else {
17451
5.80k
          if (yych == 'D') goto yy196;
17452
3.09k
          goto yy777;
17453
5.80k
        }
17454
15.4k
      }
17455
24.3k
    } else {
17456
17.1k
      if (yych <= 'M') {
17457
11.1k
        if (yych <= 'G') {
17458
4.87k
          if (yych <= 'F') goto yy196;
17459
2.13k
          goto yy777;
17460
6.28k
        } else {
17461
6.28k
          if (yych <= 'H') goto yy196;
17462
3.60k
          if (yych <= 'L') goto yy777;
17463
1.45k
          goto yy196;
17464
3.60k
        }
17465
11.1k
      } else {
17466
5.95k
        if (yych <= 'U') {
17467
3.38k
          if (yych <= 'R') goto yy777;
17468
2.38k
          goto yy196;
17469
3.38k
        } else {
17470
2.57k
          if (yych == 'W') goto yy196;
17471
1.81k
          goto yy777;
17472
2.57k
        }
17473
5.95k
      }
17474
17.1k
    }
17475
42.0k
  } else {
17476
42.0k
    if (yych <= 'r') {
17477
14.0k
      if (yych <= 'f') {
17478
6.33k
        if (yych <= 'c') {
17479
3.45k
          if (yych <= 'Y') goto yy196;
17480
2.04k
          goto yy777;
17481
3.45k
        } else {
17482
2.87k
          if (yych == 'e') goto yy777;
17483
1.41k
          goto yy196;
17484
2.87k
        }
17485
7.74k
      } else {
17486
7.74k
        if (yych <= 'h') {
17487
3.75k
          if (yych <= 'g') goto yy777;
17488
2.21k
          goto yy196;
17489
3.99k
        } else {
17490
3.99k
          if (yych == 'm') goto yy196;
17491
2.74k
          goto yy777;
17492
3.99k
        }
17493
7.74k
      }
17494
28.0k
    } else {
17495
28.0k
      if (yych <= 'y') {
17496
19.6k
        if (yych <= 'v') {
17497
6.25k
          if (yych <= 'u') goto yy196;
17498
2.50k
          goto yy777;
17499
13.3k
        } else {
17500
13.3k
          if (yych == 'x') goto yy777;
17501
12.1k
          goto yy196;
17502
13.3k
        }
17503
19.6k
      } else {
17504
8.39k
        if (yych <= 0xC2) {
17505
4.09k
          if (yych <= 0xC1) goto yy777;
17506
1.61k
          goto yy97;
17507
4.30k
        } else {
17508
4.30k
          if (yych == 0xE2) goto yy98;
17509
3.28k
          goto yy777;
17510
4.30k
        }
17511
8.39k
      }
17512
28.0k
    }
17513
42.0k
  }
17514
402k
yy781:
17515
402k
  YYDEBUG(781, *YYCURSOR);
17516
402k
  yyaccept = 19;
17517
402k
  yych = *(YYMARKER = ++YYCURSOR);
17518
402k
  if (yych <= 'X') {
17519
345k
    if (yych <= 'E') {
17520
323k
      if (yych <= ' ') {
17521
21.4k
        if (yych == '\t') goto yy196;
17522
19.7k
        if (yych <= 0x1F) goto yy777;
17523
7.27k
        goto yy196;
17524
301k
      } else {
17525
301k
        if (yych <= '9') {
17526
289k
          if (yych <= '/') goto yy777;
17527
274k
          goto yy929;
17528
289k
        } else {
17529
11.9k
          if (yych == 'D') goto yy196;
17530
9.58k
          goto yy777;
17531
11.9k
        }
17532
301k
      }
17533
323k
    } else {
17534
22.5k
      if (yych <= 'M') {
17535
9.94k
        if (yych <= 'G') {
17536
5.29k
          if (yych <= 'F') goto yy196;
17537
3.01k
          goto yy777;
17538
5.29k
        } else {
17539
4.65k
          if (yych <= 'H') goto yy196;
17540
3.12k
          if (yych <= 'L') goto yy777;
17541
2.16k
          goto yy196;
17542
3.12k
        }
17543
12.5k
      } else {
17544
12.5k
        if (yych <= 'U') {
17545
6.52k
          if (yych <= 'R') goto yy777;
17546
2.02k
          goto yy196;
17547
6.52k
        } else {
17548
6.07k
          if (yych == 'W') goto yy196;
17549
3.92k
          goto yy777;
17550
6.07k
        }
17551
12.5k
      }
17552
22.5k
    }
17553
345k
  } else {
17554
56.5k
    if (yych <= 'r') {
17555
28.8k
      if (yych <= 'f') {
17556
16.0k
        if (yych <= 'c') {
17557
11.5k
          if (yych <= 'Y') goto yy196;
17558
3.59k
          goto yy777;
17559
11.5k
        } else {
17560
4.47k
          if (yych == 'e') goto yy777;
17561
2.04k
          goto yy196;
17562
4.47k
        }
17563
16.0k
      } else {
17564
12.7k
        if (yych <= 'h') {
17565
5.19k
          if (yych <= 'g') goto yy777;
17566
1.57k
          goto yy196;
17567
7.57k
        } else {
17568
7.57k
          if (yych == 'm') goto yy196;
17569
4.02k
          goto yy777;
17570
7.57k
        }
17571
12.7k
      }
17572
28.8k
    } else {
17573
27.7k
      if (yych <= 'y') {
17574
11.2k
        if (yych <= 'v') {
17575
6.30k
          if (yych <= 'u') goto yy196;
17576
2.04k
          goto yy777;
17577
6.30k
        } else {
17578
4.98k
          if (yych == 'x') goto yy777;
17579
3.69k
          goto yy196;
17580
4.98k
        }
17581
16.4k
      } else {
17582
16.4k
        if (yych <= 0xC2) {
17583
8.06k
          if (yych <= 0xC1) goto yy777;
17584
2.50k
          goto yy97;
17585
8.39k
        } else {
17586
8.39k
          if (yych == 0xE2) goto yy98;
17587
6.73k
          goto yy777;
17588
8.39k
        }
17589
16.4k
      }
17590
27.7k
    }
17591
56.5k
  }
17592
3.08M
yy782:
17593
3.08M
  YYDEBUG(782, *YYCURSOR);
17594
3.08M
  yych = *++YYCURSOR;
17595
3.08M
  if (yych <= 0xC1) {
17596
3.00M
    if (yych <= '/') goto yy196;
17597
2.75M
    if (yych <= '9') goto yy929;
17598
259k
    goto yy196;
17599
2.75M
  } else {
17600
81.0k
    if (yych <= 0xC2) goto yy97;
17601
58.5k
    if (yych == 0xE2) goto yy98;
17602
40.1k
    goto yy196;
17603
58.5k
  }
17604
40.4k
yy783:
17605
40.4k
  YYDEBUG(783, *YYCURSOR);
17606
40.4k
  yych = *++YYCURSOR;
17607
40.4k
  if (yych <= '/') goto yy59;
17608
31.3k
  if (yych <= '9') goto yy930;
17609
8.27k
  goto yy59;
17610
168k
yy784:
17611
168k
  YYDEBUG(784, *YYCURSOR);
17612
168k
  yych = *++YYCURSOR;
17613
168k
  if (yych <= '/') goto yy59;
17614
155k
  if (yych <= '2') goto yy930;
17615
42.7k
  goto yy59;
17616
42.7k
yy785:
17617
13.7k
  YYDEBUG(785, *YYCURSOR);
17618
13.7k
  yych = *++YYCURSOR;
17619
13.7k
  if (yych == 'R') goto yy931;
17620
11.6k
  if (yych == 'r') goto yy931;
17621
5.78k
  goto yy59;
17622
28.5k
yy786:
17623
28.5k
  YYDEBUG(786, *YYCURSOR);
17624
28.5k
  yych = *++YYCURSOR;
17625
28.5k
  if (yych == 'G') goto yy932;
17626
24.0k
  if (yych == 'g') goto yy932;
17627
11.3k
  goto yy59;
17628
12.2k
yy787:
17629
12.2k
  YYDEBUG(787, *YYCURSOR);
17630
12.2k
  yych = *++YYCURSOR;
17631
12.2k
  if (yych == 'C') goto yy933;
17632
11.2k
  if (yych == 'c') goto yy933;
17633
7.06k
  goto yy59;
17634
22.7k
yy788:
17635
22.7k
  YYDEBUG(788, *YYCURSOR);
17636
22.7k
  yych = *++YYCURSOR;
17637
22.7k
  if (yych == 'B') goto yy934;
17638
21.3k
  if (yych == 'b') goto yy934;
17639
7.47k
  goto yy59;
17640
12.4k
yy789:
17641
12.4k
  YYDEBUG(789, *YYCURSOR);
17642
12.4k
  yych = *++YYCURSOR;
17643
12.4k
  if (yych != 'I') goto yy600;
17644
46.6k
yy790:
17645
46.6k
  YYDEBUG(790, *YYCURSOR);
17646
46.6k
  ++YYCURSOR;
17647
46.6k
  goto yy600;
17648
18.7k
yy791:
17649
18.7k
  YYDEBUG(791, *YYCURSOR);
17650
18.7k
  yych = *++YYCURSOR;
17651
18.7k
  if (yych == 'N') goto yy935;
17652
11.7k
  if (yych == 'n') goto yy935;
17653
5.06k
  goto yy59;
17654
30.7k
yy792:
17655
30.7k
  YYDEBUG(792, *YYCURSOR);
17656
30.7k
  yych = *++YYCURSOR;
17657
30.7k
  if (yych <= 'N') {
17658
12.3k
    if (yych == 'L') goto yy936;
17659
10.7k
    if (yych <= 'M') goto yy59;
17660
4.11k
    goto yy937;
17661
18.4k
  } else {
17662
18.4k
    if (yych <= 'l') {
17663
7.45k
      if (yych <= 'k') goto yy59;
17664
3.10k
      goto yy936;
17665
10.9k
    } else {
17666
10.9k
      if (yych == 'n') goto yy937;
17667
4.97k
      goto yy59;
17668
10.9k
    }
17669
18.4k
  }
17670
26.9k
yy793:
17671
26.9k
  YYDEBUG(793, *YYCURSOR);
17672
26.9k
  yych = *++YYCURSOR;
17673
26.9k
  if (yych <= 'Y') {
17674
12.3k
    if (yych == 'R') goto yy938;
17675
8.18k
    if (yych <= 'X') goto yy59;
17676
1.42k
    goto yy790;
17677
14.6k
  } else {
17678
14.6k
    if (yych <= 'r') {
17679
9.84k
      if (yych <= 'q') goto yy59;
17680
6.55k
      goto yy938;
17681
9.84k
    } else {
17682
4.81k
      if (yych == 'y') goto yy790;
17683
2.90k
      goto yy59;
17684
4.81k
    }
17685
14.6k
  }
17686
19.6k
yy794:
17687
19.6k
  YYDEBUG(794, *YYCURSOR);
17688
19.6k
  yych = *++YYCURSOR;
17689
19.6k
  if (yych == 'V') goto yy933;
17690
16.0k
  if (yych == 'v') goto yy933;
17691
10.1k
  goto yy59;
17692
17.2k
yy795:
17693
17.2k
  YYDEBUG(795, *YYCURSOR);
17694
17.2k
  yych = *++YYCURSOR;
17695
17.2k
  if (yych == 'T') goto yy939;
17696
15.1k
  if (yych == 't') goto yy939;
17697
8.34k
  goto yy59;
17698
63.9k
yy796:
17699
63.9k
  YYDEBUG(796, *YYCURSOR);
17700
63.9k
  yych = *++YYCURSOR;
17701
63.9k
  if (yych <= 'P') {
17702
30.9k
    if (yych == 'C') goto yy443;
17703
8.96k
    if (yych <= 'O') goto yy59;
17704
3.60k
    goto yy940;
17705
33.0k
  } else {
17706
33.0k
    if (yych <= 'c') {
17707
4.14k
      if (yych <= 'b') goto yy59;
17708
3.03k
      goto yy443;
17709
28.9k
    } else {
17710
28.9k
      if (yych == 'p') goto yy940;
17711
5.20k
      goto yy59;
17712
28.9k
    }
17713
33.0k
  }
17714
10.6k
yy797:
17715
10.6k
  YYDEBUG(797, *YYCURSOR);
17716
10.6k
  yych = *++YYCURSOR;
17717
10.6k
  if (yych <= '0') goto yy59;
17718
8.29k
  if (yych <= '9') goto yy941;
17719
2.06k
  goto yy59;
17720
36.3k
yy798:
17721
36.3k
  YYDEBUG(798, *YYCURSOR);
17722
36.3k
  yych = *++YYCURSOR;
17723
36.3k
  if (yych <= '/') goto yy59;
17724
31.0k
  if (yych <= '9') goto yy941;
17725
6.75k
  goto yy59;
17726
14.7k
yy799:
17727
14.7k
  YYDEBUG(799, *YYCURSOR);
17728
14.7k
  yych = *++YYCURSOR;
17729
14.7k
  if (yych <= '/') goto yy59;
17730
12.7k
  if (yych <= '3') goto yy941;
17731
2.29k
  goto yy59;
17732
411k
yy800:
17733
411k
  YYDEBUG(800, *YYCURSOR);
17734
411k
  yych = *++YYCURSOR;
17735
411k
  if (yych <= '9') {
17736
378k
    if (yych <= '0') {
17737
283k
      if (yych <= '/') goto yy196;
17738
248k
      goto yy924;
17739
283k
    } else {
17740
95.1k
      if (yych <= '2') goto yy925;
17741
63.1k
      if (yych <= '3') goto yy927;
17742
39.0k
      goto yy928;
17743
63.1k
    }
17744
378k
  } else {
17745
33.1k
    if (yych <= 0xC2) {
17746
27.0k
      if (yych <= 0xC1) goto yy196;
17747
769
      goto yy97;
17748
27.0k
    } else {
17749
6.05k
      if (yych == 0xE2) goto yy98;
17750
4.17k
      goto yy196;
17751
6.05k
    }
17752
33.1k
  }
17753
500k
yy801:
17754
500k
  YYDEBUG(801, *YYCURSOR);
17755
500k
  yych = *++YYCURSOR;
17756
500k
  if (yych <= '9') {
17757
429k
    if (yych <= '/') goto yy196;
17758
380k
    if (yych <= '2') goto yy925;
17759
218k
    if (yych <= '3') goto yy927;
17760
124k
    goto yy928;
17761
218k
  } else {
17762
71.0k
    if (yych <= 0xC2) {
17763
53.1k
      if (yych <= 0xC1) goto yy196;
17764
6.45k
      goto yy97;
17765
53.1k
    } else {
17766
17.9k
      if (yych == 0xE2) goto yy98;
17767
12.2k
      goto yy196;
17768
17.9k
    }
17769
71.0k
  }
17770
527k
yy802:
17771
527k
  YYDEBUG(802, *YYCURSOR);
17772
527k
  yych = *++YYCURSOR;
17773
527k
  if (yych <= 0xC1) {
17774
507k
    if (yych <= '/') goto yy196;
17775
456k
    if (yych <= '9') goto yy928;
17776
67.2k
    goto yy196;
17777
456k
  } else {
17778
20.2k
    if (yych <= 0xC2) goto yy97;
17779
15.6k
    if (yych == 0xE2) goto yy98;
17780
11.7k
    goto yy196;
17781
15.6k
  }
17782
65.2k
yy803:
17783
65.2k
  YYDEBUG(803, *YYCURSOR);
17784
65.2k
  yych = *++YYCURSOR;
17785
65.2k
  if (yych <= 0xC1) {
17786
55.5k
    if (yych <= '/') goto yy196;
17787
49.6k
    if (yych <= '6') goto yy928;
17788
33.6k
    if (yych <= '9') goto yy929;
17789
8.10k
    goto yy196;
17790
33.6k
  } else {
17791
9.62k
    if (yych <= 0xC2) goto yy97;
17792
8.22k
    if (yych == 0xE2) goto yy98;
17793
4.27k
    goto yy196;
17794
8.22k
  }
17795
22.7k
yy804:
17796
22.7k
  YYDEBUG(804, *YYCURSOR);
17797
22.7k
  yych = *++YYCURSOR;
17798
22.7k
  if (yych == 'T') goto yy253;
17799
16.6k
  if (yych == 't') goto yy253;
17800
11.0k
  goto yy59;
17801
13.5k
yy805:
17802
13.5k
  YYDEBUG(805, *YYCURSOR);
17803
13.5k
  yych = *++YYCURSOR;
17804
13.5k
  if (yych == 'N') goto yy806;
17805
7.18k
  if (yych != 'n') goto yy59;
17806
22.2k
yy806:
17807
22.2k
  YYDEBUG(806, *YYCURSOR);
17808
22.2k
  yych = *++YYCURSOR;
17809
22.2k
  if (yych == 'I') goto yy943;
17810
15.2k
  if (yych == 'i') goto yy943;
17811
8.58k
  goto yy59;
17812
39.9k
yy807:
17813
39.9k
  YYDEBUG(807, *YYCURSOR);
17814
39.9k
  ++YYCURSOR;
17815
39.9k
  goto yy251;
17816
34.7k
yy808:
17817
34.7k
  YYDEBUG(808, *YYCURSOR);
17818
34.7k
  yych = *++YYCURSOR;
17819
34.7k
  if (yych == 'R') goto yy944;
17820
26.4k
  if (yych == 'r') goto yy944;
17821
18.1k
  goto yy59;
17822
53.5k
yy809:
17823
53.5k
  YYDEBUG(809, *YYCURSOR);
17824
53.5k
  yych = *++YYCURSOR;
17825
53.5k
  if (yych == 'S') goto yy945;
17826
37.5k
  if (yych == 's') goto yy945;
17827
18.4k
  goto yy59;
17828
18.4k
yy810:
17829
9.74k
  YYDEBUG(810, *YYCURSOR);
17830
9.74k
  yych = *++YYCURSOR;
17831
9.74k
  if (yych == 'E') goto yy425;
17832
7.73k
  if (yych == 'e') goto yy425;
17833
4.10k
  goto yy59;
17834
26.2k
yy811:
17835
26.2k
  YYDEBUG(811, *YYCURSOR);
17836
26.2k
  yych = *++YYCURSOR;
17837
26.2k
  if (yych == 'E') goto yy946;
17838
20.5k
  if (yych == 'e') goto yy946;
17839
9.46k
  goto yy59;
17840
18.2k
yy812:
17841
18.2k
  YYDEBUG(812, *YYCURSOR);
17842
18.2k
  yych = *++YYCURSOR;
17843
18.2k
  if (yych == 'D') goto yy425;
17844
16.7k
  if (yych == 'd') goto yy425;
17845
13.3k
  goto yy59;
17846
103k
yy813:
17847
103k
  YYDEBUG(813, *YYCURSOR);
17848
103k
  yyaccept = 4;
17849
103k
  yych = *(YYMARKER = ++YYCURSOR);
17850
103k
  if (yych <= 'A') {
17851
64.0k
    if (yych <= '-') {
17852
25.2k
      if (yych <= '\t') {
17853
5.58k
        if (yych <= 0x08) goto yy177;
17854
2.08k
        goto yy638;
17855
19.6k
      } else {
17856
19.6k
        if (yych == ' ') goto yy638;
17857
17.3k
        goto yy177;
17858
19.6k
      }
17859
38.8k
    } else {
17860
38.8k
      if (yych <= '/') {
17861
10.9k
        if (yych <= '.') goto yy744;
17862
4.25k
        goto yy177;
17863
27.8k
      } else {
17864
27.8k
        if (yych <= '9') goto yy897;
17865
20.8k
        if (yych <= '@') goto yy177;
17866
6.01k
        goto yy106;
17867
20.8k
      }
17868
38.8k
    }
17869
64.0k
  } else {
17870
39.7k
    if (yych <= 'o') {
17871
19.2k
      if (yych <= 'P') {
17872
11.6k
        if (yych <= 'O') goto yy177;
17873
4.42k
        goto yy106;
17874
11.6k
      } else {
17875
7.59k
        if (yych == 'a') goto yy106;
17876
4.35k
        goto yy177;
17877
7.59k
      }
17878
20.4k
    } else {
17879
20.4k
      if (yych <= 0xC2) {
17880
11.7k
        if (yych <= 'p') goto yy106;
17881
7.99k
        if (yych <= 0xC1) goto yy177;
17882
1.41k
        goto yy640;
17883
8.75k
      } else {
17884
8.75k
        if (yych == 0xE2) goto yy641;
17885
5.22k
        goto yy177;
17886
8.75k
      }
17887
20.4k
    }
17888
39.7k
  }
17889
72.1k
yy814:
17890
72.1k
  YYDEBUG(814, *YYCURSOR);
17891
72.1k
  ++YYCURSOR;
17892
72.1k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
17893
72.1k
  yych = *YYCURSOR;
17894
72.1k
  if (yych <= '`') {
17895
46.7k
    if (yych <= 'A') {
17896
14.5k
      if (yych <= '@') goto yy59;
17897
1.84k
      goto yy106;
17898
32.2k
    } else {
17899
32.2k
      if (yych == 'P') goto yy106;
17900
28.7k
      goto yy59;
17901
32.2k
    }
17902
46.7k
  } else {
17903
25.3k
    if (yych <= 'p') {
17904
7.93k
      if (yych <= 'a') goto yy106;
17905
5.90k
      if (yych <= 'o') goto yy59;
17906
2.84k
      goto yy106;
17907
17.3k
    } else {
17908
17.3k
      if (yych == 0xC2) goto yy640;
17909
5.52k
      goto yy59;
17910
17.3k
    }
17911
25.3k
  }
17912
53.3k
yy815:
17913
53.3k
  YYDEBUG(815, *YYCURSOR);
17914
53.3k
  ++YYCURSOR;
17915
53.3k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
17916
53.3k
  yych = *YYCURSOR;
17917
53.3k
  if (yych == 0xAF) goto yy947;
17918
9.06k
  goto yy59;
17919
137k
yy816:
17920
137k
  YYDEBUG(816, *YYCURSOR);
17921
137k
  yyaccept = 4;
17922
137k
  yych = *(YYMARKER = ++YYCURSOR);
17923
137k
  if (yych <= 'O') {
17924
87.8k
    if (yych <= ' ') {
17925
20.5k
      if (yych == '\t') goto yy638;
17926
16.8k
      if (yych <= 0x1F) goto yy177;
17927
12.6k
      goto yy638;
17928
67.2k
    } else {
17929
67.2k
      if (yych <= '.') {
17930
22.2k
        if (yych <= '-') goto yy177;
17931
5.72k
        goto yy744;
17932
44.9k
      } else {
17933
44.9k
        if (yych == 'A') goto yy106;
17934
36.4k
        goto yy177;
17935
44.9k
      }
17936
67.2k
    }
17937
87.8k
  } else {
17938
49.6k
    if (yych <= 'p') {
17939
18.2k
      if (yych <= '`') {
17940
11.2k
        if (yych <= 'P') goto yy106;
17941
7.54k
        goto yy177;
17942
11.2k
      } else {
17943
6.99k
        if (yych <= 'a') goto yy106;
17944
4.35k
        if (yych <= 'o') goto yy177;
17945
1.62k
        goto yy106;
17946
4.35k
      }
17947
31.4k
    } else {
17948
31.4k
      if (yych <= 0xC2) {
17949
16.2k
        if (yych <= 0xC1) goto yy177;
17950
12.4k
        goto yy640;
17951
16.2k
      } else {
17952
15.2k
        if (yych == 0xE2) goto yy641;
17953
5.75k
        goto yy177;
17954
15.2k
      }
17955
31.4k
    }
17956
49.6k
  }
17957
263k
yy817:
17958
263k
  YYDEBUG(817, *YYCURSOR);
17959
263k
  yyaccept = 4;
17960
263k
  yych = *(YYMARKER = ++YYCURSOR);
17961
263k
  if (yych == '.') goto yy744;
17962
259k
  if (yych <= '/') goto yy177;
17963
244k
  if (yych <= '9') goto yy948;
17964
21.0k
  goto yy177;
17965
24.3k
yy818:
17966
24.3k
  YYDEBUG(818, *YYCURSOR);
17967
24.3k
  yyaccept = 4;
17968
24.3k
  yych = *(YYMARKER = ++YYCURSOR);
17969
24.3k
  if (yych == '.') goto yy744;
17970
23.5k
  if (yych == '0') goto yy948;
17971
6.90k
  goto yy177;
17972
74.0k
yy819:
17973
74.0k
  YYDEBUG(819, *YYCURSOR);
17974
74.0k
  yyaccept = 15;
17975
74.0k
  yych = *(YYMARKER = ++YYCURSOR);
17976
74.0k
  if (yych <= 'n') {
17977
50.7k
    if (yych <= '/') goto yy567;
17978
42.6k
    if (yych <= '9') goto yy821;
17979
16.4k
    if (yych <= 'm') goto yy567;
17980
7.25k
    goto yy741;
17981
23.3k
  } else {
17982
23.3k
    if (yych <= 'r') {
17983
13.8k
      if (yych <= 'q') goto yy567;
17984
9.14k
      goto yy741;
17985
13.8k
    } else {
17986
9.48k
      if (yych <= 's') goto yy742;
17987
6.61k
      if (yych <= 't') goto yy743;
17988
3.37k
      goto yy567;
17989
6.61k
    }
17990
23.3k
  }
17991
46.9k
yy820:
17992
46.9k
  YYDEBUG(820, *YYCURSOR);
17993
46.9k
  yyaccept = 15;
17994
46.9k
  yych = *(YYMARKER = ++YYCURSOR);
17995
46.9k
  if (yych <= 'n') {
17996
26.6k
    if (yych <= '/') goto yy567;
17997
18.7k
    if (yych <= '1') goto yy821;
17998
8.15k
    if (yych <= 'm') goto yy567;
17999
2.17k
    goto yy741;
18000
20.3k
  } else {
18001
20.3k
    if (yych <= 'r') {
18002
7.27k
      if (yych <= 'q') goto yy567;
18003
5.33k
      goto yy741;
18004
13.0k
    } else {
18005
13.0k
      if (yych <= 's') goto yy742;
18006
8.45k
      if (yych <= 't') goto yy743;
18007
6.80k
      goto yy567;
18008
8.45k
    }
18009
20.3k
  }
18010
56.1k
yy821:
18011
56.1k
  YYDEBUG(821, *YYCURSOR);
18012
56.1k
  yyaccept = 15;
18013
56.1k
  yych = *(YYMARKER = ++YYCURSOR);
18014
56.1k
  if (yych <= 'q') {
18015
39.6k
    if (yych == 'n') goto yy741;
18016
36.2k
    goto yy567;
18017
39.6k
  } else {
18018
16.4k
    if (yych <= 'r') goto yy741;
18019
14.4k
    if (yych <= 's') goto yy742;
18020
11.5k
    if (yych <= 't') goto yy743;
18021
7.73k
    goto yy567;
18022
11.5k
  }
18023
91.5k
yy822:
18024
91.5k
  YYDEBUG(822, *YYCURSOR);
18025
91.5k
  yych = *++YYCURSOR;
18026
91.5k
  if (yych <= '/') goto yy59;
18027
83.0k
  if (yych <= '2') goto yy949;
18028
48.6k
  if (yych <= '3') goto yy950;
18029
16.4k
  if (yych <= '9') goto yy821;
18030
10.5k
  goto yy59;
18031
203k
yy823:
18032
203k
  YYDEBUG(823, *YYCURSOR);
18033
203k
  yych = *++YYCURSOR;
18034
203k
  if (yych == '-') goto yy951;
18035
147k
  goto yy59;
18036
147k
yy824:
18037
43.4k
  YYDEBUG(824, *YYCURSOR);
18038
43.4k
  yych = *++YYCURSOR;
18039
43.4k
  if (yych <= 'S') {
18040
12.9k
    if (yych == '-') goto yy951;
18041
9.36k
    goto yy59;
18042
30.4k
  } else {
18043
30.4k
    if (yych <= 'T') goto yy823;
18044
14.7k
    if (yych == 't') goto yy823;
18045
7.08k
    goto yy59;
18046
14.7k
  }
18047
23.7k
yy825:
18048
23.7k
  YYDEBUG(825, *YYCURSOR);
18049
23.7k
  yych = *++YYCURSOR;
18050
23.7k
  if (yych <= '/') goto yy290;
18051
17.6k
  if (yych <= '9') goto yy952;
18052
2.34k
  goto yy290;
18053
12.6M
yy826:
18054
12.6M
  YYDEBUG(826, *YYCURSOR);
18055
12.6M
  yych = *++YYCURSOR;
18056
12.6M
  if (yych == ')') goto yy115;
18057
12.5M
  goto yy20;
18058
12.5M
yy827:
18059
112k
  YYDEBUG(827, *YYCURSOR);
18060
112k
  yych = *++YYCURSOR;
18061
112k
  if (yych <= '9') {
18062
76.1k
    if (yych <= ' ') {
18063
8.42k
      if (yych <= 0x08) {
18064
3.07k
        if (yych <= 0x00) goto yy324;
18065
979
        goto yy59;
18066
5.35k
      } else {
18067
5.35k
        if (yych <= '\t') goto yy326;
18068
3.98k
        if (yych <= 0x1F) goto yy59;
18069
2.56k
        goto yy326;
18070
3.98k
      }
18071
67.7k
    } else {
18072
67.7k
      if (yych <= '-') {
18073
48.4k
        if (yych <= '+') goto yy59;
18074
44.0k
        if (yych <= ',') goto yy326;
18075
39.6k
        goto yy953;
18076
44.0k
      } else {
18077
19.2k
        if (yych <= '.') goto yy326;
18078
18.6k
        if (yych <= '/') goto yy59;
18079
16.7k
        goto yy512;
18080
18.6k
      }
18081
67.7k
    }
18082
76.1k
  } else {
18083
36.3k
    if (yych <= 'm') {
18084
18.0k
      if (yych <= 'd') {
18085
10.9k
        if (yych <= 'c') goto yy59;
18086
3.27k
        goto yy326;
18087
10.9k
      } else {
18088
7.01k
        if (yych == 'h') goto yy326;
18089
5.92k
        goto yy59;
18090
7.01k
      }
18091
18.3k
    } else {
18092
18.3k
      if (yych <= 'r') {
18093
9.79k
        if (yych <= 'n') goto yy329;
18094
8.75k
        if (yych <= 'q') goto yy59;
18095
5.12k
        goto yy329;
18096
8.75k
      } else {
18097
8.51k
        if (yych <= 's') goto yy330;
18098
7.12k
        if (yych <= 't') goto yy331;
18099
2.75k
        goto yy59;
18100
7.12k
      }
18101
18.3k
    }
18102
36.3k
  }
18103
27.8k
yy828:
18104
27.8k
  YYDEBUG(828, *YYCURSOR);
18105
27.8k
  yyaccept = 7;
18106
27.8k
  yych = *(YYMARKER = ++YYCURSOR);
18107
27.8k
  if (yych <= '(') {
18108
11.5k
    if (yych <= '\t') {
18109
4.50k
      if (yych <= 0x08) goto yy295;
18110
953
      goto yy142;
18111
7.03k
    } else {
18112
7.03k
      if (yych == ' ') goto yy142;
18113
3.52k
      goto yy295;
18114
7.03k
    }
18115
16.3k
  } else {
18116
16.3k
    if (yych <= '.') {
18117
6.99k
      if (yych <= ')') goto yy115;
18118
4.32k
      if (yych <= ',') goto yy295;
18119
2.35k
      goto yy142;
18120
9.35k
    } else {
18121
9.35k
      if (yych <= '/') goto yy295;
18122
8.51k
      if (yych <= '9') goto yy142;
18123
5.01k
      goto yy295;
18124
8.51k
    }
18125
16.3k
  }
18126
1.65M
yy829:
18127
1.65M
  YYDEBUG(829, *YYCURSOR);
18128
1.65M
  yyaccept = 2;
18129
1.65M
  yych = *(YYMARKER = ++YYCURSOR);
18130
1.65M
  if (yybm[0+yych] & 128) {
18131
988k
    goto yy954;
18132
988k
  }
18133
664k
  if (yych <= '-') {
18134
208k
    if (yych == ')') goto yy115;
18135
195k
    if (yych <= ',') goto yy20;
18136
15.2k
    goto yy297;
18137
456k
  } else {
18138
456k
    if (yych <= '/') {
18139
46.2k
      if (yych <= '.') goto yy20;
18140
8.91k
      goto yy297;
18141
410k
    } else {
18142
410k
      if (yych == '_') goto yy297;
18143
384k
      goto yy20;
18144
410k
    }
18145
456k
  }
18146
36.5k
yy830:
18147
36.5k
  YYDEBUG(830, *YYCURSOR);
18148
36.5k
  yyaccept = 7;
18149
36.5k
  yych = *(YYMARKER = ++YYCURSOR);
18150
36.5k
  if (yybm[0+yych] & 128) {
18151
3.26k
    goto yy954;
18152
3.26k
  }
18153
33.2k
  if (yych <= ',') {
18154
10.7k
    if (yych <= 0x1F) {
18155
3.29k
      if (yych == '\t') goto yy142;
18156
2.31k
      goto yy295;
18157
7.50k
    } else {
18158
7.50k
      if (yych <= ' ') goto yy142;
18159
1.91k
      if (yych == ')') goto yy115;
18160
1.10k
      goto yy295;
18161
1.91k
    }
18162
22.4k
  } else {
18163
22.4k
    if (yych <= '/') {
18164
15.9k
      if (yych <= '-') goto yy700;
18165
12.1k
      if (yych <= '.') goto yy142;
18166
6.04k
      goto yy297;
18167
12.1k
    } else {
18168
6.51k
      if (yych <= '9') goto yy142;
18169
4.95k
      if (yych == '_') goto yy297;
18170
2.32k
      goto yy295;
18171
4.95k
    }
18172
22.4k
  }
18173
196k
yy831:
18174
196k
  YYDEBUG(831, *YYCURSOR);
18175
196k
  yych = *++YYCURSOR;
18176
196k
  if (yych == 'F') goto yy956;
18177
146k
  if (yych == 'f') goto yy956;
18178
14.1k
  goto yy59;
18179
18.7k
yy832:
18180
18.7k
  YYDEBUG(832, *YYCURSOR);
18181
18.7k
  yyaccept = 2;
18182
18.7k
  yych = *(YYMARKER = ++YYCURSOR);
18183
18.7k
  if (yych <= 'D') {
18184
6.01k
    if (yych == ')') goto yy115;
18185
3.05k
    goto yy20;
18186
12.7k
  } else {
18187
12.7k
    if (yych <= 'E') goto yy957;
18188
10.7k
    if (yych == 'e') goto yy957;
18189
3.00k
    goto yy20;
18190
10.7k
  }
18191
32.8k
yy833:
18192
32.8k
  YYDEBUG(833, *YYCURSOR);
18193
32.8k
  yyaccept = 2;
18194
32.8k
  yych = *(YYMARKER = ++YYCURSOR);
18195
32.8k
  if (yych <= 'D') {
18196
8.04k
    if (yych <= ',') {
18197
2.54k
      if (yych == ')') goto yy115;
18198
1.39k
      goto yy20;
18199
5.50k
    } else {
18200
5.50k
      if (yych == '.') goto yy20;
18201
3.89k
      if (yych <= '/') goto yy297;
18202
3.29k
      goto yy20;
18203
3.89k
    }
18204
24.7k
  } else {
18205
24.7k
    if (yych <= '`') {
18206
4.20k
      if (yych <= 'E') goto yy957;
18207
3.62k
      if (yych == '_') goto yy297;
18208
2.31k
      goto yy20;
18209
20.5k
    } else {
18210
20.5k
      if (yych == 'e') goto yy958;
18211
7.32k
      if (yych <= 'z') goto yy954;
18212
5.94k
      goto yy20;
18213
7.32k
    }
18214
24.7k
  }
18215
359k
yy834:
18216
359k
  YYDEBUG(834, *YYCURSOR);
18217
359k
  ++YYCURSOR;
18218
359k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
18219
359k
  yych = *YYCURSOR;
18220
414k
yy835:
18221
414k
  YYDEBUG(835, *YYCURSOR);
18222
414k
  if (yych <= 'X') {
18223
262k
    if (yych <= 'G') {
18224
108k
      if (yych <= ' ') {
18225
56.7k
        if (yych == '\t') goto yy834;
18226
40.9k
        if (yych <= 0x1F) goto yy59;
18227
32.8k
        goto yy834;
18228
51.6k
      } else {
18229
51.6k
        if (yych <= 'D') {
18230
20.4k
          if (yych <= 'C') goto yy59;
18231
1.76k
          goto yy856;
18232
31.2k
        } else {
18233
31.2k
          if (yych == 'F') goto yy857;
18234
2.22k
          goto yy59;
18235
31.2k
        }
18236
51.6k
      }
18237
154k
    } else {
18238
154k
      if (yych <= 'S') {
18239
85.5k
        if (yych <= 'L') {
18240
7.99k
          if (yych <= 'H') goto yy858;
18241
5.43k
          goto yy59;
18242
77.5k
        } else {
18243
77.5k
          if (yych <= 'M') goto yy859;
18244
43.3k
          if (yych <= 'R') goto yy59;
18245
39.9k
          goto yy860;
18246
43.3k
        }
18247
85.5k
      } else {
18248
68.7k
        if (yych <= 'U') {
18249
23.8k
          if (yych <= 'T') goto yy861;
18250
2.50k
          goto yy862;
18251
44.9k
        } else {
18252
44.9k
          if (yych == 'W') goto yy959;
18253
1.90k
          goto yy59;
18254
44.9k
        }
18255
68.7k
      }
18256
154k
    }
18257
262k
  } else {
18258
151k
    if (yych <= 'r') {
18259
76.7k
      if (yych <= 'f') {
18260
23.2k
        if (yych <= 'c') {
18261
9.45k
          if (yych <= 'Y') goto yy864;
18262
8.28k
          goto yy59;
18263
13.7k
        } else {
18264
13.7k
          if (yych <= 'd') goto yy856;
18265
10.9k
          if (yych <= 'e') goto yy59;
18266
6.34k
          goto yy857;
18267
10.9k
        }
18268
53.5k
      } else {
18269
53.5k
        if (yych <= 'h') {
18270
5.81k
          if (yych <= 'g') goto yy59;
18271
3.67k
          goto yy858;
18272
47.7k
        } else {
18273
47.7k
          if (yych == 'm') goto yy859;
18274
14.2k
          goto yy59;
18275
47.7k
        }
18276
53.5k
      }
18277
76.7k
    } else {
18278
74.5k
      if (yych <= 'w') {
18279
57.5k
        if (yych <= 't') {
18280
46.4k
          if (yych <= 's') goto yy860;
18281
41.7k
          goto yy861;
18282
46.4k
        } else {
18283
11.0k
          if (yych <= 'u') goto yy862;
18284
9.42k
          if (yych <= 'v') goto yy59;
18285
7.57k
          goto yy959;
18286
9.42k
        }
18287
57.5k
      } else {
18288
17.0k
        if (yych <= 'y') {
18289
6.25k
          if (yych <= 'x') goto yy59;
18290
3.69k
          goto yy864;
18291
10.7k
        } else {
18292
10.7k
          if (yych == 0xC2) goto yy865;
18293
8.65k
          goto yy59;
18294
10.7k
        }
18295
17.0k
      }
18296
74.5k
    }
18297
151k
  }
18298
144k
yy836:
18299
144k
  YYDEBUG(836, *YYCURSOR);
18300
144k
  yyaccept = 2;
18301
144k
  yych = *(YYMARKER = ++YYCURSOR);
18302
144k
  if (yych <= '(') {
18303
69.8k
    if (yych <= '\t') {
18304
36.6k
      if (yych <= 0x08) goto yy20;
18305
32.8k
      goto yy834;
18306
36.6k
    } else {
18307
33.1k
      if (yych == ' ') goto yy834;
18308
1.85k
      goto yy20;
18309
33.1k
    }
18310
74.3k
  } else {
18311
74.3k
    if (yych <= 0xC2) {
18312
29.8k
      if (yych <= ')') goto yy115;
18313
26.8k
      if (yych <= 0xC1) goto yy20;
18314
44.4k
    } else {
18315
44.4k
      if (yych == 0xE2) goto yy838;
18316
3.53k
      goto yy20;
18317
44.4k
    }
18318
74.3k
  }
18319
102k
yy837:
18320
102k
  YYDEBUG(837, *YYCURSOR);
18321
102k
  yych = *++YYCURSOR;
18322
102k
  if (yych == 0xA0) goto yy960;
18323
19.2k
  goto yy59;
18324
82.8k
yy838:
18325
82.8k
  YYDEBUG(838, *YYCURSOR);
18326
82.8k
  ++YYCURSOR;
18327
82.8k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
18328
82.8k
  yych = *YYCURSOR;
18329
82.8k
  if (yych == 0x80) goto yy961;
18330
12.0k
  goto yy59;
18331
24.7k
yy839:
18332
24.7k
  YYDEBUG(839, *YYCURSOR);
18333
24.7k
  yyaccept = 2;
18334
24.7k
  yych = *(YYMARKER = ++YYCURSOR);
18335
24.7k
  if (yych <= 'S') {
18336
5.34k
    if (yych == ')') goto yy115;
18337
4.64k
    goto yy20;
18338
19.3k
  } else {
18339
19.3k
    if (yych <= 'T') goto yy962;
18340
13.7k
    if (yych == 't') goto yy962;
18341
4.72k
    goto yy20;
18342
13.7k
  }
18343
80.5k
yy840:
18344
80.5k
  YYDEBUG(840, *YYCURSOR);
18345
80.5k
  yyaccept = 2;
18346
80.5k
  yych = *(YYMARKER = ++YYCURSOR);
18347
80.5k
  if (yybm[0+yych] & 128) {
18348
3.74k
    goto yy954;
18349
3.74k
  }
18350
76.8k
  if (yych <= '-') {
18351
48.9k
    if (yych <= ' ') {
18352
45.1k
      if (yych == '\t') goto yy834;
18353
28.5k
      if (yych <= 0x1F) goto yy20;
18354
24.6k
      goto yy834;
18355
28.5k
    } else {
18356
3.80k
      if (yych == ')') goto yy115;
18357
2.02k
      if (yych <= ',') goto yy20;
18358
1.06k
      goto yy297;
18359
2.02k
    }
18360
48.9k
  } else {
18361
27.9k
    if (yych <= '_') {
18362
18.2k
      if (yych == '/') goto yy297;
18363
17.7k
      if (yych <= '^') goto yy20;
18364
2.92k
      goto yy297;
18365
17.7k
    } else {
18366
9.70k
      if (yych <= 0xC2) {
18367
5.49k
        if (yych <= 0xC1) goto yy20;
18368
2.94k
        goto yy837;
18369
5.49k
      } else {
18370
4.20k
        if (yych == 0xE2) goto yy838;
18371
2.96k
        goto yy20;
18372
4.20k
      }
18373
9.70k
    }
18374
27.9k
  }
18375
46.2k
yy841:
18376
46.2k
  YYDEBUG(841, *YYCURSOR);
18377
46.2k
  yyaccept = 2;
18378
46.2k
  yych = *(YYMARKER = ++YYCURSOR);
18379
46.2k
  if (yych <= 'S') {
18380
16.5k
    if (yych <= ',') {
18381
6.94k
      if (yych == ')') goto yy115;
18382
1.53k
      goto yy20;
18383
9.59k
    } else {
18384
9.59k
      if (yych == '.') goto yy20;
18385
4.65k
      if (yych <= '/') goto yy297;
18386
3.91k
      goto yy20;
18387
4.65k
    }
18388
29.7k
  } else {
18389
29.7k
    if (yych <= '`') {
18390
11.5k
      if (yych <= 'T') goto yy962;
18391
9.61k
      if (yych == '_') goto yy297;
18392
7.40k
      goto yy20;
18393
18.2k
    } else {
18394
18.2k
      if (yych == 't') goto yy963;
18395
6.12k
      if (yych <= 'z') goto yy954;
18396
982
      goto yy20;
18397
6.12k
    }
18398
29.7k
  }
18399
10.1k
yy842:
18400
10.1k
  YYDEBUG(842, *YYCURSOR);
18401
10.1k
  yyaccept = 2;
18402
10.1k
  yych = *(YYMARKER = ++YYCURSOR);
18403
10.1k
  if (yych <= 'Q') {
18404
2.42k
    if (yych == ')') goto yy115;
18405
1.72k
    goto yy20;
18406
7.75k
  } else {
18407
7.75k
    if (yych <= 'R') goto yy964;
18408
4.61k
    if (yych == 'r') goto yy964;
18409
2.27k
    goto yy20;
18410
4.61k
  }
18411
74.9k
yy843:
18412
74.9k
  YYDEBUG(843, *YYCURSOR);
18413
74.9k
  yych = *++YYCURSOR;
18414
74.9k
  if (yych == 'D') goto yy866;
18415
70.4k
  if (yych == 'd') goto yy866;
18416
54.4k
  goto yy835;
18417
54.4k
yy844:
18418
35.6k
  YYDEBUG(844, *YYCURSOR);
18419
35.6k
  yych = *++YYCURSOR;
18420
35.6k
  if (yych <= 'R') {
18421
21.7k
    if (yych == ')') goto yy115;
18422
16.4k
    goto yy315;
18423
21.7k
  } else {
18424
13.9k
    if (yych <= 'S') goto yy965;
18425
9.06k
    if (yych == 's') goto yy965;
18426
5.66k
    goto yy315;
18427
9.06k
  }
18428
44.0k
yy845:
18429
44.0k
  YYDEBUG(845, *YYCURSOR);
18430
44.0k
  yyaccept = 2;
18431
44.0k
  yych = *(YYMARKER = ++YYCURSOR);
18432
44.0k
  if (yych <= 'Q') {
18433
21.0k
    if (yych <= ',') {
18434
9.49k
      if (yych == ')') goto yy115;
18435
3.04k
      goto yy20;
18436
11.5k
    } else {
18437
11.5k
      if (yych == '.') goto yy20;
18438
7.98k
      if (yych <= '/') goto yy297;
18439
3.63k
      goto yy20;
18440
7.98k
    }
18441
22.9k
  } else {
18442
22.9k
    if (yych <= '`') {
18443
7.37k
      if (yych <= 'R') goto yy964;
18444
4.36k
      if (yych == '_') goto yy297;
18445
3.02k
      goto yy20;
18446
15.5k
    } else {
18447
15.5k
      if (yych == 'r') goto yy966;
18448
7.46k
      if (yych <= 'z') goto yy954;
18449
5.35k
      goto yy20;
18450
7.46k
    }
18451
22.9k
  }
18452
28.0k
yy846:
18453
28.0k
  YYDEBUG(846, *YYCURSOR);
18454
28.0k
  yyaccept = 9;
18455
28.0k
  yych = *(YYMARKER = ++YYCURSOR);
18456
28.0k
  if (yych <= 'R') {
18457
17.5k
    if (yych <= ',') {
18458
7.68k
      if (yych == ')') goto yy115;
18459
5.24k
      goto yy315;
18460
9.88k
    } else {
18461
9.88k
      if (yych == '.') goto yy315;
18462
9.16k
      if (yych <= '/') goto yy297;
18463
5.99k
      goto yy315;
18464
9.16k
    }
18465
17.5k
  } else {
18466
10.4k
    if (yych <= '`') {
18467
4.67k
      if (yych <= 'S') goto yy965;
18468
3.76k
      if (yych == '_') goto yy297;
18469
1.22k
      goto yy315;
18470
5.81k
    } else {
18471
5.81k
      if (yych == 's') goto yy967;
18472
3.49k
      if (yych <= 'z') goto yy954;
18473
1.48k
      goto yy315;
18474
3.49k
    }
18475
10.4k
  }
18476
72.9k
yy847:
18477
72.9k
  YYDEBUG(847, *YYCURSOR);
18478
72.9k
  yyaccept = 2;
18479
72.9k
  yych = *(YYMARKER = ++YYCURSOR);
18480
72.9k
  if (yych <= '/') goto yy20;
18481
70.2k
  if (yych <= '5') goto yy968;
18482
28.2k
  if (yych <= '9') goto yy115;
18483
24.4k
  if (yych <= ':') goto yy393;
18484
13.6k
  goto yy20;
18485
219k
yy848:
18486
219k
  YYDEBUG(848, *YYCURSOR);
18487
219k
  yyaccept = 20;
18488
219k
  yych = *(YYMARKER = ++YYCURSOR);
18489
219k
  if (yych <= '/') {
18490
46.2k
    if (yych == '.') goto yy969;
18491
173k
  } else {
18492
173k
    if (yych <= '9') goto yy850;
18493
70.1k
    if (yych <= ':') goto yy969;
18494
70.1k
  }
18495
924k
yy849:
18496
924k
  YYDEBUG(849, *YYCURSOR);
18497
924k
#line 1938 "ext/date/lib/parse_date.re"
18498
924k
  {
18499
924k
    int tz_not_found;
18500
924k
    DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
18501
924k
    TIMELIB_INIT;
18502
924k
    TIMELIB_HAVE_DATE();
18503
201k
    s->time->m = timelib_get_month(&ptr);
18504
201k
    s->time->d = timelib_get_nr(&ptr, 2);
18505
18506
201k
    TIMELIB_HAVE_TIME();
18507
179k
    s->time->h = timelib_get_nr(&ptr, 2);
18508
179k
    s->time->i = timelib_get_nr(&ptr, 2);
18509
179k
    if (*ptr == ':') {
18510
125k
      s->time->s = timelib_get_nr(&ptr, 2);
18511
18512
125k
      if (*ptr == '.') {
18513
0
        s->time->us = timelib_get_frac_nr(&ptr);
18514
0
      }
18515
125k
    }
18516
18517
179k
    if (*ptr != '\0') {
18518
123k
      s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
18519
123k
      if (tz_not_found) {
18520
74.4k
        add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
18521
74.4k
      }
18522
123k
    }
18523
179k
    TIMELIB_DEINIT;
18524
179k
    return TIMELIB_SHORTDATE_WITH_TIME;
18525
201k
  }
18526
0
#line 18527 "ext/date/lib/parse_date.c"
18527
156k
yy850:
18528
156k
  YYDEBUG(850, *YYCURSOR);
18529
156k
  yyaccept = 20;
18530
156k
  yych = *(YYMARKER = ++YYCURSOR);
18531
156k
  if (yych == '.') goto yy969;
18532
121k
  if (yych == ':') goto yy969;
18533
22.3k
  goto yy849;
18534
633k
yy851:
18535
633k
  YYDEBUG(851, *YYCURSOR);
18536
633k
  yyaccept = 20;
18537
633k
  yych = *(YYMARKER = ++YYCURSOR);
18538
633k
  if (yych <= '/') {
18539
82.8k
    if (yych == '.') goto yy970;
18540
16.5k
    goto yy849;
18541
550k
  } else {
18542
550k
    if (yych <= '9') goto yy971;
18543
174k
    if (yych <= ':') goto yy970;
18544
18.7k
    goto yy849;
18545
174k
  }
18546
48.3k
yy852:
18547
48.3k
  YYDEBUG(852, *YYCURSOR);
18548
48.3k
  yyaccept = 20;
18549
48.3k
  yych = *(YYMARKER = ++YYCURSOR);
18550
48.3k
  if (yych == '.') goto yy970;
18551
36.8k
  if (yych == ':') goto yy970;
18552
11.6k
  goto yy849;
18553
57.7k
yy853:
18554
57.7k
  YYDEBUG(853, *YYCURSOR);
18555
57.7k
  yych = *++YYCURSOR;
18556
57.7k
  if (yych <= '/') goto yy325;
18557
48.5k
  if (yych <= '9') goto yy972;
18558
13.2k
  goto yy325;
18559
20.3k
yy854:
18560
20.3k
  YYDEBUG(854, *YYCURSOR);
18561
20.3k
  yych = *++YYCURSOR;
18562
20.3k
  if (yych <= 'X') {
18563
6.45k
    if (yych == ')') goto yy115;
18564
4.34k
    goto yy20;
18565
13.8k
  } else {
18566
13.8k
    if (yych <= 'Y') goto yy973;
18567
11.6k
    if (yych == 'y') goto yy973;
18568
4.03k
    goto yy20;
18569
11.6k
  }
18570
25.2k
yy855:
18571
25.2k
  YYDEBUG(855, *YYCURSOR);
18572
25.2k
  yyaccept = 2;
18573
25.2k
  yych = *(YYMARKER = ++YYCURSOR);
18574
25.2k
  if (yych <= 'X') {
18575
11.3k
    if (yych <= ',') {
18576
1.93k
      if (yych == ')') goto yy115;
18577
1.44k
      goto yy20;
18578
9.41k
    } else {
18579
9.41k
      if (yych == '.') goto yy20;
18580
2.16k
      if (yych <= '/') goto yy297;
18581
1.14k
      goto yy20;
18582
2.16k
    }
18583
13.9k
  } else {
18584
13.9k
    if (yych <= '`') {
18585
7.71k
      if (yych <= 'Y') goto yy973;
18586
3.49k
      if (yych == '_') goto yy297;
18587
2.04k
      goto yy20;
18588
6.20k
    } else {
18589
6.20k
      if (yych == 'y') goto yy974;
18590
2.75k
      if (yych <= 'z') goto yy954;
18591
1.02k
      goto yy20;
18592
2.75k
    }
18593
13.9k
  }
18594
44.0k
yy856:
18595
44.0k
  YYDEBUG(856, *YYCURSOR);
18596
44.0k
  yych = *++YYCURSOR;
18597
44.0k
  if (yych == 'A') goto yy975;
18598
38.4k
  if (yych == 'a') goto yy975;
18599
25.4k
  goto yy59;
18600
80.7k
yy857:
18601
80.7k
  YYDEBUG(857, *YYCURSOR);
18602
80.7k
  yych = *++YYCURSOR;
18603
80.7k
  if (yych <= 'R') {
18604
35.1k
    if (yych == 'O') goto yy976;
18605
13.2k
    if (yych <= 'Q') goto yy59;
18606
5.33k
    goto yy977;
18607
45.5k
  } else {
18608
45.5k
    if (yych <= 'o') {
18609
20.8k
      if (yych <= 'n') goto yy59;
18610
13.8k
      goto yy976;
18611
24.7k
    } else {
18612
24.7k
      if (yych == 'r') goto yy977;
18613
5.75k
      goto yy59;
18614
24.7k
    }
18615
45.5k
  }
18616
23.4k
yy858:
18617
23.4k
  YYDEBUG(858, *YYCURSOR);
18618
23.4k
  yych = *++YYCURSOR;
18619
23.4k
  if (yych == 'O') goto yy978;
18620
21.5k
  if (yych == 'o') goto yy978;
18621
19.3k
  goto yy59;
18622
142k
yy859:
18623
142k
  YYDEBUG(859, *YYCURSOR);
18624
142k
  yych = *++YYCURSOR;
18625
142k
  if (yych <= 'S') {
18626
55.9k
    if (yych <= 'N') {
18627
47.0k
      if (yych == 'I') goto yy979;
18628
13.5k
      goto yy59;
18629
47.0k
    } else {
18630
8.90k
      if (yych <= 'O') goto yy980;
18631
4.91k
      if (yych <= 'R') goto yy59;
18632
3.81k
      goto yy981;
18633
4.91k
    }
18634
86.3k
  } else {
18635
86.3k
    if (yych <= 'n') {
18636
33.5k
      if (yych == 'i') goto yy979;
18637
5.08k
      goto yy59;
18638
52.7k
    } else {
18639
52.7k
      if (yych <= 'o') goto yy980;
18640
6.72k
      if (yych == 's') goto yy981;
18641
5.79k
      goto yy59;
18642
6.72k
    }
18643
86.3k
  }
18644
127k
yy860:
18645
127k
  YYDEBUG(860, *YYCURSOR);
18646
127k
  yych = *++YYCURSOR;
18647
127k
  if (yych <= 'U') {
18648
38.8k
    if (yych <= 'D') {
18649
23.0k
      if (yych == 'A') goto yy983;
18650
16.7k
      goto yy59;
18651
23.0k
    } else {
18652
15.8k
      if (yych <= 'E') goto yy984;
18653
8.17k
      if (yych <= 'T') goto yy59;
18654
4.63k
      goto yy985;
18655
8.17k
    }
18656
89.0k
  } else {
18657
89.0k
    if (yych <= 'd') {
18658
37.0k
      if (yych == 'a') goto yy983;
18659
5.67k
      goto yy59;
18660
52.0k
    } else {
18661
52.0k
      if (yych <= 'e') goto yy984;
18662
35.8k
      if (yych == 'u') goto yy985;
18663
11.7k
      goto yy59;
18664
35.8k
    }
18665
89.0k
  }
18666
102k
yy861:
18667
102k
  YYDEBUG(861, *YYCURSOR);
18668
102k
  yych = *++YYCURSOR;
18669
102k
  if (yych <= 'U') {
18670
51.0k
    if (yych == 'H') goto yy986;
18671
43.8k
    if (yych <= 'T') goto yy59;
18672
28.4k
    goto yy987;
18673
51.3k
  } else {
18674
51.3k
    if (yych <= 'h') {
18675
31.1k
      if (yych <= 'g') goto yy59;
18676
25.7k
      goto yy986;
18677
31.1k
    } else {
18678
20.2k
      if (yych == 'u') goto yy987;
18679
8.27k
      goto yy59;
18680
20.2k
    }
18681
51.3k
  }
18682
25.5k
yy862:
18683
25.5k
  YYDEBUG(862, *YYCURSOR);
18684
25.5k
  yych = *++YYCURSOR;
18685
25.5k
  if (yych == 'S') goto yy988;
18686
18.7k
  if (yych == 's') goto yy988;
18687
15.1k
  goto yy59;
18688
114k
yy863:
18689
114k
  YYDEBUG(863, *YYCURSOR);
18690
114k
  yych = *++YYCURSOR;
18691
114k
  if (yych == 'E') goto yy989;
18692
101k
  if (yych == 'e') goto yy989;
18693
10.0k
  goto yy59;
18694
32.5k
yy864:
18695
32.5k
  YYDEBUG(864, *YYCURSOR);
18696
32.5k
  yych = *++YYCURSOR;
18697
32.5k
  if (yych == 'E') goto yy990;
18698
30.6k
  if (yych == 'e') goto yy990;
18699
19.0k
  goto yy59;
18700
19.0k
yy865:
18701
13.3k
  YYDEBUG(865, *YYCURSOR);
18702
13.3k
  yych = *++YYCURSOR;
18703
13.3k
  if (yych == 0xB5) goto yy991;
18704
7.77k
  goto yy59;
18705
41.6k
yy866:
18706
41.6k
  YYDEBUG(866, *YYCURSOR);
18707
41.6k
  yych = *++YYCURSOR;
18708
41.6k
  if (yych == 'A') goto yy992;
18709
30.4k
  if (yych == 'a') goto yy992;
18710
13.5k
  goto yy59;
18711
97.1k
yy867:
18712
97.1k
  YYDEBUG(867, *YYCURSOR);
18713
97.1k
  ++YYCURSOR;
18714
97.1k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
18715
97.1k
  yych = *YYCURSOR;
18716
97.1k
  if (yych <= 'c') {
18717
37.3k
    if (yych <= 'M') {
18718
13.4k
      if (yych <= 'F') {
18719
6.02k
        if (yych == 'D') goto yy856;
18720
4.53k
        if (yych <= 'E') goto yy59;
18721
1.52k
        goto yy857;
18722
7.40k
      } else {
18723
7.40k
        if (yych == 'H') goto yy858;
18724
6.21k
        if (yych <= 'L') goto yy59;
18725
1.89k
        goto yy859;
18726
6.21k
      }
18727
23.9k
    } else {
18728
23.9k
      if (yych <= 'U') {
18729
7.08k
        if (yych <= 'R') goto yy59;
18730
6.32k
        if (yych <= 'S') goto yy860;
18731
3.02k
        if (yych <= 'T') goto yy861;
18732
1.16k
        goto yy862;
18733
16.8k
      } else {
18734
16.8k
        if (yych <= 'W') {
18735
8.05k
          if (yych <= 'V') goto yy59;
18736
6.82k
          goto yy863;
18737
8.80k
        } else {
18738
8.80k
          if (yych == 'Y') goto yy864;
18739
4.03k
          goto yy59;
18740
8.80k
        }
18741
16.8k
      }
18742
23.9k
    }
18743
59.8k
  } else {
18744
59.8k
    if (yych <= 's') {
18745
18.9k
      if (yych <= 'g') {
18746
7.34k
        if (yych <= 'd') goto yy856;
18747
4.11k
        if (yych == 'f') goto yy857;
18748
1.91k
        goto yy59;
18749
11.5k
      } else {
18750
11.5k
        if (yych <= 'l') {
18751
4.11k
          if (yych <= 'h') goto yy858;
18752
2.67k
          goto yy59;
18753
7.46k
        } else {
18754
7.46k
          if (yych <= 'm') goto yy859;
18755
3.40k
          if (yych <= 'r') goto yy59;
18756
1.46k
          goto yy860;
18757
3.40k
        }
18758
11.5k
      }
18759
40.9k
    } else {
18760
40.9k
      if (yych <= 'w') {
18761
6.39k
        if (yych <= 't') goto yy861;
18762
4.20k
        if (yych <= 'u') goto yy862;
18763
3.41k
        if (yych <= 'v') goto yy59;
18764
877
        goto yy863;
18765
34.5k
      } else {
18766
34.5k
        if (yych <= 'y') {
18767
3.42k
          if (yych <= 'x') goto yy59;
18768
1.31k
          goto yy864;
18769
31.0k
        } else {
18770
31.0k
          if (yych == 0xC2) goto yy993;
18771
3.06k
          goto yy59;
18772
31.0k
        }
18773
34.5k
      }
18774
40.9k
    }
18775
59.8k
  }
18776
104k
yy868:
18777
104k
  YYDEBUG(868, *YYCURSOR);
18778
104k
  ++YYCURSOR;
18779
104k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
18780
104k
  yych = *YYCURSOR;
18781
104k
  if (yych == 0xAF) goto yy994;
18782
11.9k
  goto yy59;
18783
18.2k
yy869:
18784
18.2k
  YYDEBUG(869, *YYCURSOR);
18785
18.2k
  yyaccept = 2;
18786
18.2k
  yych = *(YYMARKER = ++YYCURSOR);
18787
18.2k
  if (yych <= 'G') {
18788
6.15k
    if (yych == ')') goto yy115;
18789
3.80k
    goto yy20;
18790
12.0k
  } else {
18791
12.0k
    if (yych <= 'H') goto yy995;
18792
8.68k
    if (yych == 'h') goto yy995;
18793
3.69k
    goto yy20;
18794
8.68k
  }
18795
36.8k
yy870:
18796
36.8k
  YYDEBUG(870, *YYCURSOR);
18797
36.8k
  yyaccept = 2;
18798
36.8k
  yych = *(YYMARKER = ++YYCURSOR);
18799
36.8k
  if (yych <= 'G') {
18800
14.0k
    if (yych <= ',') {
18801
2.95k
      if (yych == ')') goto yy115;
18802
1.57k
      goto yy20;
18803
11.0k
    } else {
18804
11.0k
      if (yych == '.') goto yy20;
18805
9.12k
      if (yych <= '/') goto yy297;
18806
8.26k
      goto yy20;
18807
9.12k
    }
18808
22.8k
  } else {
18809
22.8k
    if (yych <= '`') {
18810
7.50k
      if (yych <= 'H') goto yy995;
18811
4.36k
      if (yych == '_') goto yy297;
18812
3.17k
      goto yy20;
18813
15.3k
    } else {
18814
15.3k
      if (yych == 'h') goto yy996;
18815
3.33k
      if (yych <= 'z') goto yy954;
18816
1.69k
      goto yy20;
18817
3.33k
    }
18818
22.8k
  }
18819
19.2k
yy871:
18820
19.2k
  YYDEBUG(871, *YYCURSOR);
18821
19.2k
  yych = *++YYCURSOR;
18822
19.2k
  if (yych <= 'Q') {
18823
7.18k
    if (yych == ')') goto yy115;
18824
5.23k
    goto yy20;
18825
12.0k
  } else {
18826
12.0k
    if (yych <= 'R') goto yy973;
18827
10.6k
    if (yych == 'r') goto yy973;
18828
5.60k
    goto yy20;
18829
10.6k
  }
18830
33.5k
yy872:
18831
33.5k
  YYDEBUG(872, *YYCURSOR);
18832
33.5k
  yyaccept = 2;
18833
33.5k
  yych = *(YYMARKER = ++YYCURSOR);
18834
33.5k
  if (yych <= 'Q') {
18835
7.44k
    if (yych <= ',') {
18836
2.60k
      if (yych == ')') goto yy115;
18837
2.15k
      goto yy20;
18838
4.84k
    } else {
18839
4.84k
      if (yych == '.') goto yy20;
18840
4.11k
      if (yych <= '/') goto yy297;
18841
2.56k
      goto yy20;
18842
4.11k
    }
18843
26.1k
  } else {
18844
26.1k
    if (yych <= '`') {
18845
9.57k
      if (yych <= 'R') goto yy973;
18846
2.63k
      if (yych == '_') goto yy297;
18847
1.15k
      goto yy20;
18848
16.5k
    } else {
18849
16.5k
      if (yych == 'r') goto yy974;
18850
8.74k
      if (yych <= 'z') goto yy954;
18851
6.29k
      goto yy20;
18852
8.74k
    }
18853
26.1k
  }
18854
106k
yy873:
18855
106k
  YYDEBUG(873, *YYCURSOR);
18856
106k
  yyaccept = 2;
18857
106k
  yych = *(YYMARKER = ++YYCURSOR);
18858
106k
  if (yych <= 'T') {
18859
8.23k
    if (yych == ')') goto yy115;
18860
6.83k
    goto yy20;
18861
97.9k
  } else {
18862
97.9k
    if (yych <= 'U') goto yy997;
18863
95.7k
    if (yych == 'u') goto yy997;
18864
6.05k
    goto yy20;
18865
95.7k
  }
18866
46.0k
yy874:
18867
46.0k
  YYDEBUG(874, *YYCURSOR);
18868
46.0k
  yyaccept = 2;
18869
46.0k
  yych = *(YYMARKER = ++YYCURSOR);
18870
46.0k
  if (yych <= 'T') {
18871
9.70k
    if (yych <= ',') {
18872
5.11k
      if (yych == ')') goto yy115;
18873
2.34k
      goto yy20;
18874
5.11k
    } else {
18875
4.59k
      if (yych == '.') goto yy20;
18876
3.53k
      if (yych <= '/') goto yy297;
18877
2.43k
      goto yy20;
18878
3.53k
    }
18879
36.3k
  } else {
18880
36.3k
    if (yych <= '`') {
18881
6.72k
      if (yych <= 'U') goto yy997;
18882
2.96k
      if (yych == '_') goto yy297;
18883
2.54k
      goto yy20;
18884
29.6k
    } else {
18885
29.6k
      if (yych == 'u') goto yy998;
18886
10.9k
      if (yych <= 'z') goto yy954;
18887
9.42k
      goto yy20;
18888
10.9k
    }
18889
36.3k
  }
18890
31.8k
yy875:
18891
31.8k
  YYDEBUG(875, *YYCURSOR);
18892
31.8k
  yyaccept = 2;
18893
31.8k
  yych = *(YYMARKER = ++YYCURSOR);
18894
31.8k
  if (yych <= '@') {
18895
6.30k
    if (yych == ')') goto yy115;
18896
5.12k
    goto yy20;
18897
25.5k
  } else {
18898
25.5k
    if (yych <= 'A') goto yy999;
18899
16.0k
    if (yych == 'a') goto yy999;
18900
8.84k
    goto yy20;
18901
16.0k
  }
18902
17.4k
yy876:
18903
17.4k
  YYDEBUG(876, *YYCURSOR);
18904
17.4k
  yyaccept = 2;
18905
17.4k
  yych = *(YYMARKER = ++YYCURSOR);
18906
17.4k
  if (yych <= 'A') {
18907
6.59k
    if (yych == ')') goto yy115;
18908
5.82k
    goto yy20;
18909
10.8k
  } else {
18910
10.8k
    if (yych <= 'B') goto yy1000;
18911
6.43k
    if (yych == 'b') goto yy1000;
18912
2.24k
    goto yy20;
18913
6.43k
  }
18914
18.2k
yy877:
18915
18.2k
  YYDEBUG(877, *YYCURSOR);
18916
18.2k
  yyaccept = 2;
18917
18.2k
  yych = *(YYMARKER = ++YYCURSOR);
18918
18.2k
  if (yych <= 'G') {
18919
4.38k
    if (yych == ')') goto yy115;
18920
2.34k
    goto yy20;
18921
13.8k
  } else {
18922
13.8k
    if (yych <= 'H') goto yy1001;
18923
10.7k
    if (yych == 'h') goto yy1001;
18924
2.99k
    goto yy20;
18925
10.7k
  }
18926
51.5k
yy878:
18927
51.5k
  YYDEBUG(878, *YYCURSOR);
18928
51.5k
  yyaccept = 2;
18929
51.5k
  yych = *(YYMARKER = ++YYCURSOR);
18930
51.5k
  if (yych <= '@') {
18931
13.5k
    if (yych <= ',') {
18932
6.13k
      if (yych == ')') goto yy115;
18933
2.92k
      goto yy20;
18934
7.44k
    } else {
18935
7.44k
      if (yych == '.') goto yy20;
18936
3.27k
      if (yych <= '/') goto yy297;
18937
1.43k
      goto yy20;
18938
3.27k
    }
18939
37.9k
  } else {
18940
37.9k
    if (yych <= '_') {
18941
8.21k
      if (yych <= 'A') goto yy999;
18942
7.34k
      if (yych <= '^') goto yy20;
18943
3.58k
      goto yy297;
18944
29.7k
    } else {
18945
29.7k
      if (yych <= '`') goto yy20;
18946
27.7k
      if (yych <= 'a') goto yy1002;
18947
20.9k
      if (yych <= 'z') goto yy954;
18948
5.63k
      goto yy20;
18949
20.9k
    }
18950
37.9k
  }
18951
42.7k
yy879:
18952
42.7k
  YYDEBUG(879, *YYCURSOR);
18953
42.7k
  yyaccept = 2;
18954
42.7k
  yych = *(YYMARKER = ++YYCURSOR);
18955
42.7k
  if (yych <= 'A') {
18956
12.7k
    if (yych <= ',') {
18957
4.26k
      if (yych == ')') goto yy115;
18958
1.79k
      goto yy20;
18959
8.45k
    } else {
18960
8.45k
      if (yych == '.') goto yy20;
18961
7.53k
      if (yych <= '/') goto yy297;
18962
5.55k
      goto yy20;
18963
7.53k
    }
18964
29.9k
  } else {
18965
29.9k
    if (yych <= '`') {
18966
9.06k
      if (yych <= 'B') goto yy1000;
18967
7.33k
      if (yych == '_') goto yy297;
18968
3.91k
      goto yy20;
18969
20.9k
    } else {
18970
20.9k
      if (yych == 'b') goto yy1003;
18971
6.12k
      if (yych <= 'z') goto yy954;
18972
3.42k
      goto yy20;
18973
6.12k
    }
18974
29.9k
  }
18975
53.4k
yy880:
18976
53.4k
  YYDEBUG(880, *YYCURSOR);
18977
53.4k
  yyaccept = 2;
18978
53.4k
  yych = *(YYMARKER = ++YYCURSOR);
18979
53.4k
  if (yych <= 'G') {
18980
18.0k
    if (yych <= ',') {
18981
8.68k
      if (yych == ')') goto yy115;
18982
5.62k
      goto yy20;
18983
9.39k
    } else {
18984
9.39k
      if (yych == '.') goto yy20;
18985
7.34k
      if (yych <= '/') goto yy297;
18986
4.91k
      goto yy20;
18987
7.34k
    }
18988
35.4k
  } else {
18989
35.4k
    if (yych <= '`') {
18990
8.84k
      if (yych <= 'H') goto yy1001;
18991
4.26k
      if (yych == '_') goto yy297;
18992
3.49k
      goto yy20;
18993
26.5k
    } else {
18994
26.5k
      if (yych == 'h') goto yy1004;
18995
4.60k
      if (yych <= 'z') goto yy954;
18996
508
      goto yy20;
18997
4.60k
    }
18998
35.4k
  }
18999
30.0k
yy881:
19000
30.0k
  YYDEBUG(881, *YYCURSOR);
19001
30.0k
  yych = *++YYCURSOR;
19002
30.0k
  if (yych <= '/') goto yy59;
19003
23.8k
  if (yych <= '9') goto yy1005;
19004
5.50k
  goto yy59;
19005
6.74k
yy882:
19006
6.74k
  YYDEBUG(882, *YYCURSOR);
19007
6.74k
  yych = *++YYCURSOR;
19008
6.74k
  if (yych == '0') goto yy1005;
19009
6.00k
  goto yy59;
19010
17.3k
yy883:
19011
17.3k
  YYDEBUG(883, *YYCURSOR);
19012
17.3k
  yyaccept = 2;
19013
17.3k
  yych = *(YYMARKER = ++YYCURSOR);
19014
17.3k
  if (yych <= 'N') {
19015
3.79k
    if (yych == ')') goto yy115;
19016
2.00k
    goto yy20;
19017
13.5k
  } else {
19018
13.5k
    if (yych <= 'O') goto yy1006;
19019
12.2k
    if (yych == 'o') goto yy1006;
19020
6.57k
    goto yy20;
19021
12.2k
  }
19022
23.9k
yy884:
19023
23.9k
  YYDEBUG(884, *YYCURSOR);
19024
23.9k
  yych = *++YYCURSOR;
19025
23.9k
  if (yych <= 'X') {
19026
6.34k
    if (yych == ')') goto yy115;
19027
4.33k
    goto yy20;
19028
17.6k
  } else {
19029
17.6k
    if (yych <= 'Y') goto yy1007;
19030
13.3k
    if (yych == 'y') goto yy1007;
19031
7.96k
    goto yy20;
19032
13.3k
  }
19033
31.8k
yy885:
19034
31.8k
  YYDEBUG(885, *YYCURSOR);
19035
31.8k
  yyaccept = 2;
19036
31.8k
  yych = *(YYMARKER = ++YYCURSOR);
19037
31.8k
  if (yych <= 'N') {
19038
8.51k
    if (yych <= ',') {
19039
4.41k
      if (yych == ')') goto yy115;
19040
2.84k
      goto yy20;
19041
4.41k
    } else {
19042
4.09k
      if (yych == '.') goto yy20;
19043
3.00k
      if (yych <= '/') goto yy297;
19044
2.12k
      goto yy20;
19045
3.00k
    }
19046
23.2k
  } else {
19047
23.2k
    if (yych <= '`') {
19048
6.85k
      if (yych <= 'O') goto yy1006;
19049
5.64k
      if (yych == '_') goto yy297;
19050
4.78k
      goto yy20;
19051
16.4k
    } else {
19052
16.4k
      if (yych == 'o') goto yy1008;
19053
5.53k
      if (yych <= 'z') goto yy954;
19054
1.74k
      goto yy20;
19055
5.53k
    }
19056
23.2k
  }
19057
48.4k
yy886:
19058
48.4k
  YYDEBUG(886, *YYCURSOR);
19059
48.4k
  yyaccept = 2;
19060
48.4k
  yych = *(YYMARKER = ++YYCURSOR);
19061
48.4k
  if (yych <= 'X') {
19062
11.0k
    if (yych <= ',') {
19063
4.72k
      if (yych == ')') goto yy115;
19064
2.06k
      goto yy20;
19065
6.33k
    } else {
19066
6.33k
      if (yych == '.') goto yy20;
19067
5.19k
      if (yych <= '/') goto yy297;
19068
3.71k
      goto yy20;
19069
5.19k
    }
19070
37.3k
  } else {
19071
37.3k
    if (yych <= '`') {
19072
7.10k
      if (yych <= 'Y') goto yy1007;
19073
2.62k
      if (yych == '_') goto yy297;
19074
2.00k
      goto yy20;
19075
30.2k
    } else {
19076
30.2k
      if (yych == 'y') goto yy1009;
19077
6.35k
      if (yych <= 'z') goto yy954;
19078
2.88k
      goto yy20;
19079
6.35k
    }
19080
37.3k
  }
19081
23.1k
yy887:
19082
23.1k
  YYDEBUG(887, *YYCURSOR);
19083
23.1k
  yyaccept = 2;
19084
23.1k
  yych = *(YYMARKER = ++YYCURSOR);
19085
23.1k
  if (yych <= 'C') {
19086
10.9k
    if (yych == ')') goto yy115;
19087
10.5k
    goto yy20;
19088
12.2k
  } else {
19089
12.2k
    if (yych <= 'D') goto yy1010;
19090
9.71k
    if (yych == 'd') goto yy1010;
19091
2.76k
    goto yy20;
19092
9.71k
  }
19093
32.6k
yy888:
19094
32.6k
  YYDEBUG(888, *YYCURSOR);
19095
32.6k
  yyaccept = 2;
19096
32.6k
  yych = *(YYMARKER = ++YYCURSOR);
19097
32.6k
  if (yych <= 'C') {
19098
7.67k
    if (yych <= ',') {
19099
3.43k
      if (yych == ')') goto yy115;
19100
2.64k
      goto yy20;
19101
4.24k
    } else {
19102
4.24k
      if (yych == '.') goto yy20;
19103
3.42k
      if (yych <= '/') goto yy297;
19104
2.62k
      goto yy20;
19105
3.42k
    }
19106
24.9k
  } else {
19107
24.9k
    if (yych <= '`') {
19108
4.59k
      if (yych <= 'D') goto yy1010;
19109
2.03k
      if (yych == '_') goto yy297;
19110
1.15k
      goto yy20;
19111
20.3k
    } else {
19112
20.3k
      if (yych == 'd') goto yy1011;
19113
4.63k
      if (yych <= 'z') goto yy954;
19114
2.01k
      goto yy20;
19115
4.63k
    }
19116
24.9k
  }
19117
30.2k
yy889:
19118
30.2k
  YYDEBUG(889, *YYCURSOR);
19119
30.2k
  yyaccept = 2;
19120
30.2k
  yych = *(YYMARKER = ++YYCURSOR);
19121
30.2k
  if (yych <= 'C') {
19122
7.89k
    if (yych == ')') goto yy115;
19123
5.13k
    goto yy20;
19124
22.3k
  } else {
19125
22.3k
    if (yych <= 'D') goto yy1012;
19126
19.7k
    if (yych == 'd') goto yy1012;
19127
5.87k
    goto yy20;
19128
19.7k
  }
19129
45.8k
yy890:
19130
45.8k
  YYDEBUG(890, *YYCURSOR);
19131
45.8k
  yyaccept = 2;
19132
45.8k
  yych = *(YYMARKER = ++YYCURSOR);
19133
45.8k
  if (yych <= 'C') {
19134
15.5k
    if (yych <= ',') {
19135
3.96k
      if (yych == ')') goto yy115;
19136
3.02k
      goto yy20;
19137
11.6k
    } else {
19138
11.6k
      if (yych == '.') goto yy20;
19139
10.7k
      if (yych <= '/') goto yy297;
19140
10.3k
      goto yy20;
19141
10.7k
    }
19142
30.2k
  } else {
19143
30.2k
    if (yych <= '`') {
19144
8.91k
      if (yych <= 'D') goto yy1012;
19145
3.09k
      if (yych == '_') goto yy297;
19146
1.99k
      goto yy20;
19147
21.3k
    } else {
19148
21.3k
      if (yych == 'd') goto yy1013;
19149
7.23k
      if (yych <= 'z') goto yy954;
19150
3.13k
      goto yy20;
19151
7.23k
    }
19152
30.2k
  }
19153
41.9k
yy891:
19154
41.9k
  YYDEBUG(891, *YYCURSOR);
19155
41.9k
  yych = *++YYCURSOR;
19156
41.9k
  if (yych <= '/') goto yy59;
19157
38.4k
  if (yych <= '9') goto yy1014;
19158
5.36k
  goto yy59;
19159
43.4k
yy892:
19160
43.4k
  YYDEBUG(892, *YYCURSOR);
19161
43.4k
  yych = *++YYCURSOR;
19162
43.4k
  if (yych <= '/') goto yy59;
19163
41.0k
  if (yych <= '2') goto yy1014;
19164
7.87k
  goto yy59;
19165
151k
yy893:
19166
151k
  YYDEBUG(893, *YYCURSOR);
19167
151k
  yych = *++YYCURSOR;
19168
151k
  if (yych <= '/') goto yy59;
19169
141k
  if (yych <= '0') goto yy1015;
19170
108k
  if (yych <= '1') goto yy1016;
19171
63.9k
  goto yy59;
19172
270k
yy894:
19173
270k
  YYDEBUG(894, *YYCURSOR);
19174
270k
  yyaccept = 2;
19175
270k
  yych = *(YYMARKER = ++YYCURSOR);
19176
270k
  if (yych <= 'W') {
19177
227k
    if (yych <= 'D') {
19178
207k
      if (yych <= ',') {
19179
18.0k
        if (yych <= '\t') {
19180
8.14k
          if (yych <= 0x08) goto yy20;
19181
3.44k
          goto yy196;
19182
9.89k
        } else {
19183
9.89k
          if (yych == ' ') goto yy196;
19184
6.97k
          goto yy20;
19185
9.89k
        }
19186
189k
      } else {
19187
189k
        if (yych <= '/') {
19188
12.6k
          if (yych <= '-') goto yy893;
19189
2.54k
          goto yy20;
19190
177k
        } else {
19191
177k
          if (yych <= '9') goto yy1017;
19192
8.26k
          if (yych <= 'C') goto yy20;
19193
1.02k
          goto yy196;
19194
8.26k
        }
19195
189k
      }
19196
207k
    } else {
19197
19.5k
      if (yych <= 'L') {
19198
8.46k
        if (yych <= 'F') {
19199
5.82k
          if (yych <= 'E') goto yy20;
19200
1.44k
          goto yy196;
19201
5.82k
        } else {
19202
2.64k
          if (yych == 'H') goto yy196;
19203
1.51k
          goto yy20;
19204
2.64k
        }
19205
11.0k
      } else {
19206
11.0k
        if (yych <= 'R') {
19207
4.80k
          if (yych <= 'M') goto yy196;
19208
2.58k
          goto yy20;
19209
6.26k
        } else {
19210
6.26k
          if (yych == 'V') goto yy20;
19211
3.86k
          goto yy196;
19212
6.26k
        }
19213
11.0k
      }
19214
19.5k
    }
19215
227k
  } else {
19216
43.1k
    if (yych <= 'm') {
19217
19.4k
      if (yych <= 'e') {
19218
9.04k
        if (yych <= 'Y') {
19219
4.64k
          if (yych <= 'X') goto yy20;
19220
3.40k
          goto yy196;
19221
4.64k
        } else {
19222
4.40k
          if (yych == 'd') goto yy196;
19223
3.83k
          goto yy20;
19224
4.40k
        }
19225
10.3k
      } else {
19226
10.3k
        if (yych <= 'g') {
19227
2.39k
          if (yych <= 'f') goto yy196;
19228
1.25k
          goto yy20;
19229
8.00k
        } else {
19230
8.00k
          if (yych <= 'h') goto yy196;
19231
1.53k
          if (yych <= 'l') goto yy20;
19232
593
          goto yy196;
19233
1.53k
        }
19234
10.3k
      }
19235
23.6k
    } else {
19236
23.6k
      if (yych <= 'x') {
19237
11.5k
        if (yych <= 'u') {
19238
9.25k
          if (yych <= 'r') goto yy20;
19239
4.25k
          goto yy196;
19240
9.25k
        } else {
19241
2.27k
          if (yych == 'w') goto yy196;
19242
1.19k
          goto yy20;
19243
2.27k
        }
19244
12.1k
      } else {
19245
12.1k
        if (yych <= 0xC2) {
19246
5.69k
          if (yych <= 'y') goto yy196;
19247
4.25k
          if (yych <= 0xC1) goto yy20;
19248
1.10k
          goto yy97;
19249
6.47k
        } else {
19250
6.47k
          if (yych == 0xE2) goto yy98;
19251
4.64k
          goto yy20;
19252
6.47k
        }
19253
12.1k
      }
19254
23.6k
    }
19255
43.1k
  }
19256
386k
yy895:
19257
386k
  YYDEBUG(895, *YYCURSOR);
19258
386k
  yych = *++YYCURSOR;
19259
386k
  if (yych <= '9') {
19260
337k
    if (yych == '-') goto yy893;
19261
323k
    if (yych <= '/') goto yy196;
19262
306k
    goto yy1017;
19263
323k
  } else {
19264
48.4k
    if (yych <= 0xC2) {
19265
37.8k
      if (yych <= 0xC1) goto yy196;
19266
5.06k
      goto yy97;
19267
37.8k
    } else {
19268
10.6k
      if (yych == 0xE2) goto yy98;
19269
6.08k
      goto yy196;
19270
10.6k
    }
19271
48.4k
  }
19272
31.2k
yy896:
19273
31.2k
  YYDEBUG(896, *YYCURSOR);
19274
31.2k
  yych = *++YYCURSOR;
19275
31.2k
  if (yych <= '/') goto yy59;
19276
26.4k
  if (yych <= '5') goto yy1018;
19277
15.1k
  if (yych <= '6') goto yy1019;
19278
5.99k
  goto yy59;
19279
72.9k
yy897:
19280
72.9k
  YYDEBUG(897, *YYCURSOR);
19281
72.9k
  yych = *++YYCURSOR;
19282
72.9k
  if (yych <= '/') goto yy59;
19283
63.0k
  if (yych <= '9') goto yy1020;
19284
22.3k
  goto yy59;
19285
28.0k
yy898:
19286
28.0k
  YYDEBUG(898, *YYCURSOR);
19287
28.0k
  ++YYCURSOR;
19288
28.0k
  goto yy567;
19289
127k
yy899:
19290
127k
  YYDEBUG(899, *YYCURSOR);
19291
127k
  ++YYCURSOR;
19292
127k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
19293
127k
  yych = *YYCURSOR;
19294
127k
  YYDEBUG(900, *YYCURSOR);
19295
127k
  if (yych <= '/') goto yy177;
19296
92.1k
  if (yych <= '9') goto yy899;
19297
34.3k
  goto yy177;
19298
34.3k
yy901:
19299
17.7k
  YYDEBUG(901, *YYCURSOR);
19300
17.7k
  yych = *++YYCURSOR;
19301
17.7k
  if (yych <= '/') goto yy224;
19302
13.1k
  if (yych <= '9') goto yy1022;
19303
3.71k
  goto yy224;
19304
267k
yy902:
19305
267k
  YYDEBUG(902, *YYCURSOR);
19306
267k
  yych = *++YYCURSOR;
19307
267k
  if (yych <= '/') goto yy59;
19308
258k
  if (yych <= '9') goto yy1023;
19309
14.7k
  goto yy59;
19310
50.0k
yy903:
19311
50.0k
  YYDEBUG(903, *YYCURSOR);
19312
50.0k
  yyaccept = 15;
19313
50.0k
  yych = *(YYMARKER = ++YYCURSOR);
19314
50.0k
  if (yych <= 'n') {
19315
33.6k
    if (yych <= '/') goto yy567;
19316
28.3k
    if (yych <= '9') goto yy1024;
19317
7.80k
    if (yych <= 'm') goto yy567;
19318
2.68k
    goto yy741;
19319
16.4k
  } else {
19320
16.4k
    if (yych <= 'r') {
19321
5.75k
      if (yych <= 'q') goto yy567;
19322
3.09k
      goto yy741;
19323
10.6k
    } else {
19324
10.6k
      if (yych <= 's') goto yy742;
19325
7.50k
      if (yych <= 't') goto yy743;
19326
5.44k
      goto yy567;
19327
7.50k
    }
19328
16.4k
  }
19329
41.1k
yy904:
19330
41.1k
  YYDEBUG(904, *YYCURSOR);
19331
41.1k
  yyaccept = 15;
19332
41.1k
  yych = *(YYMARKER = ++YYCURSOR);
19333
41.1k
  if (yych <= 'n') {
19334
19.9k
    if (yych <= '1') {
19335
9.26k
      if (yych <= '/') goto yy567;
19336
5.14k
      goto yy1024;
19337
10.6k
    } else {
19338
10.6k
      if (yych <= '9') goto yy737;
19339
7.16k
      if (yych <= 'm') goto yy567;
19340
1.37k
      goto yy741;
19341
7.16k
    }
19342
21.2k
  } else {
19343
21.2k
    if (yych <= 'r') {
19344
8.85k
      if (yych <= 'q') goto yy567;
19345
5.17k
      goto yy741;
19346
12.3k
    } else {
19347
12.3k
      if (yych <= 's') goto yy742;
19348
4.90k
      if (yych <= 't') goto yy743;
19349
3.41k
      goto yy567;
19350
4.90k
    }
19351
21.2k
  }
19352
115k
yy905:
19353
115k
  YYDEBUG(905, *YYCURSOR);
19354
115k
  yych = *++YYCURSOR;
19355
115k
  if (yych <= '/') goto yy59;
19356
107k
  if (yych <= '2') goto yy1026;
19357
57.3k
  if (yych <= '3') goto yy1027;
19358
26.3k
  if (yych <= '9') goto yy1028;
19359
10.4k
  goto yy59;
19360
141k
yy906:
19361
141k
  YYDEBUG(906, *YYCURSOR);
19362
141k
  yyaccept = 18;
19363
141k
  yych = *(YYMARKER = ++YYCURSOR);
19364
141k
  if (yych == '-') goto yy1029;
19365
19.3k
  if (yych <= '0') goto yy752;
19366
11.7k
  if (yych <= '9') goto yy1030;
19367
9.48k
  goto yy752;
19368
173k
yy907:
19369
173k
  YYDEBUG(907, *YYCURSOR);
19370
173k
  yyaccept = 18;
19371
173k
  yych = *(YYMARKER = ++YYCURSOR);
19372
173k
  if (yych == '-') goto yy1029;
19373
33.4k
  if (yych <= '/') goto yy752;
19374
24.4k
  if (yych <= '9') goto yy1030;
19375
12.0k
  goto yy752;
19376
45.4k
yy908:
19377
45.4k
  YYDEBUG(908, *YYCURSOR);
19378
45.4k
  yych = *++YYCURSOR;
19379
45.4k
  if (yych <= '/') goto yy59;
19380
36.2k
  if (yych <= '9') goto yy1030;
19381
13.7k
  goto yy59;
19382
13.7k
yy909:
19383
8.63k
  YYDEBUG(909, *YYCURSOR);
19384
8.63k
  yych = *++YYCURSOR;
19385
8.63k
  if (yych <= '/') goto yy59;
19386
5.50k
  if (yych <= '6') goto yy1030;
19387
2.28k
  goto yy59;
19388
25.1k
yy910:
19389
25.1k
  YYDEBUG(910, *YYCURSOR);
19390
25.1k
  yych = *++YYCURSOR;
19391
25.1k
  if (yych == 'R') goto yy1031;
19392
23.7k
  if (yych == 'r') goto yy1031;
19393
6.86k
  goto yy59;
19394
32.0k
yy911:
19395
32.0k
  YYDEBUG(911, *YYCURSOR);
19396
32.0k
  yych = *++YYCURSOR;
19397
32.0k
  if (yych == 'G') goto yy1032;
19398
20.4k
  if (yych == 'g') goto yy1032;
19399
7.06k
  goto yy59;
19400
16.0k
yy912:
19401
16.0k
  YYDEBUG(912, *YYCURSOR);
19402
16.0k
  yych = *++YYCURSOR;
19403
16.0k
  if (yych == 'C') goto yy1033;
19404
11.5k
  if (yych == 'c') goto yy1033;
19405
4.72k
  goto yy59;
19406
32.5k
yy913:
19407
32.5k
  YYDEBUG(913, *YYCURSOR);
19408
32.5k
  yych = *++YYCURSOR;
19409
32.5k
  if (yych == 'B') goto yy1034;
19410
23.4k
  if (yych == 'b') goto yy1034;
19411
8.03k
  goto yy59;
19412
13.0k
yy914:
19413
13.0k
  YYDEBUG(914, *YYCURSOR);
19414
13.0k
  yych = *++YYCURSOR;
19415
13.0k
  if (yych == 'N') goto yy1035;
19416
10.8k
  if (yych == 'n') goto yy1035;
19417
3.45k
  goto yy59;
19418
31.6k
yy915:
19419
31.6k
  YYDEBUG(915, *YYCURSOR);
19420
31.6k
  yych = *++YYCURSOR;
19421
31.6k
  if (yych <= 'N') {
19422
13.5k
    if (yych == 'L') goto yy1036;
19423
9.85k
    if (yych <= 'M') goto yy59;
19424
6.66k
    goto yy1037;
19425
18.1k
  } else {
19426
18.1k
    if (yych <= 'l') {
19427
6.42k
      if (yych <= 'k') goto yy59;
19428
4.04k
      goto yy1036;
19429
11.7k
    } else {
19430
11.7k
      if (yych == 'n') goto yy1037;
19431
5.95k
      goto yy59;
19432
11.7k
    }
19433
18.1k
  }
19434
30.4k
yy916:
19435
30.4k
  YYDEBUG(916, *YYCURSOR);
19436
30.4k
  yych = *++YYCURSOR;
19437
30.4k
  if (yych <= 'Y') {
19438
15.7k
    if (yych == 'R') goto yy1038;
19439
8.76k
    if (yych <= 'X') goto yy59;
19440
1.15k
    goto yy1039;
19441
14.7k
  } else {
19442
14.7k
    if (yych <= 'r') {
19443
6.60k
      if (yych <= 'q') goto yy59;
19444
4.91k
      goto yy1038;
19445
8.13k
    } else {
19446
8.13k
      if (yych == 'y') goto yy1039;
19447
2.92k
      goto yy59;
19448
8.13k
    }
19449
14.7k
  }
19450
17.4k
yy917:
19451
17.4k
  YYDEBUG(917, *YYCURSOR);
19452
17.4k
  yych = *++YYCURSOR;
19453
17.4k
  if (yych == 'V') goto yy1033;
19454
15.8k
  if (yych == 'v') goto yy1033;
19455
6.24k
  goto yy59;
19456
14.3k
yy918:
19457
14.3k
  YYDEBUG(918, *YYCURSOR);
19458
14.3k
  yych = *++YYCURSOR;
19459
14.3k
  if (yych == 'T') goto yy1040;
19460
9.72k
  if (yych == 't') goto yy1040;
19461
3.12k
  goto yy59;
19462
15.4k
yy919:
19463
15.4k
  YYDEBUG(919, *YYCURSOR);
19464
15.4k
  yych = *++YYCURSOR;
19465
15.4k
  if (yych == 'P') goto yy1041;
19466
10.7k
  if (yych == 'p') goto yy1041;
19467
4.11k
  goto yy59;
19468
16.7k
yy920:
19469
16.7k
  YYDEBUG(920, *YYCURSOR);
19470
16.7k
  yych = *++YYCURSOR;
19471
16.7k
  if (yych <= '0') goto yy59;
19472
3.32k
  if (yych <= '9') goto yy1030;
19473
1.81k
  goto yy59;
19474
6.44k
yy921:
19475
6.44k
  YYDEBUG(921, *YYCURSOR);
19476
6.44k
  yych = *++YYCURSOR;
19477
6.44k
  if (yych == 'P') goto yy940;
19478
4.60k
  if (yych == 'p') goto yy940;
19479
4.15k
  goto yy59;
19480
69.6k
yy922:
19481
69.6k
  YYDEBUG(922, *YYCURSOR);
19482
69.6k
  yych = *++YYCURSOR;
19483
69.6k
  if (yych <= '/') goto yy59;
19484
66.0k
  if (yych <= '2') goto yy1042;
19485
32.2k
  if (yych <= '3') goto yy1044;
19486
11.7k
  if (yych <= '9') goto yy1045;
19487
5.46k
  goto yy59;
19488
77.9k
yy923:
19489
77.9k
  YYDEBUG(923, *YYCURSOR);
19490
77.9k
  yych = *++YYCURSOR;
19491
77.9k
  if (yych == '/') goto yy1046;
19492
18.9k
  goto yy59;
19493
1.50M
yy924:
19494
1.50M
  YYDEBUG(924, *YYCURSOR);
19495
1.50M
  yych = *++YYCURSOR;
19496
1.50M
  if (yych <= 0xC1) {
19497
1.49M
    if (yych <= '/') goto yy196;
19498
1.42M
    if (yych <= '9') goto yy1047;
19499
54.3k
    goto yy196;
19500
1.42M
  } else {
19501
15.5k
    if (yych <= 0xC2) goto yy97;
19502
13.8k
    if (yych == 0xE2) goto yy98;
19503
9.71k
    goto yy196;
19504
13.8k
  }
19505
645k
yy925:
19506
645k
  YYDEBUG(925, *YYCURSOR);
19507
645k
  yyaccept = 21;
19508
645k
  yych = *(YYMARKER = ++YYCURSOR);
19509
645k
  if (yych <= 'X') {
19510
577k
    if (yych <= 'E') {
19511
547k
      if (yych <= ' ') {
19512
30.9k
        if (yych == '\t') goto yy196;
19513
26.9k
        if (yych >= ' ') goto yy196;
19514
516k
      } else {
19515
516k
        if (yych <= '9') {
19516
496k
          if (yych >= '0') goto yy1047;
19517
496k
        } else {
19518
20.3k
          if (yych == 'D') goto yy196;
19519
20.3k
        }
19520
516k
      }
19521
547k
    } else {
19522
30.2k
      if (yych <= 'M') {
19523
11.8k
        if (yych <= 'G') {
19524
5.91k
          if (yych <= 'F') goto yy196;
19525
5.92k
        } else {
19526
5.92k
          if (yych <= 'H') goto yy196;
19527
4.93k
          if (yych >= 'M') goto yy196;
19528
4.93k
        }
19529
18.4k
      } else {
19530
18.4k
        if (yych <= 'U') {
19531
12.1k
          if (yych >= 'S') goto yy196;
19532
12.1k
        } else {
19533
6.26k
          if (yych == 'W') goto yy196;
19534
6.26k
        }
19535
18.4k
      }
19536
30.2k
    }
19537
577k
  } else {
19538
68.0k
    if (yych <= 'r') {
19539
25.8k
      if (yych <= 'f') {
19540
10.3k
        if (yych <= 'c') {
19541
4.61k
          if (yych <= 'Y') goto yy196;
19542
5.74k
        } else {
19543
5.74k
          if (yych != 'e') goto yy196;
19544
5.74k
        }
19545
15.4k
      } else {
19546
15.4k
        if (yych <= 'h') {
19547
5.53k
          if (yych >= 'h') goto yy196;
19548
9.93k
        } else {
19549
9.93k
          if (yych == 'm') goto yy196;
19550
9.93k
        }
19551
15.4k
      }
19552
42.2k
    } else {
19553
42.2k
      if (yych <= 'y') {
19554
16.6k
        if (yych <= 'v') {
19555
9.43k
          if (yych <= 'u') goto yy196;
19556
9.43k
        } else {
19557
7.25k
          if (yych != 'x') goto yy196;
19558
7.25k
        }
19559
25.5k
      } else {
19560
25.5k
        if (yych <= 0xC2) {
19561
12.7k
          if (yych >= 0xC2) goto yy97;
19562
12.7k
        } else {
19563
12.7k
          if (yych == 0xE2) goto yy98;
19564
12.7k
        }
19565
25.5k
      }
19566
42.2k
    }
19567
68.0k
  }
19568
1.39M
yy926:
19569
1.39M
  YYDEBUG(926, *YYCURSOR);
19570
1.39M
#line 1696 "ext/date/lib/parse_date.re"
19571
1.39M
  {
19572
1.39M
    int length = 0;
19573
1.39M
    DEBUG_OUTPUT("pgydotd");
19574
1.39M
    TIMELIB_INIT;
19575
1.39M
    TIMELIB_HAVE_DATE();
19576
121k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
19577
121k
    s->time->d = timelib_get_nr(&ptr, 3);
19578
121k
    s->time->m = 1;
19579
121k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
19580
121k
    TIMELIB_DEINIT;
19581
121k
    return TIMELIB_PG_YEARDAY;
19582
1.39M
  }
19583
0
#line 19584 "ext/date/lib/parse_date.c"
19584
184k
yy927:
19585
184k
  YYDEBUG(927, *YYCURSOR);
19586
184k
  yyaccept = 21;
19587
184k
  yych = *(YYMARKER = ++YYCURSOR);
19588
184k
  if (yych <= 'X') {
19589
149k
    if (yych <= 'E') {
19590
125k
      if (yych <= '/') {
19591
14.3k
        if (yych <= '\t') {
19592
4.54k
          if (yych <= 0x08) goto yy926;
19593
2.91k
          goto yy196;
19594
9.82k
        } else {
19595
9.82k
          if (yych == ' ') goto yy196;
19596
7.39k
          goto yy926;
19597
9.82k
        }
19598
110k
      } else {
19599
110k
        if (yych <= '9') {
19600
104k
          if (yych <= '1') goto yy1047;
19601
75.3k
          goto yy1049;
19602
104k
        } else {
19603
5.79k
          if (yych == 'D') goto yy196;
19604
3.05k
          goto yy926;
19605
5.79k
        }
19606
110k
      }
19607
125k
    } else {
19608
23.8k
      if (yych <= 'M') {
19609
14.9k
        if (yych <= 'G') {
19610
3.08k
          if (yych <= 'F') goto yy196;
19611
652
          goto yy926;
19612
11.8k
        } else {
19613
11.8k
          if (yych <= 'H') goto yy196;
19614
10.6k
          if (yych <= 'L') goto yy926;
19615
3.84k
          goto yy196;
19616
10.6k
        }
19617
14.9k
      } else {
19618
8.93k
        if (yych <= 'U') {
19619
5.30k
          if (yych <= 'R') goto yy926;
19620
1.66k
          goto yy196;
19621
5.30k
        } else {
19622
3.63k
          if (yych == 'W') goto yy196;
19623
2.60k
          goto yy926;
19624
3.63k
        }
19625
8.93k
      }
19626
23.8k
    }
19627
149k
  } else {
19628
35.3k
    if (yych <= 'r') {
19629
20.3k
      if (yych <= 'f') {
19630
13.1k
        if (yych <= 'c') {
19631
8.29k
          if (yych <= 'Y') goto yy196;
19632
2.76k
          goto yy926;
19633
8.29k
        } else {
19634
4.84k
          if (yych == 'e') goto yy926;
19635
1.86k
          goto yy196;
19636
4.84k
        }
19637
13.1k
      } else {
19638
7.21k
        if (yych <= 'h') {
19639
3.11k
          if (yych <= 'g') goto yy926;
19640
1.12k
          goto yy196;
19641
4.09k
        } else {
19642
4.09k
          if (yych == 'm') goto yy196;
19643
1.91k
          goto yy926;
19644
4.09k
        }
19645
7.21k
      }
19646
20.3k
    } else {
19647
15.0k
      if (yych <= 'y') {
19648
6.49k
        if (yych <= 'v') {
19649
2.45k
          if (yych <= 'u') goto yy196;
19650
393
          goto yy926;
19651
4.03k
        } else {
19652
4.03k
          if (yych == 'x') goto yy926;
19653
2.34k
          goto yy196;
19654
4.03k
        }
19655
8.50k
      } else {
19656
8.50k
        if (yych <= 0xC2) {
19657
4.57k
          if (yych <= 0xC1) goto yy926;
19658
2.84k
          goto yy97;
19659
4.57k
        } else {
19660
3.92k
          if (yych == 0xE2) goto yy98;
19661
2.70k
          goto yy926;
19662
3.92k
        }
19663
8.50k
      }
19664
15.0k
    }
19665
35.3k
  }
19666
1.03M
yy928:
19667
1.03M
  YYDEBUG(928, *YYCURSOR);
19668
1.03M
  yyaccept = 21;
19669
1.03M
  yych = *(YYMARKER = ++YYCURSOR);
19670
1.03M
  if (yych <= 'X') {
19671
942k
    if (yych <= 'E') {
19672
903k
      if (yych <= ' ') {
19673
54.7k
        if (yych == '\t') goto yy196;
19674
49.1k
        if (yych <= 0x1F) goto yy926;
19675
10.8k
        goto yy196;
19676
849k
      } else {
19677
849k
        if (yych <= '9') {
19678
804k
          if (yych <= '/') goto yy926;
19679
767k
          goto yy1049;
19680
804k
        } else {
19681
44.8k
          if (yych == 'D') goto yy196;
19682
41.3k
          goto yy926;
19683
44.8k
        }
19684
849k
      }
19685
903k
    } else {
19686
39.1k
      if (yych <= 'M') {
19687
22.5k
        if (yych <= 'G') {
19688
12.7k
          if (yych <= 'F') goto yy196;
19689
3.31k
          goto yy926;
19690
12.7k
        } else {
19691
9.80k
          if (yych <= 'H') goto yy196;
19692
7.45k
          if (yych <= 'L') goto yy926;
19693
4.12k
          goto yy196;
19694
7.45k
        }
19695
22.5k
      } else {
19696
16.6k
        if (yych <= 'U') {
19697
11.4k
          if (yych <= 'R') goto yy926;
19698
6.84k
          goto yy196;
19699
11.4k
        } else {
19700
5.23k
          if (yych == 'W') goto yy196;
19701
2.97k
          goto yy926;
19702
5.23k
        }
19703
16.6k
      }
19704
39.1k
    }
19705
942k
  } else {
19706
91.0k
    if (yych <= 'r') {
19707
34.8k
      if (yych <= 'f') {
19708
12.2k
        if (yych <= 'c') {
19709
6.04k
          if (yych <= 'Y') goto yy196;
19710
3.91k
          goto yy926;
19711
6.24k
        } else {
19712
6.24k
          if (yych == 'e') goto yy926;
19713
2.41k
          goto yy196;
19714
6.24k
        }
19715
22.6k
      } else {
19716
22.6k
        if (yych <= 'h') {
19717
5.78k
          if (yych <= 'g') goto yy926;
19718
4.08k
          goto yy196;
19719
16.8k
        } else {
19720
16.8k
          if (yych == 'm') goto yy196;
19721
8.74k
          goto yy926;
19722
16.8k
        }
19723
22.6k
      }
19724
56.1k
    } else {
19725
56.1k
      if (yych <= 'y') {
19726
14.7k
        if (yych <= 'v') {
19727
7.76k
          if (yych <= 'u') goto yy196;
19728
1.80k
          goto yy926;
19729
7.76k
        } else {
19730
6.96k
          if (yych == 'x') goto yy926;
19731
3.89k
          goto yy196;
19732
6.96k
        }
19733
41.4k
      } else {
19734
41.4k
        if (yych <= 0xC2) {
19735
18.2k
          if (yych <= 0xC1) goto yy926;
19736
4.88k
          goto yy97;
19737
23.1k
        } else {
19738
23.1k
          if (yych == 0xE2) goto yy98;
19739
19.5k
          goto yy926;
19740
23.1k
        }
19741
41.4k
      }
19742
56.1k
    }
19743
91.0k
  }
19744
2.80M
yy929:
19745
2.80M
  YYDEBUG(929, *YYCURSOR);
19746
2.80M
  yych = *++YYCURSOR;
19747
2.80M
  if (yych <= 0xC1) {
19748
2.72M
    if (yych <= '/') goto yy196;
19749
2.50M
    if (yych <= '9') goto yy1049;
19750
192k
    goto yy196;
19751
2.50M
  } else {
19752
81.3k
    if (yych <= 0xC2) goto yy97;
19753
56.8k
    if (yych == 0xE2) goto yy98;
19754
37.6k
    goto yy196;
19755
56.8k
  }
19756
136k
yy930:
19757
136k
  YYDEBUG(930, *YYCURSOR);
19758
136k
  yych = *++YYCURSOR;
19759
136k
  if (yych == ':') goto yy1050;
19760
29.2k
  goto yy59;
19761
29.2k
yy931:
19762
7.94k
  YYDEBUG(931, *YYCURSOR);
19763
7.94k
  yyaccept = 22;
19764
7.94k
  yych = *(YYMARKER = ++YYCURSOR);
19765
7.94k
  if (yych == 'I') goto yy1051;
19766
5.47k
  if (yych == 'i') goto yy1051;
19767
2.90k
  goto yy600;
19768
17.2k
yy932:
19769
17.2k
  YYDEBUG(932, *YYCURSOR);
19770
17.2k
  yyaccept = 22;
19771
17.2k
  yych = *(YYMARKER = ++YYCURSOR);
19772
17.2k
  if (yych == 'U') goto yy1052;
19773
15.2k
  if (yych == 'u') goto yy1052;
19774
6.44k
  goto yy600;
19775
34.9k
yy933:
19776
34.9k
  YYDEBUG(933, *YYCURSOR);
19777
34.9k
  yyaccept = 22;
19778
34.9k
  yych = *(YYMARKER = ++YYCURSOR);
19779
34.9k
  if (yych == 'E') goto yy1053;
19780
27.9k
  if (yych == 'e') goto yy1053;
19781
12.6k
  goto yy600;
19782
15.2k
yy934:
19783
15.2k
  YYDEBUG(934, *YYCURSOR);
19784
15.2k
  yyaccept = 22;
19785
15.2k
  yych = *(YYMARKER = ++YYCURSOR);
19786
15.2k
  if (yych == 'R') goto yy1054;
19787
10.9k
  if (yych == 'r') goto yy1054;
19788
4.42k
  goto yy600;
19789
13.7k
yy935:
19790
13.7k
  YYDEBUG(935, *YYCURSOR);
19791
13.7k
  yyaccept = 22;
19792
13.7k
  yych = *(YYMARKER = ++YYCURSOR);
19793
13.7k
  if (yych == 'U') goto yy1055;
19794
9.76k
  if (yych == 'u') goto yy1055;
19795
2.85k
  goto yy600;
19796
4.74k
yy936:
19797
4.74k
  YYDEBUG(936, *YYCURSOR);
19798
4.74k
  yych = *++YYCURSOR;
19799
4.74k
  if (yych == 'Y') goto yy790;
19800
3.69k
  if (yych == 'y') goto yy790;
19801
2.75k
  goto yy600;
19802
10.1k
yy937:
19803
10.1k
  YYDEBUG(937, *YYCURSOR);
19804
10.1k
  yych = *++YYCURSOR;
19805
10.1k
  if (yych == 'E') goto yy790;
19806
7.94k
  if (yych == 'e') goto yy790;
19807
6.08k
  goto yy600;
19808
10.6k
yy938:
19809
10.6k
  YYDEBUG(938, *YYCURSOR);
19810
10.6k
  yyaccept = 22;
19811
10.6k
  yych = *(YYMARKER = ++YYCURSOR);
19812
10.6k
  if (yych == 'C') goto yy1056;
19813
7.26k
  if (yych == 'c') goto yy1056;
19814
4.37k
  goto yy600;
19815
8.94k
yy939:
19816
8.94k
  YYDEBUG(939, *YYCURSOR);
19817
8.94k
  yyaccept = 22;
19818
8.94k
  yych = *(YYMARKER = ++YYCURSOR);
19819
8.94k
  if (yych == 'O') goto yy1057;
19820
6.90k
  if (yych == 'o') goto yy1057;
19821
3.17k
  goto yy600;
19822
29.6k
yy940:
19823
29.6k
  YYDEBUG(940, *YYCURSOR);
19824
29.6k
  yych = *++YYCURSOR;
19825
29.6k
  if (yych == 'T') goto yy933;
19826
28.1k
  if (yych == 't') goto yy933;
19827
9.39k
  goto yy600;
19828
40.9k
yy941:
19829
40.9k
  YYDEBUG(941, *YYCURSOR);
19830
40.9k
  yyaccept = 23;
19831
40.9k
  yych = *(YYMARKER = ++YYCURSOR);
19832
40.9k
  if (yych == '-') goto yy1058;
19833
30.5k
  if (yych <= '/') goto yy942;
19834
28.5k
  if (yych <= '7') goto yy1059;
19835
30.8k
yy942:
19836
30.8k
  YYDEBUG(942, *YYCURSOR);
19837
30.8k
#line 1729 "ext/date/lib/parse_date.re"
19838
30.8k
  {
19839
30.8k
    timelib_sll w, d;
19840
30.8k
    DEBUG_OUTPUT("isoweek");
19841
30.8k
    TIMELIB_INIT;
19842
30.8k
    TIMELIB_HAVE_DATE();
19843
5.28k
    TIMELIB_HAVE_RELATIVE();
19844
19845
5.28k
    s->time->y = timelib_get_nr(&ptr, 4);
19846
5.28k
    w = timelib_get_nr(&ptr, 2);
19847
5.28k
    d = 1;
19848
5.28k
    s->time->m = 1;
19849
5.28k
    s->time->d = 1;
19850
5.28k
    s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
19851
19852
5.28k
    TIMELIB_DEINIT;
19853
5.28k
    return TIMELIB_ISO_WEEK;
19854
30.8k
  }
19855
0
#line 19856 "ext/date/lib/parse_date.c"
19856
13.6k
yy943:
19857
13.6k
  YYDEBUG(943, *YYCURSOR);
19858
13.6k
  yych = *++YYCURSOR;
19859
13.6k
  if (yych == 'G') goto yy1061;
19860
10.8k
  if (yych == 'g') goto yy1061;
19861
6.84k
  goto yy59;
19862
16.5k
yy944:
19863
16.5k
  YYDEBUG(944, *YYCURSOR);
19864
16.5k
  yych = *++YYCURSOR;
19865
16.5k
  if (yych == 'Y') goto yy253;
19866
12.5k
  if (yych == 'y') goto yy253;
19867
10.4k
  goto yy59;
19868
35.0k
yy945:
19869
35.0k
  YYDEBUG(945, *YYCURSOR);
19870
35.0k
  yych = *++YYCURSOR;
19871
35.0k
  if (yych == 'E') goto yy1062;
19872
30.1k
  if (yych == 'e') goto yy1062;
19873
15.4k
  goto yy59;
19874
16.7k
yy946:
19875
16.7k
  YYDEBUG(946, *YYCURSOR);
19876
16.7k
  yych = *++YYCURSOR;
19877
16.7k
  if (yych == 'R') goto yy253;
19878
14.2k
  if (yych == 'r') goto yy253;
19879
6.51k
  goto yy59;
19880
44.3k
yy947:
19881
44.3k
  YYDEBUG(947, *YYCURSOR);
19882
44.3k
  ++YYCURSOR;
19883
44.3k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
19884
44.3k
  yych = *YYCURSOR;
19885
44.3k
  if (yych <= '`') {
19886
23.1k
    if (yych <= 'A') {
19887
13.2k
      if (yych <= '@') goto yy59;
19888
1.17k
      goto yy106;
19889
13.2k
    } else {
19890
9.95k
      if (yych == 'P') goto yy106;
19891
8.40k
      goto yy59;
19892
9.95k
    }
19893
23.1k
  } else {
19894
21.1k
    if (yych <= 'p') {
19895
10.0k
      if (yych <= 'a') goto yy106;
19896
6.93k
      if (yych <= 'o') goto yy59;
19897
4.33k
      goto yy106;
19898
11.0k
    } else {
19899
11.0k
      if (yych == 0xE2) goto yy641;
19900
5.79k
      goto yy59;
19901
11.0k
    }
19902
21.1k
  }
19903
240k
yy948:
19904
240k
  YYDEBUG(948, *YYCURSOR);
19905
240k
  yyaccept = 4;
19906
240k
  yych = *(YYMARKER = ++YYCURSOR);
19907
240k
  if (yych <= 'A') {
19908
174k
    if (yych <= '-') {
19909
54.7k
      if (yych <= '\t') {
19910
36.4k
        if (yych <= 0x08) goto yy177;
19911
22.9k
        goto yy638;
19912
36.4k
      } else {
19913
18.3k
        if (yych == ' ') goto yy638;
19914
8.13k
        goto yy177;
19915
18.3k
      }
19916
119k
    } else {
19917
119k
      if (yych <= '9') {
19918
53.0k
        if (yych <= '.') goto yy1063;
19919
8.19k
        goto yy177;
19920
66.2k
      } else {
19921
66.2k
        if (yych <= ':') goto yy1064;
19922
16.1k
        if (yych <= '@') goto yy177;
19923
11.7k
        goto yy106;
19924
16.1k
      }
19925
119k
    }
19926
174k
  } else {
19927
65.9k
    if (yych <= 'o') {
19928
18.1k
      if (yych <= 'P') {
19929
8.69k
        if (yych <= 'O') goto yy177;
19930
2.65k
        goto yy106;
19931
9.42k
      } else {
19932
9.42k
        if (yych == 'a') goto yy106;
19933
7.82k
        goto yy177;
19934
9.42k
      }
19935
47.8k
    } else {
19936
47.8k
      if (yych <= 0xC2) {
19937
27.6k
        if (yych <= 'p') goto yy106;
19938
24.9k
        if (yych <= 0xC1) goto yy177;
19939
20.7k
        goto yy640;
19940
24.9k
      } else {
19941
20.1k
        if (yych == 0xE2) goto yy641;
19942
5.15k
        goto yy177;
19943
20.1k
      }
19944
47.8k
    }
19945
65.9k
  }
19946
34.4k
yy949:
19947
34.4k
  YYDEBUG(949, *YYCURSOR);
19948
34.4k
  yyaccept = 15;
19949
34.4k
  yych = *(YYMARKER = ++YYCURSOR);
19950
34.4k
  if (yych <= 'n') {
19951
21.8k
    if (yych <= '/') goto yy567;
19952
17.4k
    if (yych <= '9') goto yy1065;
19953
6.06k
    if (yych <= 'm') goto yy567;
19954
2.66k
    goto yy741;
19955
12.5k
  } else {
19956
12.5k
    if (yych <= 'r') {
19957
3.25k
      if (yych <= 'q') goto yy567;
19958
2.15k
      goto yy741;
19959
9.27k
    } else {
19960
9.27k
      if (yych <= 's') goto yy742;
19961
6.74k
      if (yych <= 't') goto yy743;
19962
4.19k
      goto yy567;
19963
6.74k
    }
19964
12.5k
  }
19965
32.1k
yy950:
19966
32.1k
  YYDEBUG(950, *YYCURSOR);
19967
32.1k
  yyaccept = 15;
19968
32.1k
  yych = *(YYMARKER = ++YYCURSOR);
19969
32.1k
  if (yych <= 'n') {
19970
17.1k
    if (yych <= '/') goto yy567;
19971
12.7k
    if (yych <= '1') goto yy1065;
19972
3.76k
    if (yych <= 'm') goto yy567;
19973
1.92k
    goto yy741;
19974
15.0k
  } else {
19975
15.0k
    if (yych <= 'r') {
19976
2.98k
      if (yych <= 'q') goto yy567;
19977
2.09k
      goto yy741;
19978
12.1k
    } else {
19979
12.1k
      if (yych <= 's') goto yy742;
19980
8.11k
      if (yych <= 't') goto yy743;
19981
5.22k
      goto yy567;
19982
8.11k
    }
19983
15.0k
  }
19984
91.0k
yy951:
19985
91.0k
  YYDEBUG(951, *YYCURSOR);
19986
91.0k
  yych = *++YYCURSOR;
19987
91.0k
  if (yych <= '/') goto yy59;
19988
74.2k
  if (yych <= '2') goto yy1066;
19989
50.1k
  if (yych <= '3') goto yy1067;
19990
31.7k
  goto yy59;
19991
31.7k
yy952:
19992
15.2k
  YYDEBUG(952, *YYCURSOR);
19993
15.2k
  yych = *++YYCURSOR;
19994
15.2k
  if (yych <= '/') goto yy290;
19995
13.8k
  if (yych <= '9') goto yy1068;
19996
789
  goto yy290;
19997
39.6k
yy953:
19998
39.6k
  YYDEBUG(953, *YYCURSOR);
19999
39.6k
  yych = *++YYCURSOR;
20000
39.6k
  if (yych <= '/') goto yy59;
20001
33.8k
  if (yych <= '9') goto yy1069;
20002
5.41k
  goto yy59;
20003
2.51M
yy954:
20004
2.51M
  YYDEBUG(954, *YYCURSOR);
20005
2.51M
  ++YYCURSOR;
20006
2.51M
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
20007
2.51M
  yych = *YYCURSOR;
20008
2.56M
yy955:
20009
2.56M
  YYDEBUG(955, *YYCURSOR);
20010
2.56M
  if (yybm[0+yych] & 128) {
20011
1.45M
    goto yy954;
20012
1.45M
  }
20013
1.10M
  if (yych <= '.') {
20014
511k
    if (yych == '-') goto yy297;
20015
386k
    goto yy59;
20016
598k
  } else {
20017
598k
    if (yych <= '/') goto yy297;
20018
591k
    if (yych == '_') goto yy297;
20019
565k
    goto yy59;
20020
591k
  }
20021
182k
yy956:
20022
182k
  YYDEBUG(956, *YYCURSOR);
20023
182k
  yych = *++YYCURSOR;
20024
182k
  if (yych == ' ') goto yy1071;
20025
15.4k
  goto yy59;
20026
18.9k
yy957:
20027
18.9k
  YYDEBUG(957, *YYCURSOR);
20028
18.9k
  yych = *++YYCURSOR;
20029
18.9k
  if (yych == 'R') goto yy973;
20030
10.9k
  if (yych == 'r') goto yy973;
20031
6.34k
  goto yy59;
20032
24.3k
yy958:
20033
24.3k
  YYDEBUG(958, *YYCURSOR);
20034
24.3k
  yych = *++YYCURSOR;
20035
24.3k
  if (yych == 'R') goto yy973;
20036
22.0k
  if (yych == 'r') goto yy974;
20037
6.04k
  goto yy955;
20038
62.4k
yy959:
20039
62.4k
  YYDEBUG(959, *YYCURSOR);
20040
62.4k
  yych = *++YYCURSOR;
20041
62.4k
  if (yych == 'E') goto yy1072;
20042
43.1k
  if (yych == 'e') goto yy1072;
20043
15.5k
  goto yy59;
20044
91.7k
yy960:
20045
91.7k
  YYDEBUG(960, *YYCURSOR);
20046
91.7k
  ++YYCURSOR;
20047
91.7k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
20048
91.7k
  yych = *YYCURSOR;
20049
91.7k
  if (yych <= 'c') {
20050
36.4k
    if (yych <= 'M') {
20051
16.2k
      if (yych <= 'F') {
20052
10.5k
        if (yych == 'D') goto yy856;
20053
8.40k
        if (yych <= 'E') goto yy59;
20054
3.91k
        goto yy857;
20055
8.40k
      } else {
20056
5.71k
        if (yych == 'H') goto yy858;
20057
4.21k
        if (yych <= 'L') goto yy59;
20058
2.85k
        goto yy859;
20059
4.21k
      }
20060
20.2k
    } else {
20061
20.2k
      if (yych <= 'U') {
20062
8.20k
        if (yych <= 'R') goto yy59;
20063
4.94k
        if (yych <= 'S') goto yy860;
20064
2.70k
        if (yych <= 'T') goto yy861;
20065
2.23k
        goto yy862;
20066
12.0k
      } else {
20067
12.0k
        if (yych <= 'W') {
20068
5.32k
          if (yych <= 'V') goto yy59;
20069
4.45k
          goto yy959;
20070
6.70k
        } else {
20071
6.70k
          if (yych == 'Y') goto yy864;
20072
5.63k
          goto yy59;
20073
6.70k
        }
20074
12.0k
      }
20075
20.2k
    }
20076
55.2k
  } else {
20077
55.2k
    if (yych <= 's') {
20078
20.5k
      if (yych <= 'g') {
20079
6.34k
        if (yych <= 'd') goto yy856;
20080
4.13k
        if (yych == 'f') goto yy857;
20081
1.41k
        goto yy59;
20082
14.1k
      } else {
20083
14.1k
        if (yych <= 'l') {
20084
4.12k
          if (yych <= 'h') goto yy858;
20085
1.83k
          goto yy59;
20086
10.0k
        } else {
20087
10.0k
          if (yych <= 'm') goto yy859;
20088
6.83k
          if (yych <= 'r') goto yy59;
20089
3.02k
          goto yy860;
20090
6.83k
        }
20091
14.1k
      }
20092
34.7k
    } else {
20093
34.7k
      if (yych <= 'w') {
20094
10.3k
        if (yych <= 't') goto yy861;
20095
8.95k
        if (yych <= 'u') goto yy862;
20096
4.76k
        if (yych <= 'v') goto yy59;
20097
3.71k
        goto yy959;
20098
24.4k
      } else {
20099
24.4k
        if (yych <= 'y') {
20100
6.51k
          if (yych <= 'x') goto yy59;
20101
4.99k
          goto yy864;
20102
17.8k
        } else {
20103
17.8k
          if (yych == 0xC2) goto yy1073;
20104
2.99k
          goto yy59;
20105
17.8k
        }
20106
24.4k
      }
20107
34.7k
    }
20108
55.2k
  }
20109
70.7k
yy961:
20110
70.7k
  YYDEBUG(961, *YYCURSOR);
20111
70.7k
  ++YYCURSOR;
20112
70.7k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
20113
70.7k
  yych = *YYCURSOR;
20114
70.7k
  if (yych == 0xAF) goto yy1074;
20115
7.08k
  goto yy59;
20116
16.5k
yy962:
20117
16.5k
  YYDEBUG(962, *YYCURSOR);
20118
16.5k
  yych = *++YYCURSOR;
20119
16.5k
  if (yych == 'H') goto yy1001;
20120
13.9k
  if (yych == 'h') goto yy1001;
20121
4.99k
  goto yy59;
20122
12.0k
yy963:
20123
12.0k
  YYDEBUG(963, *YYCURSOR);
20124
12.0k
  yych = *++YYCURSOR;
20125
12.0k
  if (yych == 'H') goto yy1001;
20126
6.84k
  if (yych == 'h') goto yy1004;
20127
2.31k
  goto yy955;
20128
8.49k
yy964:
20129
8.49k
  YYDEBUG(964, *YYCURSOR);
20130
8.49k
  yych = *++YYCURSOR;
20131
8.49k
  if (yych == 'Y') goto yy973;
20132
5.27k
  if (yych == 'y') goto yy973;
20133
2.58k
  goto yy59;
20134
25.8k
yy965:
20135
25.8k
  YYDEBUG(965, *YYCURSOR);
20136
25.8k
  ++YYCURSOR;
20137
25.8k
  goto yy315;
20138
8.13k
yy966:
20139
8.13k
  YYDEBUG(966, *YYCURSOR);
20140
8.13k
  yych = *++YYCURSOR;
20141
8.13k
  if (yych == 'Y') goto yy973;
20142
6.20k
  if (yych == 'y') goto yy974;
20143
2.34k
  goto yy955;
20144
8.38k
yy967:
20145
8.38k
  YYDEBUG(967, *YYCURSOR);
20146
8.38k
  yyaccept = 9;
20147
8.38k
  yych = *(YYMARKER = ++YYCURSOR);
20148
8.38k
  if (yybm[0+yych] & 128) {
20149
3.00k
    goto yy954;
20150
3.00k
  }
20151
5.37k
  if (yych <= '.') {
20152
1.57k
    if (yych == '-') goto yy297;
20153
745
    goto yy315;
20154
3.80k
  } else {
20155
3.80k
    if (yych <= '/') goto yy297;
20156
3.49k
    if (yych == '_') goto yy297;
20157
2.67k
    goto yy315;
20158
3.49k
  }
20159
42.0k
yy968:
20160
42.0k
  YYDEBUG(968, *YYCURSOR);
20161
42.0k
  yych = *++YYCURSOR;
20162
42.0k
  if (yych <= '/') goto yy20;
20163
33.3k
  if (yych <= '9') goto yy1075;
20164
4.68k
  goto yy20;
20165
231k
yy969:
20166
231k
  YYDEBUG(969, *YYCURSOR);
20167
231k
  yych = *++YYCURSOR;
20168
231k
  if (yych <= '/') goto yy59;
20169
221k
  if (yych <= '5') goto yy1076;
20170
35.6k
  if (yych <= '6') goto yy1077;
20171
11.1k
  if (yych <= '9') goto yy1078;
20172
8.80k
  goto yy59;
20173
506k
yy970:
20174
506k
  YYDEBUG(970, *YYCURSOR);
20175
506k
  yych = *++YYCURSOR;
20176
506k
  if (yych <= '/') goto yy59;
20177
489k
  if (yych <= '5') goto yy1079;
20178
51.6k
  if (yych <= '6') goto yy1080;
20179
14.3k
  if (yych <= '9') goto yy1078;
20180
12.1k
  goto yy59;
20181
376k
yy971:
20182
376k
  YYDEBUG(971, *YYCURSOR);
20183
376k
  yyaccept = 20;
20184
376k
  yych = *(YYMARKER = ++YYCURSOR);
20185
376k
  if (yych <= 'A') {
20186
305k
    if (yych <= '-') {
20187
30.4k
      if (yych <= '\t') {
20188
8.55k
        if (yych <= 0x08) goto yy849;
20189
4.70k
        goto yy1081;
20190
21.9k
      } else {
20191
21.9k
        if (yych == ' ') goto yy1081;
20192
6.58k
        goto yy849;
20193
21.9k
      }
20194
275k
    } else {
20195
275k
      if (yych <= '9') {
20196
21.8k
        if (yych <= '.') goto yy970;
20197
14.4k
        goto yy849;
20198
253k
      } else {
20199
253k
        if (yych <= ':') goto yy970;
20200
12.5k
        if (yych <= '@') goto yy849;
20201
10.1k
        goto yy1083;
20202
12.5k
      }
20203
275k
    }
20204
305k
  } else {
20205
70.1k
    if (yych <= 'o') {
20206
19.1k
      if (yych <= 'P') {
20207
11.6k
        if (yych <= 'O') goto yy849;
20208
5.08k
        goto yy1083;
20209
11.6k
      } else {
20210
7.50k
        if (yych == 'a') goto yy1083;
20211
5.19k
        goto yy849;
20212
7.50k
      }
20213
51.0k
    } else {
20214
51.0k
      if (yych <= 0xC2) {
20215
24.7k
        if (yych <= 'p') goto yy1083;
20216
23.9k
        if (yych <= 0xC1) goto yy849;
20217
19.5k
        goto yy1084;
20218
26.2k
      } else {
20219
26.2k
        if (yych == 0xE2) goto yy1085;
20220
5.76k
        goto yy849;
20221
26.2k
      }
20222
51.0k
    }
20223
70.1k
  }
20224
35.2k
yy972:
20225
35.2k
  YYDEBUG(972, *YYCURSOR);
20226
35.2k
  ++YYCURSOR;
20227
35.2k
  goto yy325;
20228
50.2k
yy973:
20229
50.2k
  YYDEBUG(973, *YYCURSOR);
20230
50.2k
  yyaccept = 7;
20231
50.2k
  yych = *(YYMARKER = ++YYCURSOR);
20232
50.2k
  if (yych <= ' ') {
20233
9.60k
    if (yych == '\t') goto yy142;
20234
8.19k
    if (yych <= 0x1F) goto yy295;
20235
2.16k
    goto yy142;
20236
40.6k
  } else {
20237
40.6k
    if (yych <= '.') {
20238
4.85k
      if (yych <= ',') goto yy295;
20239
1.59k
      goto yy142;
20240
35.7k
    } else {
20241
35.7k
      if (yych <= '/') goto yy295;
20242
33.9k
      if (yych <= '9') goto yy142;
20243
29.5k
      goto yy295;
20244
33.9k
    }
20245
40.6k
  }
20246
31.1k
yy974:
20247
31.1k
  YYDEBUG(974, *YYCURSOR);
20248
31.1k
  yyaccept = 7;
20249
31.1k
  yych = *(YYMARKER = ++YYCURSOR);
20250
31.1k
  if (yybm[0+yych] & 128) {
20251
2.23k
    goto yy954;
20252
2.23k
  }
20253
28.9k
  if (yych <= '-') {
20254
14.8k
    if (yych <= 0x1F) {
20255
3.15k
      if (yych == '\t') goto yy142;
20256
2.05k
      goto yy295;
20257
11.6k
    } else {
20258
11.6k
      if (yych <= ' ') goto yy142;
20259
6.68k
      if (yych <= ',') goto yy295;
20260
3.15k
      goto yy700;
20261
6.68k
    }
20262
14.8k
  } else {
20263
14.1k
    if (yych <= '9') {
20264
8.29k
      if (yych == '/') goto yy297;
20265
6.22k
      goto yy142;
20266
8.29k
    } else {
20267
5.84k
      if (yych == '_') goto yy297;
20268
4.71k
      goto yy295;
20269
5.84k
    }
20270
14.1k
  }
20271
18.6k
yy975:
20272
18.6k
  YYDEBUG(975, *YYCURSOR);
20273
18.6k
  yych = *++YYCURSOR;
20274
18.6k
  if (yych == 'Y') goto yy1086;
20275
15.6k
  if (yych == 'y') goto yy1086;
20276
8.72k
  goto yy59;
20277
35.7k
yy976:
20278
35.7k
  YYDEBUG(976, *YYCURSOR);
20279
35.7k
  yych = *++YYCURSOR;
20280
35.7k
  if (yych == 'R') goto yy1087;
20281
16.3k
  if (yych == 'r') goto yy1087;
20282
4.27k
  goto yy59;
20283
24.2k
yy977:
20284
24.2k
  YYDEBUG(977, *YYCURSOR);
20285
24.2k
  yych = *++YYCURSOR;
20286
24.2k
  if (yych == 'I') goto yy1088;
20287
22.1k
  if (yych == 'i') goto yy1088;
20288
8.21k
  goto yy59;
20289
8.21k
yy978:
20290
4.08k
  YYDEBUG(978, *YYCURSOR);
20291
4.08k
  yych = *++YYCURSOR;
20292
4.08k
  if (yych == 'U') goto yy1089;
20293
3.19k
  if (yych == 'u') goto yy1089;
20294
2.34k
  goto yy59;
20295
61.9k
yy979:
20296
61.9k
  YYDEBUG(979, *YYCURSOR);
20297
61.9k
  yych = *++YYCURSOR;
20298
61.9k
  if (yych <= 'N') {
20299
25.9k
    if (yych <= 'K') {
20300
13.4k
      if (yych == 'C') goto yy1090;
20301
8.91k
      goto yy59;
20302
13.4k
    } else {
20303
12.5k
      if (yych <= 'L') goto yy1091;
20304
7.42k
      if (yych <= 'M') goto yy59;
20305
6.23k
      goto yy1092;
20306
7.42k
    }
20307
36.0k
  } else {
20308
36.0k
    if (yych <= 'k') {
20309
17.4k
      if (yych == 'c') goto yy1090;
20310
4.72k
      goto yy59;
20311
18.5k
    } else {
20312
18.5k
      if (yych <= 'l') goto yy1091;
20313
14.8k
      if (yych == 'n') goto yy1092;
20314
2.49k
      goto yy59;
20315
14.8k
    }
20316
36.0k
  }
20317
50.0k
yy980:
20318
50.0k
  YYDEBUG(980, *YYCURSOR);
20319
50.0k
  yych = *++YYCURSOR;
20320
50.0k
  if (yych == 'N') goto yy1093;
20321
28.2k
  if (yych == 'n') goto yy1093;
20322
6.15k
  goto yy59;
20323
9.98k
yy981:
20324
9.98k
  YYDEBUG(981, *YYCURSOR);
20325
9.98k
  yyaccept = 24;
20326
9.98k
  yych = *(YYMARKER = ++YYCURSOR);
20327
9.98k
  if (yych == 'E') goto yy1094;
20328
7.03k
  if (yych == 'e') goto yy1094;
20329
324k
yy982:
20330
324k
  YYDEBUG(982, *YYCURSOR);
20331
324k
#line 1872 "ext/date/lib/parse_date.re"
20332
324k
  {
20333
324k
    timelib_sll i;
20334
324k
    int         behavior = 0;
20335
324k
    DEBUG_OUTPUT("relativetext");
20336
324k
    TIMELIB_INIT;
20337
324k
    TIMELIB_HAVE_RELATIVE();
20338
20339
648k
    while(*ptr) {
20340
324k
      i = timelib_get_relative_text(&ptr, &behavior);
20341
324k
      timelib_eat_spaces(&ptr);
20342
324k
      timelib_set_relative(&ptr, i, behavior, s, TIMELIB_TIME_PART_DONT_KEEP);
20343
324k
    }
20344
324k
    TIMELIB_DEINIT;
20345
324k
    return TIMELIB_RELATIVE;
20346
7.03k
  }
20347
0
#line 20348 "ext/date/lib/parse_date.c"
20348
37.6k
yy983:
20349
37.6k
  YYDEBUG(983, *YYCURSOR);
20350
37.6k
  yych = *++YYCURSOR;
20351
37.6k
  if (yych == 'T') goto yy1095;
20352
30.2k
  if (yych == 't') goto yy1095;
20353
7.94k
  goto yy59;
20354
23.8k
yy984:
20355
23.8k
  YYDEBUG(984, *YYCURSOR);
20356
23.8k
  yych = *++YYCURSOR;
20357
23.8k
  if (yych == 'C') goto yy1096;
20358
17.7k
  if (yych == 'c') goto yy1096;
20359
5.51k
  goto yy59;
20360
28.7k
yy985:
20361
28.7k
  YYDEBUG(985, *YYCURSOR);
20362
28.7k
  yych = *++YYCURSOR;
20363
28.7k
  if (yych == 'N') goto yy1088;
20364
18.2k
  if (yych == 'n') goto yy1088;
20365
4.11k
  goto yy59;
20366
32.9k
yy986:
20367
32.9k
  YYDEBUG(986, *YYCURSOR);
20368
32.9k
  yych = *++YYCURSOR;
20369
32.9k
  if (yych == 'U') goto yy1097;
20370
16.9k
  if (yych == 'u') goto yy1097;
20371
8.45k
  goto yy59;
20372
40.4k
yy987:
20373
40.4k
  YYDEBUG(987, *YYCURSOR);
20374
40.4k
  yych = *++YYCURSOR;
20375
40.4k
  if (yych == 'E') goto yy1098;
20376
20.4k
  if (yych == 'e') goto yy1098;
20377
4.16k
  goto yy59;
20378
10.3k
yy988:
20379
10.3k
  YYDEBUG(988, *YYCURSOR);
20380
10.3k
  yych = *++YYCURSOR;
20381
10.3k
  if (yych == 'E') goto yy1094;
20382
8.08k
  if (yych == 'e') goto yy1094;
20383
3.95k
  goto yy59;
20384
104k
yy989:
20385
104k
  YYDEBUG(989, *YYCURSOR);
20386
104k
  yych = *++YYCURSOR;
20387
104k
  if (yych <= 'E') {
20388
35.4k
    if (yych <= 'C') goto yy59;
20389
29.3k
    if (yych <= 'D') goto yy1099;
20390
6.56k
    goto yy1100;
20391
69.1k
  } else {
20392
69.1k
    if (yych <= 'c') goto yy59;
20393
65.0k
    if (yych <= 'd') goto yy1099;
20394
33.8k
    if (yych <= 'e') goto yy1100;
20395
8.22k
    goto yy59;
20396
33.8k
  }
20397
13.5k
yy990:
20398
13.5k
  YYDEBUG(990, *YYCURSOR);
20399
13.5k
  yych = *++YYCURSOR;
20400
13.5k
  if (yych == 'A') goto yy1089;
20401
11.6k
  if (yych == 'a') goto yy1089;
20402
7.85k
  goto yy59;
20403
9.86k
yy991:
20404
9.86k
  YYDEBUG(991, *YYCURSOR);
20405
9.86k
  yych = *++YYCURSOR;
20406
9.86k
  if (yych == 'S') goto yy981;
20407
7.11k
  if (yych == 's') goto yy981;
20408
4.62k
  goto yy59;
20409
28.1k
yy992:
20410
28.1k
  YYDEBUG(992, *YYCURSOR);
20411
28.1k
  yych = *++YYCURSOR;
20412
28.1k
  if (yych == 'Y') goto yy1101;
20413
20.0k
  if (yych == 'y') goto yy1101;
20414
9.98k
  goto yy59;
20415
28.0k
yy993:
20416
28.0k
  YYDEBUG(993, *YYCURSOR);
20417
28.0k
  ++YYCURSOR;
20418
28.0k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
20419
28.0k
  yych = *YYCURSOR;
20420
28.0k
  if (yych == 0xA0) goto yy867;
20421
5.42k
  if (yych == 0xB5) goto yy991;
20422
3.41k
  goto yy59;
20423
92.4k
yy994:
20424
92.4k
  YYDEBUG(994, *YYCURSOR);
20425
92.4k
  ++YYCURSOR;
20426
92.4k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
20427
92.4k
  yych = *YYCURSOR;
20428
92.4k
  if (yych <= 'd') {
20429
41.7k
    if (yych <= 'R') {
20430
21.5k
      if (yych <= 'F') {
20431
6.89k
        if (yych == 'D') goto yy856;
20432
5.73k
        if (yych <= 'E') goto yy59;
20433
3.39k
        goto yy857;
20434
14.6k
      } else {
20435
14.6k
        if (yych <= 'H') {
20436
7.55k
          if (yych <= 'G') goto yy59;
20437
2.76k
          goto yy858;
20438
7.55k
        } else {
20439
7.07k
          if (yych == 'M') goto yy859;
20440
5.32k
          goto yy59;
20441
7.07k
        }
20442
14.6k
      }
20443
21.5k
    } else {
20444
20.2k
      if (yych <= 'V') {
20445
10.3k
        if (yych <= 'S') goto yy860;
20446
5.78k
        if (yych <= 'T') goto yy861;
20447
4.19k
        if (yych <= 'U') goto yy862;
20448
2.18k
        goto yy59;
20449
9.88k
      } else {
20450
9.88k
        if (yych <= 'X') {
20451
3.30k
          if (yych <= 'W') goto yy863;
20452
1.45k
          goto yy59;
20453
6.58k
        } else {
20454
6.58k
          if (yych <= 'Y') goto yy864;
20455
3.86k
          if (yych <= 'c') goto yy59;
20456
1.50k
          goto yy856;
20457
3.86k
        }
20458
9.88k
      }
20459
20.2k
    }
20460
50.7k
  } else {
20461
50.7k
    if (yych <= 't') {
20462
20.7k
      if (yych <= 'h') {
20463
3.70k
        if (yych == 'f') goto yy857;
20464
2.15k
        if (yych <= 'g') goto yy59;
20465
1.20k
        goto yy858;
20466
16.9k
      } else {
20467
16.9k
        if (yych <= 'm') {
20468
3.44k
          if (yych <= 'l') goto yy59;
20469
885
          goto yy859;
20470
13.5k
        } else {
20471
13.5k
          if (yych <= 'r') goto yy59;
20472
10.9k
          if (yych <= 's') goto yy860;
20473
3.62k
          goto yy861;
20474
10.9k
        }
20475
16.9k
      }
20476
30.0k
    } else {
20477
30.0k
      if (yych <= 'y') {
20478
9.47k
        if (yych <= 'v') {
20479
3.71k
          if (yych <= 'u') goto yy862;
20480
1.72k
          goto yy59;
20481
5.76k
        } else {
20482
5.76k
          if (yych <= 'w') goto yy863;
20483
2.52k
          if (yych <= 'x') goto yy59;
20484
931
          goto yy864;
20485
2.52k
        }
20486
20.5k
      } else {
20487
20.5k
        if (yych <= 0xC2) {
20488
9.46k
          if (yych <= 0xC1) goto yy59;
20489
6.12k
          goto yy865;
20490
11.1k
        } else {
20491
11.1k
          if (yych == 0xE2) goto yy705;
20492
2.48k
          goto yy59;
20493
11.1k
        }
20494
20.5k
      }
20495
30.0k
    }
20496
50.7k
  }
20497
11.5k
yy995:
20498
11.5k
  YYDEBUG(995, *YYCURSOR);
20499
11.5k
  yych = *++YYCURSOR;
20500
11.5k
  if (yych == 'T') goto yy1102;
20501
9.07k
  if (yych == 't') goto yy1102;
20502
5.31k
  goto yy59;
20503
12.0k
yy996:
20504
12.0k
  YYDEBUG(996, *YYCURSOR);
20505
12.0k
  yych = *++YYCURSOR;
20506
12.0k
  if (yych == 'T') goto yy1102;
20507
10.5k
  if (yych == 't') goto yy1103;
20508
1.71k
  goto yy955;
20509
95.6k
yy997:
20510
95.6k
  YYDEBUG(997, *YYCURSOR);
20511
95.6k
  yych = *++YYCURSOR;
20512
95.6k
  if (yych == 'S') goto yy1104;
20513
91.9k
  if (yych == 's') goto yy1104;
20514
9.16k
  goto yy59;
20515
18.6k
yy998:
20516
18.6k
  YYDEBUG(998, *YYCURSOR);
20517
18.6k
  yych = *++YYCURSOR;
20518
18.6k
  if (yych == 'S') goto yy1104;
20519
15.7k
  if (yych == 's') goto yy1105;
20520
2.29k
  goto yy955;
20521
29.8k
yy999:
20522
29.8k
  YYDEBUG(999, *YYCURSOR);
20523
29.8k
  yych = *++YYCURSOR;
20524
29.8k
  if (yych == 'Y') goto yy1007;
20525
25.0k
  if (yych == 'y') goto yy1007;
20526
8.92k
  goto yy59;
20527
10.3k
yy1000:
20528
10.3k
  YYDEBUG(1000, *YYCURSOR);
20529
10.3k
  yych = *++YYCURSOR;
20530
10.3k
  if (yych == 'E') goto yy957;
20531
8.06k
  if (yych == 'e') goto yy957;
20532
4.02k
  goto yy59;
20533
32.2k
yy1001:
20534
32.2k
  YYDEBUG(1001, *YYCURSOR);
20535
32.2k
  yych = *++YYCURSOR;
20536
32.2k
  if (yych <= ' ') {
20537
15.4k
    if (yych == '\t') goto yy834;
20538
9.18k
    if (yych <= 0x1F) goto yy59;
20539
6.19k
    goto yy834;
20540
16.8k
  } else {
20541
16.8k
    if (yych <= 0xC2) {
20542
14.0k
      if (yych <= 0xC1) goto yy59;
20543
2.73k
      goto yy837;
20544
14.0k
    } else {
20545
2.76k
      if (yych == 0xE2) goto yy838;
20546
795
      goto yy59;
20547
2.76k
    }
20548
16.8k
  }
20549
16.0k
yy1002:
20550
16.0k
  YYDEBUG(1002, *YYCURSOR);
20551
16.0k
  yych = *++YYCURSOR;
20552
16.0k
  if (yych == 'Y') goto yy1007;
20553
13.2k
  if (yych == 'y') goto yy1009;
20554
2.80k
  goto yy955;
20555
14.7k
yy1003:
20556
14.7k
  YYDEBUG(1003, *YYCURSOR);
20557
14.7k
  yych = *++YYCURSOR;
20558
14.7k
  if (yych == 'E') goto yy957;
20559
12.4k
  if (yych == 'e') goto yy958;
20560
1.39k
  goto yy955;
20561
26.4k
yy1004:
20562
26.4k
  YYDEBUG(1004, *YYCURSOR);
20563
26.4k
  yych = *++YYCURSOR;
20564
26.4k
  if (yych <= ' ') {
20565
11.2k
    if (yych == '\t') goto yy834;
20566
4.72k
    if (yych <= 0x1F) goto yy955;
20567
3.29k
    goto yy834;
20568
15.2k
  } else {
20569
15.2k
    if (yych <= 0xC2) {
20570
13.1k
      if (yych <= 0xC1) goto yy955;
20571
3.68k
      goto yy837;
20572
13.1k
    } else {
20573
2.06k
      if (yych == 0xE2) goto yy838;
20574
1.15k
      goto yy955;
20575
2.06k
    }
20576
15.2k
  }
20577
19.1k
yy1005:
20578
19.1k
  YYDEBUG(1005, *YYCURSOR);
20579
19.1k
  ++YYCURSOR;
20580
19.1k
  goto yy777;
20581
8.16k
yy1006:
20582
8.16k
  YYDEBUG(1006, *YYCURSOR);
20583
8.16k
  yych = *++YYCURSOR;
20584
8.16k
  if (yych == 'W') goto yy1106;
20585
7.18k
  if (yych == 'w') goto yy1106;
20586
3.21k
  goto yy59;
20587
37.8k
yy1007:
20588
37.8k
  YYDEBUG(1007, *YYCURSOR);
20589
37.8k
  yych = *++YYCURSOR;
20590
37.8k
  if (yych == 'S') goto yy965;
20591
31.2k
  if (yych == 's') goto yy965;
20592
24.4k
  goto yy315;
20593
24.4k
yy1008:
20594
10.9k
  YYDEBUG(1008, *YYCURSOR);
20595
10.9k
  yych = *++YYCURSOR;
20596
10.9k
  if (yych == 'W') goto yy1106;
20597
10.3k
  if (yych == 'w') goto yy1108;
20598
2.65k
  goto yy955;
20599
34.3k
yy1009:
20600
34.3k
  YYDEBUG(1009, *YYCURSOR);
20601
34.3k
  yyaccept = 9;
20602
34.3k
  yych = *(YYMARKER = ++YYCURSOR);
20603
34.3k
  if (yych <= 'S') {
20604
10.6k
    if (yych <= '.') {
20605
4.24k
      if (yych == '-') goto yy297;
20606
3.78k
      goto yy315;
20607
6.40k
    } else {
20608
6.40k
      if (yych <= '/') goto yy297;
20609
4.95k
      if (yych <= 'R') goto yy315;
20610
3.41k
      goto yy965;
20611
4.95k
    }
20612
23.7k
  } else {
20613
23.7k
    if (yych <= '`') {
20614
4.71k
      if (yych == '_') goto yy297;
20615
1.76k
      goto yy315;
20616
19.0k
    } else {
20617
19.0k
      if (yych == 's') goto yy967;
20618
12.9k
      if (yych <= 'z') goto yy954;
20619
8.32k
      goto yy315;
20620
12.9k
    }
20621
23.7k
  }
20622
12.0k
yy1010:
20623
12.0k
  YYDEBUG(1010, *YYCURSOR);
20624
12.0k
  yych = *++YYCURSOR;
20625
12.0k
  if (yych == 'A') goto yy999;
20626
8.73k
  if (yych == 'a') goto yy999;
20627
5.01k
  goto yy59;
20628
15.7k
yy1011:
20629
15.7k
  YYDEBUG(1011, *YYCURSOR);
20630
15.7k
  yych = *++YYCURSOR;
20631
15.7k
  if (yych == 'A') goto yy999;
20632
10.4k
  if (yych == 'a') goto yy1002;
20633
1.28k
  goto yy955;
20634
22.2k
yy1012:
20635
22.2k
  YYDEBUG(1012, *YYCURSOR);
20636
22.2k
  yych = *++YYCURSOR;
20637
22.2k
  if (yych == 'A') goto yy1109;
20638
15.9k
  if (yych == 'a') goto yy1109;
20639
10.2k
  goto yy59;
20640
14.1k
yy1013:
20641
14.1k
  YYDEBUG(1013, *YYCURSOR);
20642
14.1k
  yych = *++YYCURSOR;
20643
14.1k
  if (yych == 'A') goto yy1109;
20644
13.4k
  if (yych == 'a') goto yy1110;
20645
3.06k
  goto yy955;
20646
66.2k
yy1014:
20647
66.2k
  YYDEBUG(1014, *YYCURSOR);
20648
66.2k
  yych = *++YYCURSOR;
20649
66.2k
  if (yych == '-') goto yy1111;
20650
24.4k
  goto yy59;
20651
33.5k
yy1015:
20652
33.5k
  YYDEBUG(1015, *YYCURSOR);
20653
33.5k
  yych = *++YYCURSOR;
20654
33.5k
  if (yych <= '/') goto yy59;
20655
27.8k
  if (yych <= '9') goto yy1112;
20656
3.64k
  goto yy59;
20657
44.4k
yy1016:
20658
44.4k
  YYDEBUG(1016, *YYCURSOR);
20659
44.4k
  yych = *++YYCURSOR;
20660
44.4k
  if (yych <= '/') goto yy59;
20661
36.5k
  if (yych <= '2') goto yy1112;
20662
16.1k
  goto yy59;
20663
475k
yy1017:
20664
475k
  YYDEBUG(1017, *YYCURSOR);
20665
475k
  yych = *++YYCURSOR;
20666
475k
  if (yych <= '9') {
20667
422k
    if (yych == '-') goto yy893;
20668
402k
    if (yych <= '/') goto yy196;
20669
373k
    goto yy1113;
20670
402k
  } else {
20671
53.3k
    if (yych <= 0xC2) {
20672
40.0k
      if (yych <= 0xC1) goto yy196;
20673
3.52k
      goto yy97;
20674
40.0k
    } else {
20675
13.2k
      if (yych == 0xE2) goto yy98;
20676
8.70k
      goto yy196;
20677
13.2k
    }
20678
53.3k
  }
20679
30.2k
yy1018:
20680
30.2k
  YYDEBUG(1018, *YYCURSOR);
20681
30.2k
  yych = *++YYCURSOR;
20682
30.2k
  if (yych <= '/') goto yy59;
20683
27.3k
  if (yych <= '9') goto yy115;
20684
9.64k
  goto yy59;
20685
12.8k
yy1019:
20686
12.8k
  YYDEBUG(1019, *YYCURSOR);
20687
12.8k
  yych = *++YYCURSOR;
20688
12.8k
  if (yych == '0') goto yy115;
20689
4.29k
  goto yy59;
20690
40.6k
yy1020:
20691
40.6k
  YYDEBUG(1020, *YYCURSOR);
20692
40.6k
  ++YYCURSOR;
20693
40.6k
  YYDEBUG(1021, *YYCURSOR);
20694
40.6k
#line 1578 "ext/date/lib/parse_date.re"
20695
40.6k
  {
20696
40.6k
    DEBUG_OUTPUT("pointed date YYYY");
20697
40.6k
    TIMELIB_INIT;
20698
40.6k
    TIMELIB_HAVE_DATE();
20699
7.61k
    s->time->d = timelib_get_nr(&ptr, 2);
20700
7.61k
    s->time->m = timelib_get_nr(&ptr, 2);
20701
7.61k
    s->time->y = timelib_get_nr(&ptr, 4);
20702
7.61k
    TIMELIB_DEINIT;
20703
7.61k
    return TIMELIB_DATE_FULL_POINTED;
20704
40.6k
  }
20705
0
#line 20706 "ext/date/lib/parse_date.c"
20706
9.42k
yy1022:
20707
9.42k
  YYDEBUG(1022, *YYCURSOR);
20708
9.42k
  ++YYCURSOR;
20709
9.42k
  goto yy224;
20710
243k
yy1023:
20711
243k
  YYDEBUG(1023, *YYCURSOR);
20712
243k
  yych = *++YYCURSOR;
20713
243k
  if (yych <= '/') goto yy59;
20714
236k
  if (yych <= '9') goto yy1114;
20715
8.81k
  goto yy59;
20716
25.7k
yy1024:
20717
25.7k
  YYDEBUG(1024, *YYCURSOR);
20718
25.7k
  yyaccept = 25;
20719
25.7k
  yych = *(YYMARKER = ++YYCURSOR);
20720
25.7k
  if (yych <= 'n') {
20721
15.8k
    if (yych <= '/') goto yy1025;
20722
13.8k
    if (yych <= '9') goto yy897;
20723
9.72k
    if (yych >= 'n') goto yy741;
20724
9.83k
  } else {
20725
9.83k
    if (yych <= 'r') {
20726
3.99k
      if (yych >= 'r') goto yy741;
20727
5.83k
    } else {
20728
5.83k
      if (yych <= 's') goto yy742;
20729
4.07k
      if (yych <= 't') goto yy743;
20730
4.07k
    }
20731
9.83k
  }
20732
42.9k
yy1025:
20733
42.9k
  YYDEBUG(1025, *YYCURSOR);
20734
42.9k
#line 1509 "ext/date/lib/parse_date.re"
20735
42.9k
  {
20736
42.9k
    int length = 0;
20737
42.9k
    DEBUG_OUTPUT("iso8601date2");
20738
42.9k
    TIMELIB_INIT;
20739
42.9k
    TIMELIB_HAVE_DATE();
20740
6.39k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
20741
6.39k
    s->time->m = timelib_get_nr(&ptr, 2);
20742
6.39k
    s->time->d = timelib_get_nr(&ptr, 2);
20743
6.39k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
20744
6.39k
    TIMELIB_DEINIT;
20745
6.39k
    return TIMELIB_ISO_DATE;
20746
42.9k
  }
20747
0
#line 20748 "ext/date/lib/parse_date.c"
20748
50.2k
yy1026:
20749
50.2k
  YYDEBUG(1026, *YYCURSOR);
20750
50.2k
  yyaccept = 15;
20751
50.2k
  yych = *(YYMARKER = ++YYCURSOR);
20752
50.2k
  if (yych <= 'm') {
20753
34.5k
    if (yych <= '9') {
20754
23.2k
      if (yych <= '/') goto yy567;
20755
21.1k
      goto yy1028;
20756
23.2k
    } else {
20757
11.2k
      if (yych == 'T') goto yy1115;
20758
7.92k
      goto yy567;
20759
11.2k
    }
20760
34.5k
  } else {
20761
15.7k
    if (yych <= 'r') {
20762
6.65k
      if (yych <= 'n') goto yy1116;
20763
3.39k
      if (yych <= 'q') goto yy567;
20764
2.85k
      goto yy1116;
20765
9.12k
    } else {
20766
9.12k
      if (yych <= 's') goto yy1117;
20767
5.74k
      if (yych <= 't') goto yy1118;
20768
3.89k
      goto yy567;
20769
5.74k
    }
20770
15.7k
  }
20771
31.0k
yy1027:
20772
31.0k
  YYDEBUG(1027, *YYCURSOR);
20773
31.0k
  yyaccept = 15;
20774
31.0k
  yych = *(YYMARKER = ++YYCURSOR);
20775
31.0k
  if (yych <= 'm') {
20776
21.5k
    if (yych <= '1') {
20777
12.3k
      if (yych <= '/') goto yy567;
20778
12.3k
    } else {
20779
9.23k
      if (yych == 'T') goto yy1115;
20780
6.76k
      goto yy567;
20781
9.23k
    }
20782
21.5k
  } else {
20783
9.49k
    if (yych <= 'r') {
20784
3.88k
      if (yych <= 'n') goto yy1116;
20785
2.83k
      if (yych <= 'q') goto yy567;
20786
450
      goto yy1116;
20787
5.60k
    } else {
20788
5.60k
      if (yych <= 's') goto yy1117;
20789
4.08k
      if (yych <= 't') goto yy1118;
20790
3.12k
      goto yy567;
20791
4.08k
    }
20792
9.49k
  }
20793
48.2k
yy1028:
20794
48.2k
  YYDEBUG(1028, *YYCURSOR);
20795
48.2k
  yyaccept = 15;
20796
48.2k
  yych = *(YYMARKER = ++YYCURSOR);
20797
48.2k
  if (yych <= 'n') {
20798
33.2k
    if (yych == 'T') goto yy1115;
20799
16.2k
    if (yych <= 'm') goto yy567;
20800
1.74k
    goto yy1116;
20801
16.2k
  } else {
20802
15.0k
    if (yych <= 'r') {
20803
2.16k
      if (yych <= 'q') goto yy567;
20804
1.20k
      goto yy1116;
20805
12.8k
    } else {
20806
12.8k
      if (yych <= 's') goto yy1117;
20807
10.6k
      if (yych <= 't') goto yy1118;
20808
8.23k
      goto yy567;
20809
10.6k
    }
20810
15.0k
  }
20811
261k
yy1029:
20812
261k
  YYDEBUG(1029, *YYCURSOR);
20813
261k
  yych = *++YYCURSOR;
20814
261k
  if (yych <= '/') goto yy59;
20815
254k
  if (yych <= '2') goto yy1119;
20816
58.0k
  if (yych <= '3') goto yy1120;
20817
19.5k
  if (yych <= '9') goto yy1028;
20818
13.4k
  goto yy59;
20819
41.8k
yy1030:
20820
41.8k
  YYDEBUG(1030, *YYCURSOR);
20821
41.8k
  ++YYCURSOR;
20822
41.8k
  goto yy926;
20823
18.2k
yy1031:
20824
18.2k
  YYDEBUG(1031, *YYCURSOR);
20825
18.2k
  yyaccept = 22;
20826
18.2k
  yych = *(YYMARKER = ++YYCURSOR);
20827
18.2k
  if (yych <= 'H') {
20828
8.50k
    if (yych == '-') goto yy951;
20829
4.19k
    goto yy600;
20830
9.74k
  } else {
20831
9.74k
    if (yych <= 'I') goto yy1051;
20832
9.11k
    if (yych == 'i') goto yy1051;
20833
5.71k
    goto yy600;
20834
9.11k
  }
20835
24.9k
yy1032:
20836
24.9k
  YYDEBUG(1032, *YYCURSOR);
20837
24.9k
  yyaccept = 22;
20838
24.9k
  yych = *(YYMARKER = ++YYCURSOR);
20839
24.9k
  if (yych <= 'T') {
20840
10.1k
    if (yych == '-') goto yy951;
20841
3.62k
    goto yy600;
20842
14.8k
  } else {
20843
14.8k
    if (yych <= 'U') goto yy1052;
20844
10.7k
    if (yych == 'u') goto yy1052;
20845
2.67k
    goto yy600;
20846
10.7k
  }
20847
28.7k
yy1033:
20848
28.7k
  YYDEBUG(1033, *YYCURSOR);
20849
28.7k
  yyaccept = 22;
20850
28.7k
  yych = *(YYMARKER = ++YYCURSOR);
20851
28.7k
  if (yych <= 'D') {
20852
14.6k
    if (yych == '-') goto yy951;
20853
8.34k
    goto yy600;
20854
14.6k
  } else {
20855
14.1k
    if (yych <= 'E') goto yy1053;
20856
7.17k
    if (yych == 'e') goto yy1053;
20857
4.83k
    goto yy600;
20858
7.17k
  }
20859
24.5k
yy1034:
20860
24.5k
  YYDEBUG(1034, *YYCURSOR);
20861
24.5k
  yyaccept = 22;
20862
24.5k
  yych = *(YYMARKER = ++YYCURSOR);
20863
24.5k
  if (yych <= 'Q') {
20864
7.73k
    if (yych == '-') goto yy951;
20865
6.80k
    goto yy600;
20866
16.7k
  } else {
20867
16.7k
    if (yych <= 'R') goto yy1054;
20868
12.6k
    if (yych == 'r') goto yy1054;
20869
1.63k
    goto yy600;
20870
12.6k
  }
20871
9.58k
yy1035:
20872
9.58k
  YYDEBUG(1035, *YYCURSOR);
20873
9.58k
  yyaccept = 22;
20874
9.58k
  yych = *(YYMARKER = ++YYCURSOR);
20875
9.58k
  if (yych <= 'T') {
20876
3.38k
    if (yych == '-') goto yy951;
20877
2.31k
    goto yy600;
20878
6.19k
  } else {
20879
6.19k
    if (yych <= 'U') goto yy1055;
20880
4.97k
    if (yych == 'u') goto yy1055;
20881
1.69k
    goto yy600;
20882
4.97k
  }
20883
7.71k
yy1036:
20884
7.71k
  YYDEBUG(1036, *YYCURSOR);
20885
7.71k
  yyaccept = 22;
20886
7.71k
  yych = *(YYMARKER = ++YYCURSOR);
20887
7.71k
  if (yych <= 'X') {
20888
3.38k
    if (yych == '-') goto yy951;
20889
706
    goto yy600;
20890
4.33k
  } else {
20891
4.33k
    if (yych <= 'Y') goto yy790;
20892
3.12k
    if (yych == 'y') goto yy790;
20893
2.26k
    goto yy600;
20894
3.12k
  }
20895
12.4k
yy1037:
20896
12.4k
  YYDEBUG(1037, *YYCURSOR);
20897
12.4k
  yyaccept = 22;
20898
12.4k
  yych = *(YYMARKER = ++YYCURSOR);
20899
12.4k
  if (yych <= 'D') {
20900
5.60k
    if (yych == '-') goto yy951;
20901
4.41k
    goto yy600;
20902
6.81k
  } else {
20903
6.81k
    if (yych <= 'E') goto yy790;
20904
4.84k
    if (yych == 'e') goto yy790;
20905
3.94k
    goto yy600;
20906
4.84k
  }
20907
11.8k
yy1038:
20908
11.8k
  YYDEBUG(1038, *YYCURSOR);
20909
11.8k
  yyaccept = 22;
20910
11.8k
  yych = *(YYMARKER = ++YYCURSOR);
20911
11.8k
  if (yych <= 'B') {
20912
3.87k
    if (yych == '-') goto yy951;
20913
1.60k
    goto yy600;
20914
8.01k
  } else {
20915
8.01k
    if (yych <= 'C') goto yy1056;
20916
6.47k
    if (yych == 'c') goto yy1056;
20917
1.59k
    goto yy600;
20918
6.47k
  }
20919
6.35k
yy1039:
20920
6.35k
  YYDEBUG(1039, *YYCURSOR);
20921
6.35k
  yyaccept = 22;
20922
6.35k
  yych = *(YYMARKER = ++YYCURSOR);
20923
6.35k
  if (yych == '-') goto yy951;
20924
3.10k
  goto yy600;
20925
11.2k
yy1040:
20926
11.2k
  YYDEBUG(1040, *YYCURSOR);
20927
11.2k
  yyaccept = 22;
20928
11.2k
  yych = *(YYMARKER = ++YYCURSOR);
20929
11.2k
  if (yych <= 'N') {
20930
3.70k
    if (yych == '-') goto yy951;
20931
1.65k
    goto yy600;
20932
7.54k
  } else {
20933
7.54k
    if (yych <= 'O') goto yy1057;
20934
6.23k
    if (yych == 'o') goto yy1057;
20935
2.51k
    goto yy600;
20936
6.23k
  }
20937
11.3k
yy1041:
20938
11.3k
  YYDEBUG(1041, *YYCURSOR);
20939
11.3k
  yyaccept = 22;
20940
11.3k
  yych = *(YYMARKER = ++YYCURSOR);
20941
11.3k
  if (yych <= 'S') {
20942
2.49k
    if (yych == '-') goto yy951;
20943
1.79k
    goto yy600;
20944
8.88k
  } else {
20945
8.88k
    if (yych <= 'T') goto yy1033;
20946
5.77k
    if (yych == 't') goto yy1033;
20947
2.61k
    goto yy600;
20948
5.77k
  }
20949
33.8k
yy1042:
20950
33.8k
  YYDEBUG(1042, *YYCURSOR);
20951
33.8k
  yyaccept = 26;
20952
33.8k
  yych = *(YYMARKER = ++YYCURSOR);
20953
33.8k
  if (yych <= 'n') {
20954
18.1k
    if (yych <= '/') goto yy1043;
20955
12.9k
    if (yych <= '9') goto yy1045;
20956
3.43k
    if (yych >= 'n') goto yy1121;
20957
15.6k
  } else {
20958
15.6k
    if (yych <= 'r') {
20959
3.85k
      if (yych >= 'r') goto yy1121;
20960
11.7k
    } else {
20961
11.7k
      if (yych <= 's') goto yy1122;
20962
5.26k
      if (yych <= 't') goto yy1123;
20963
5.26k
    }
20964
15.6k
  }
20965
200k
yy1043:
20966
200k
  YYDEBUG(1043, *YYCURSOR);
20967
200k
#line 1497 "ext/date/lib/parse_date.re"
20968
200k
  {
20969
200k
    DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
20970
200k
    TIMELIB_INIT;
20971
200k
    TIMELIB_HAVE_DATE();
20972
13.7k
    s->time->y = timelib_get_signed_nr(s, &ptr, 4);
20973
13.7k
    s->time->m = timelib_get_nr(&ptr, 2);
20974
13.7k
    s->time->d = timelib_get_nr(&ptr, 2);
20975
13.7k
    TIMELIB_DEINIT;
20976
13.7k
    return TIMELIB_ISO_DATE;
20977
200k
  }
20978
0
#line 20979 "ext/date/lib/parse_date.c"
20979
20.5k
yy1044:
20980
20.5k
  YYDEBUG(1044, *YYCURSOR);
20981
20.5k
  yyaccept = 26;
20982
20.5k
  yych = *(YYMARKER = ++YYCURSOR);
20983
20.5k
  if (yych <= 'n') {
20984
10.3k
    if (yych <= '/') goto yy1043;
20985
7.04k
    if (yych <= '1') goto yy1045;
20986
5.09k
    if (yych <= 'm') goto yy1043;
20987
3.38k
    goto yy1121;
20988
10.2k
  } else {
20989
10.2k
    if (yych <= 'r') {
20990
3.26k
      if (yych <= 'q') goto yy1043;
20991
654
      goto yy1121;
20992
6.94k
    } else {
20993
6.94k
      if (yych <= 's') goto yy1122;
20994
2.27k
      if (yych <= 't') goto yy1123;
20995
1.06k
      goto yy1043;
20996
2.27k
    }
20997
10.2k
  }
20998
21.1k
yy1045:
20999
21.1k
  YYDEBUG(1045, *YYCURSOR);
21000
21.1k
  yyaccept = 26;
21001
21.1k
  yych = *(YYMARKER = ++YYCURSOR);
21002
21.1k
  if (yych <= 'q') {
21003
8.82k
    if (yych == 'n') goto yy1121;
21004
7.11k
    goto yy1043;
21005
12.3k
  } else {
21006
12.3k
    if (yych <= 'r') goto yy1121;
21007
11.0k
    if (yych <= 's') goto yy1122;
21008
8.74k
    if (yych <= 't') goto yy1123;
21009
3.94k
    goto yy1043;
21010
8.74k
  }
21011
59.0k
yy1046:
21012
59.0k
  YYDEBUG(1046, *YYCURSOR);
21013
59.0k
  yych = *++YYCURSOR;
21014
59.0k
  if (yych <= '/') goto yy59;
21015
56.1k
  if (yych <= '2') goto yy1124;
21016
24.5k
  if (yych <= '3') goto yy1125;
21017
7.67k
  if (yych <= '9') goto yy1045;
21018
4.25k
  goto yy59;
21019
1.87M
yy1047:
21020
1.87M
  YYDEBUG(1047, *YYCURSOR);
21021
1.87M
  yyaccept = 27;
21022
1.87M
  yych = *(YYMARKER = ++YYCURSOR);
21023
1.87M
  if (yych <= 'X') {
21024
1.74M
    if (yych <= 'F') {
21025
1.63M
      if (yych <= '/') {
21026
86.1k
        if (yych <= '\t') {
21027
24.3k
          if (yych >= '\t') goto yy195;
21028
61.8k
        } else {
21029
61.8k
          if (yych == ' ') goto yy195;
21030
61.8k
        }
21031
1.55M
      } else {
21032
1.55M
        if (yych <= 'C') {
21033
1.54M
          if (yych <= '9') goto yy1126;
21034
1.54M
        } else {
21035
9.99k
          if (yych <= 'D') goto yy198;
21036
6.20k
          if (yych >= 'F') goto yy199;
21037
6.20k
        }
21038
1.55M
      }
21039
1.63M
    } else {
21040
107k
      if (yych <= 'R') {
21041
20.0k
        if (yych <= 'H') {
21042
3.52k
          if (yych >= 'H') goto yy79;
21043
16.5k
        } else {
21044
16.5k
          if (yych == 'M') goto yy200;
21045
16.5k
        }
21046
86.9k
      } else {
21047
86.9k
        if (yych <= 'U') {
21048
80.9k
          if (yych <= 'S') goto yy201;
21049
79.5k
          if (yych <= 'T') goto yy1127;
21050
4.35k
          goto yy88;
21051
79.5k
        } else {
21052
6.00k
          if (yych == 'W') goto yy90;
21053
6.00k
        }
21054
86.9k
      }
21055
107k
    }
21056
1.74M
  } else {
21057
129k
    if (yych <= 's') {
21058
31.0k
      if (yych <= 'f') {
21059
13.4k
        if (yych <= 'c') {
21060
6.95k
          if (yych <= 'Y') goto yy92;
21061
6.95k
        } else {
21062
6.52k
          if (yych <= 'd') goto yy198;
21063
4.80k
          if (yych >= 'f') goto yy199;
21064
4.80k
        }
21065
17.5k
      } else {
21066
17.5k
        if (yych <= 'l') {
21067
5.26k
          if (yych == 'h') goto yy79;
21068
12.2k
        } else {
21069
12.2k
          if (yych <= 'm') goto yy200;
21070
10.5k
          if (yych >= 's') goto yy201;
21071
10.5k
        }
21072
17.5k
      }
21073
98.9k
    } else {
21074
98.9k
      if (yych <= 'x') {
21075
65.8k
        if (yych <= 'u') {
21076
61.0k
          if (yych <= 't') goto yy1128;
21077
2.20k
          goto yy88;
21078
61.0k
        } else {
21079
4.78k
          if (yych == 'w') goto yy90;
21080
4.78k
        }
21081
65.8k
      } else {
21082
33.0k
        if (yych <= 0xC2) {
21083
17.9k
          if (yych <= 'y') goto yy92;
21084
16.6k
          if (yych >= 0xC2) goto yy97;
21085
16.6k
        } else {
21086
15.1k
          if (yych == 0xE2) goto yy98;
21087
15.1k
        }
21088
33.0k
      }
21089
98.9k
    }
21090
129k
  }
21091
1.86M
yy1048:
21092
1.86M
  YYDEBUG(1048, *YYCURSOR);
21093
1.86M
#line 1658 "ext/date/lib/parse_date.re"
21094
1.86M
  {
21095
1.86M
    DEBUG_OUTPUT("datenocolon");
21096
1.86M
    TIMELIB_INIT;
21097
1.86M
    TIMELIB_HAVE_DATE();
21098
96.1k
    s->time->y = timelib_get_nr(&ptr, 4);
21099
96.1k
    s->time->m = timelib_get_nr(&ptr, 2);
21100
96.1k
    s->time->d = timelib_get_nr(&ptr, 2);
21101
96.1k
    TIMELIB_DEINIT;
21102
96.1k
    return TIMELIB_DATE_NOCOLON;
21103
1.86M
  }
21104
0
#line 21105 "ext/date/lib/parse_date.c"
21105
3.15M
yy1049:
21106
3.15M
  YYDEBUG(1049, *YYCURSOR);
21107
3.15M
  yych = *++YYCURSOR;
21108
3.15M
  if (yych <= 0xC1) {
21109
3.08M
    if (yych <= '/') goto yy196;
21110
2.87M
    if (yych <= '9') goto yy1126;
21111
285k
    goto yy196;
21112
2.87M
  } else {
21113
61.9k
    if (yych <= 0xC2) goto yy97;
21114
53.5k
    if (yych == 0xE2) goto yy98;
21115
43.9k
    goto yy196;
21116
53.5k
  }
21117
106k
yy1050:
21118
106k
  YYDEBUG(1050, *YYCURSOR);
21119
106k
  yych = *++YYCURSOR;
21120
106k
  if (yych <= '/') goto yy59;
21121
101k
  if (yych <= '2') goto yy1129;
21122
26.5k
  if (yych <= '3') goto yy1130;
21123
15.7k
  goto yy59;
21124
15.7k
yy1051:
21125
9.06k
  YYDEBUG(1051, *YYCURSOR);
21126
9.06k
  yych = *++YYCURSOR;
21127
9.06k
  if (yych == 'L') goto yy790;
21128
7.21k
  if (yych == 'l') goto yy790;
21129
4.61k
  goto yy59;
21130
22.8k
yy1052:
21131
22.8k
  YYDEBUG(1052, *YYCURSOR);
21132
22.8k
  yych = *++YYCURSOR;
21133
22.8k
  if (yych == 'S') goto yy1131;
21134
9.10k
  if (yych == 's') goto yy1131;
21135
4.80k
  goto yy59;
21136
31.6k
yy1053:
21137
31.6k
  YYDEBUG(1053, *YYCURSOR);
21138
31.6k
  yych = *++YYCURSOR;
21139
31.6k
  if (yych == 'M') goto yy1057;
21140
23.1k
  if (yych == 'm') goto yy1057;
21141
15.6k
  goto yy59;
21142
25.9k
yy1054:
21143
25.9k
  YYDEBUG(1054, *YYCURSOR);
21144
25.9k
  yych = *++YYCURSOR;
21145
25.9k
  if (yych == 'U') goto yy1055;
21146
23.2k
  if (yych != 'u') goto yy59;
21147
26.6k
yy1055:
21148
26.6k
  YYDEBUG(1055, *YYCURSOR);
21149
26.6k
  yych = *++YYCURSOR;
21150
26.6k
  if (yych == 'A') goto yy1132;
21151
22.3k
  if (yych == 'a') goto yy1132;
21152
14.1k
  goto yy59;
21153
14.1k
yy1056:
21154
12.7k
  YYDEBUG(1056, *YYCURSOR);
21155
12.7k
  yych = *++YYCURSOR;
21156
12.7k
  if (yych == 'H') goto yy790;
21157
7.84k
  if (yych == 'h') goto yy790;
21158
5.18k
  goto yy59;
21159
26.8k
yy1057:
21160
26.8k
  YYDEBUG(1057, *YYCURSOR);
21161
26.8k
  yych = *++YYCURSOR;
21162
26.8k
  if (yych == 'B') goto yy1133;
21163
21.2k
  if (yych == 'b') goto yy1133;
21164
11.4k
  goto yy59;
21165
11.4k
yy1058:
21166
10.3k
  YYDEBUG(1058, *YYCURSOR);
21167
10.3k
  yych = *++YYCURSOR;
21168
10.3k
  if (yych <= '/') goto yy59;
21169
6.32k
  if (yych >= '8') goto yy59;
21170
10.1k
yy1059:
21171
10.1k
  YYDEBUG(1059, *YYCURSOR);
21172
10.1k
  ++YYCURSOR;
21173
10.1k
  YYDEBUG(1060, *YYCURSOR);
21174
10.1k
#line 1710 "ext/date/lib/parse_date.re"
21175
10.1k
  {
21176
10.1k
    timelib_sll w, d;
21177
10.1k
    DEBUG_OUTPUT("isoweekday");
21178
10.1k
    TIMELIB_INIT;
21179
10.1k
    TIMELIB_HAVE_DATE();
21180
4.30k
    TIMELIB_HAVE_RELATIVE();
21181
21182
4.30k
    s->time->y = timelib_get_nr(&ptr, 4);
21183
4.30k
    w = timelib_get_nr(&ptr, 2);
21184
4.30k
    d = timelib_get_nr(&ptr, 1);
21185
4.30k
    s->time->m = 1;
21186
4.30k
    s->time->d = 1;
21187
4.30k
    s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
21188
21189
4.30k
    TIMELIB_DEINIT;
21190
4.30k
    return TIMELIB_ISO_WEEK;
21191
10.1k
  }
21192
0
#line 21193 "ext/date/lib/parse_date.c"
21193
6.80k
yy1061:
21194
6.80k
  YYDEBUG(1061, *YYCURSOR);
21195
6.80k
  yych = *++YYCURSOR;
21196
6.80k
  if (yych == 'H') goto yy1134;
21197
4.61k
  if (yych == 'h') goto yy1134;
21198
2.25k
  goto yy59;
21199
19.5k
yy1062:
21200
19.5k
  YYDEBUG(1062, *YYCURSOR);
21201
19.5k
  yych = *++YYCURSOR;
21202
19.5k
  if (yych == 'C') goto yy1135;
21203
15.1k
  if (yych == 'c') goto yy1135;
21204
4.02k
  goto yy59;
21205
44.8k
yy1063:
21206
44.8k
  YYDEBUG(1063, *YYCURSOR);
21207
44.8k
  yych = *++YYCURSOR;
21208
44.8k
  if (yych <= '/') goto yy59;
21209
39.4k
  if (yych <= '9') goto yy1136;
21210
4.13k
  goto yy59;
21211
50.1k
yy1064:
21212
50.1k
  YYDEBUG(1064, *YYCURSOR);
21213
50.1k
  yych = *++YYCURSOR;
21214
50.1k
  if (yych <= '/') goto yy59;
21215
45.4k
  if (yych <= '9') goto yy1138;
21216
2.47k
  goto yy59;
21217
20.3k
yy1065:
21218
20.3k
  YYDEBUG(1065, *YYCURSOR);
21219
20.3k
  yyaccept = 25;
21220
20.3k
  yych = *(YYMARKER = ++YYCURSOR);
21221
20.3k
  if (yych <= 'q') {
21222
9.84k
    if (yych == 'n') goto yy741;
21223
8.01k
    goto yy1025;
21224
10.4k
  } else {
21225
10.4k
    if (yych <= 'r') goto yy741;
21226
6.82k
    if (yych <= 's') goto yy742;
21227
5.67k
    if (yych <= 't') goto yy743;
21228
4.00k
    goto yy1025;
21229
5.67k
  }
21230
24.0k
yy1066:
21231
24.0k
  YYDEBUG(1066, *YYCURSOR);
21232
24.0k
  yych = *++YYCURSOR;
21233
24.0k
  if (yych <= '/') goto yy59;
21234
15.3k
  if (yych <= '9') goto yy1140;
21235
4.13k
  goto yy59;
21236
18.4k
yy1067:
21237
18.4k
  YYDEBUG(1067, *YYCURSOR);
21238
18.4k
  yych = *++YYCURSOR;
21239
18.4k
  if (yych <= '/') goto yy59;
21240
16.1k
  if (yych <= '1') goto yy1140;
21241
6.88k
  goto yy59;
21242
13.0k
yy1068:
21243
13.0k
  YYDEBUG(1068, *YYCURSOR);
21244
13.0k
  yych = *++YYCURSOR;
21245
13.0k
  if (yych <= '/') goto yy290;
21246
11.5k
  if (yych <= '9') goto yy1142;
21247
4.78k
  goto yy290;
21248
28.4k
yy1069:
21249
28.4k
  YYDEBUG(1069, *YYCURSOR);
21250
28.4k
  yych = *++YYCURSOR;
21251
28.4k
  if (yych <= '/') goto yy1070;
21252
25.7k
  if (yych <= '9') goto yy1143;
21253
28.4k
yy1070:
21254
28.4k
  YYDEBUG(1070, *YYCURSOR);
21255
28.4k
#line 1748 "ext/date/lib/parse_date.re"
21256
28.4k
  {
21257
28.4k
    int length = 0;
21258
28.4k
    DEBUG_OUTPUT("pgtextshort");
21259
28.4k
    TIMELIB_INIT;
21260
28.4k
    TIMELIB_HAVE_DATE();
21261
8.18k
    s->time->m = timelib_get_month(&ptr);
21262
8.18k
    s->time->d = timelib_get_nr(&ptr, 2);
21263
8.18k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
21264
8.18k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
21265
8.18k
    TIMELIB_DEINIT;
21266
8.18k
    return TIMELIB_PG_TEXT;
21267
28.4k
  }
21268
0
#line 21269 "ext/date/lib/parse_date.c"
21269
167k
yy1071:
21270
167k
  YYDEBUG(1071, *YYCURSOR);
21271
167k
  yych = *++YYCURSOR;
21272
167k
  if (yych <= '/') goto yy59;
21273
164k
  if (yych <= '1') goto yy1144;
21274
91.3k
  if (yych <= '2') goto yy1146;
21275
40.8k
  if (yych <= '9') goto yy1147;
21276
6.21k
  goto yy59;
21277
46.9k
yy1072:
21278
46.9k
  YYDEBUG(1072, *YYCURSOR);
21279
46.9k
  yych = *++YYCURSOR;
21280
46.9k
  if (yych <= 'E') {
21281
17.7k
    if (yych <= 'C') goto yy59;
21282
12.8k
    if (yych <= 'D') goto yy1099;
21283
5.24k
    goto yy1148;
21284
29.2k
  } else {
21285
29.2k
    if (yych <= 'c') goto yy59;
21286
27.4k
    if (yych <= 'd') goto yy1099;
21287
22.4k
    if (yych <= 'e') goto yy1148;
21288
2.69k
    goto yy59;
21289
22.4k
  }
21290
14.8k
yy1073:
21291
14.8k
  YYDEBUG(1073, *YYCURSOR);
21292
14.8k
  ++YYCURSOR;
21293
14.8k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
21294
14.8k
  yych = *YYCURSOR;
21295
14.8k
  if (yych == 0xA0) goto yy960;
21296
5.87k
  if (yych == 0xB5) goto yy991;
21297
3.55k
  goto yy59;
21298
63.6k
yy1074:
21299
63.6k
  YYDEBUG(1074, *YYCURSOR);
21300
63.6k
  ++YYCURSOR;
21301
63.6k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
21302
63.6k
  yych = *YYCURSOR;
21303
63.6k
  if (yych <= 'd') {
21304
26.9k
    if (yych <= 'R') {
21305
10.8k
      if (yych <= 'F') {
21306
7.18k
        if (yych == 'D') goto yy856;
21307
5.49k
        if (yych <= 'E') goto yy59;
21308
1.51k
        goto yy857;
21309
5.49k
      } else {
21310
3.68k
        if (yych <= 'H') {
21311
1.50k
          if (yych <= 'G') goto yy59;
21312
648
          goto yy858;
21313
2.17k
        } else {
21314
2.17k
          if (yych == 'M') goto yy859;
21315
1.19k
          goto yy59;
21316
2.17k
        }
21317
3.68k
      }
21318
16.1k
    } else {
21319
16.1k
      if (yych <= 'V') {
21320
8.42k
        if (yych <= 'S') goto yy860;
21321
5.59k
        if (yych <= 'T') goto yy861;
21322
4.81k
        if (yych <= 'U') goto yy862;
21323
1.47k
        goto yy59;
21324
7.69k
      } else {
21325
7.69k
        if (yych <= 'X') {
21326
3.52k
          if (yych <= 'W') goto yy959;
21327
1.31k
          goto yy59;
21328
4.17k
        } else {
21329
4.17k
          if (yych <= 'Y') goto yy864;
21330
2.41k
          if (yych <= 'c') goto yy59;
21331
1.86k
          goto yy856;
21332
2.41k
        }
21333
7.69k
      }
21334
16.1k
    }
21335
36.7k
  } else {
21336
36.7k
    if (yych <= 't') {
21337
17.6k
      if (yych <= 'h') {
21338
7.54k
        if (yych == 'f') goto yy857;
21339
5.64k
        if (yych <= 'g') goto yy59;
21340
2.84k
        goto yy858;
21341
10.0k
      } else {
21342
10.0k
        if (yych <= 'm') {
21343
3.40k
          if (yych <= 'l') goto yy59;
21344
1.38k
          goto yy859;
21345
6.68k
        } else {
21346
6.68k
          if (yych <= 'r') goto yy59;
21347
3.70k
          if (yych <= 's') goto yy860;
21348
1.35k
          goto yy861;
21349
3.70k
        }
21350
10.0k
      }
21351
19.0k
    } else {
21352
19.0k
      if (yych <= 'y') {
21353
5.17k
        if (yych <= 'v') {
21354
2.45k
          if (yych <= 'u') goto yy862;
21355
1.42k
          goto yy59;
21356
2.71k
        } else {
21357
2.71k
          if (yych <= 'w') goto yy959;
21358
1.18k
          if (yych <= 'x') goto yy59;
21359
614
          goto yy864;
21360
1.18k
        }
21361
13.8k
      } else {
21362
13.8k
        if (yych <= 0xC2) {
21363
3.78k
          if (yych <= 0xC1) goto yy59;
21364
1.40k
          goto yy865;
21365
10.1k
        } else {
21366
10.1k
          if (yych == 0xE2) goto yy838;
21367
1.47k
          goto yy59;
21368
10.1k
        }
21369
13.8k
      }
21370
19.0k
    }
21371
36.7k
  }
21372
28.6k
yy1075:
21373
28.6k
  YYDEBUG(1075, *YYCURSOR);
21374
28.6k
  yyaccept = 2;
21375
28.6k
  yych = *(YYMARKER = ++YYCURSOR);
21376
28.6k
  if (yych <= '/') goto yy20;
21377
25.7k
  if (yych <= '5') goto yy1018;
21378
6.78k
  if (yych <= '6') goto yy1019;
21379
3.03k
  goto yy20;
21380
185k
yy1076:
21381
185k
  YYDEBUG(1076, *YYCURSOR);
21382
185k
  yych = *++YYCURSOR;
21383
185k
  if (yych <= '/') goto yy849;
21384
179k
  if (yych <= '9') goto yy1149;
21385
13.7k
  goto yy849;
21386
24.4k
yy1077:
21387
24.4k
  YYDEBUG(1077, *YYCURSOR);
21388
24.4k
  yych = *++YYCURSOR;
21389
24.4k
  if (yych == '0') goto yy1149;
21390
5.07k
  goto yy849;
21391
56.9k
yy1078:
21392
56.9k
  YYDEBUG(1078, *YYCURSOR);
21393
56.9k
  ++YYCURSOR;
21394
56.9k
  goto yy849;
21395
437k
yy1079:
21396
437k
  YYDEBUG(1079, *YYCURSOR);
21397
437k
  yych = *++YYCURSOR;
21398
437k
  if (yych <= '/') goto yy849;
21399
425k
  if (yych <= '9') goto yy1150;
21400
17.0k
  goto yy849;
21401
37.3k
yy1080:
21402
37.3k
  YYDEBUG(1080, *YYCURSOR);
21403
37.3k
  yych = *++YYCURSOR;
21404
37.3k
  if (yych == '0') goto yy1150;
21405
5.60k
  goto yy849;
21406
37.7k
yy1081:
21407
37.7k
  YYDEBUG(1081, *YYCURSOR);
21408
37.7k
  ++YYCURSOR;
21409
37.7k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
21410
37.7k
  yych = *YYCURSOR;
21411
37.7k
  YYDEBUG(1082, *YYCURSOR);
21412
37.7k
  if (yych <= 'A') {
21413
25.5k
    if (yych <= 0x1F) {
21414
10.5k
      if (yych == '\t') goto yy1081;
21415
1.08k
      goto yy59;
21416
14.9k
    } else {
21417
14.9k
      if (yych <= ' ') goto yy1081;
21418
6.76k
      if (yych <= '@') goto yy59;
21419
6.76k
    }
21420
25.5k
  } else {
21421
12.2k
    if (yych <= '`') {
21422
4.16k
      if (yych != 'P') goto yy59;
21423
8.04k
    } else {
21424
8.04k
      if (yych <= 'a') goto yy1083;
21425
4.17k
      if (yych != 'p') goto yy59;
21426
4.17k
    }
21427
12.2k
  }
21428
44.5k
yy1083:
21429
44.5k
  YYDEBUG(1083, *YYCURSOR);
21430
44.5k
  yych = *++YYCURSOR;
21431
44.5k
  if (yych <= 'L') {
21432
17.5k
    if (yych == '.') goto yy1151;
21433
8.15k
    goto yy59;
21434
26.9k
  } else {
21435
26.9k
    if (yych <= 'M') goto yy1152;
21436
13.9k
    if (yych == 'm') goto yy1152;
21437
8.94k
    goto yy59;
21438
13.9k
  }
21439
28.3k
yy1084:
21440
28.3k
  YYDEBUG(1084, *YYCURSOR);
21441
28.3k
  ++YYCURSOR;
21442
28.3k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
21443
28.3k
  yych = *YYCURSOR;
21444
28.3k
  if (yych == 0xA0) goto yy1153;
21445
3.91k
  goto yy59;
21446
25.2k
yy1085:
21447
25.2k
  YYDEBUG(1085, *YYCURSOR);
21448
25.2k
  ++YYCURSOR;
21449
25.2k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
21450
25.2k
  yych = *YYCURSOR;
21451
25.2k
  if (yych == 0x80) goto yy1154;
21452
4.61k
  goto yy59;
21453
40.7k
yy1086:
21454
40.7k
  YYDEBUG(1086, *YYCURSOR);
21455
40.7k
  yych = *++YYCURSOR;
21456
40.7k
  if (yych == 'S') goto yy1155;
21457
39.2k
  if (yych == 's') goto yy1155;
21458
32.9k
  goto yy982;
21459
32.9k
yy1087:
21460
31.5k
  YYDEBUG(1087, *YYCURSOR);
21461
31.5k
  yych = *++YYCURSOR;
21462
31.5k
  if (yych == 'T') goto yy1156;
21463
27.5k
  if (yych == 't') goto yy1156;
21464
3.61k
  goto yy59;
21465
40.7k
yy1088:
21466
40.7k
  YYDEBUG(1088, *YYCURSOR);
21467
40.7k
  yyaccept = 24;
21468
40.7k
  yych = *(YYMARKER = ++YYCURSOR);
21469
40.7k
  if (yych <= 'D') {
21470
15.9k
    if (yych <= 0x1F) {
21471
7.75k
      if (yych == '\t') goto yy1157;
21472
3.47k
      goto yy982;
21473
8.21k
    } else {
21474
8.21k
      if (yych <= ' ') goto yy1157;
21475
6.07k
      if (yych <= 'C') goto yy982;
21476
2.95k
      goto yy1159;
21477
6.07k
    }
21478
24.7k
  } else {
21479
24.7k
    if (yych <= 0xC1) {
21480
18.5k
      if (yych == 'd') goto yy1159;
21481
6.94k
      goto yy982;
21482
18.5k
    } else {
21483
6.14k
      if (yych <= 0xC2) goto yy1160;
21484
5.51k
      if (yych == 0xE2) goto yy1161;
21485
1.63k
      goto yy982;
21486
5.51k
    }
21487
24.7k
  }
21488
7.41k
yy1089:
21489
7.41k
  YYDEBUG(1089, *YYCURSOR);
21490
7.41k
  yych = *++YYCURSOR;
21491
7.41k
  if (yych == 'R') goto yy1086;
21492
6.66k
  if (yych == 'r') goto yy1086;
21493
3.35k
  goto yy59;
21494
17.2k
yy1090:
21495
17.2k
  YYDEBUG(1090, *YYCURSOR);
21496
17.2k
  yych = *++YYCURSOR;
21497
17.2k
  if (yych == 'R') goto yy1162;
21498
5.62k
  if (yych == 'r') goto yy1162;
21499
1.46k
  goto yy59;
21500
8.83k
yy1091:
21501
8.83k
  YYDEBUG(1091, *YYCURSOR);
21502
8.83k
  yych = *++YYCURSOR;
21503
8.83k
  if (yych == 'L') goto yy1163;
21504
4.98k
  if (yych == 'l') goto yy1163;
21505
2.43k
  goto yy59;
21506
18.5k
yy1092:
21507
18.5k
  YYDEBUG(1092, *YYCURSOR);
21508
18.5k
  yyaccept = 24;
21509
18.5k
  yych = *(YYMARKER = ++YYCURSOR);
21510
18.5k
  if (yych <= 'U') {
21511
9.54k
    if (yych == 'S') goto yy1155;
21512
8.14k
    if (yych <= 'T') goto yy982;
21513
4.04k
    goto yy1164;
21514
9.04k
  } else {
21515
9.04k
    if (yych <= 's') {
21516
3.65k
      if (yych <= 'r') goto yy982;
21517
2.35k
      goto yy1155;
21518
5.38k
    } else {
21519
5.38k
      if (yych == 'u') goto yy1164;
21520
1.54k
      goto yy982;
21521
5.38k
    }
21522
9.04k
  }
21523
43.9k
yy1093:
21524
43.9k
  YYDEBUG(1093, *YYCURSOR);
21525
43.9k
  yyaccept = 24;
21526
43.9k
  yych = *(YYMARKER = ++YYCURSOR);
21527
43.9k
  if (yych <= 'T') {
21528
20.4k
    if (yych <= ' ') {
21529
4.96k
      if (yych == '\t') goto yy1157;
21530
2.10k
      if (yych <= 0x1F) goto yy982;
21531
821
      goto yy1157;
21532
15.5k
    } else {
21533
15.5k
      if (yych == 'D') goto yy1159;
21534
8.41k
      if (yych <= 'S') goto yy982;
21535
6.34k
      goto yy1165;
21536
8.41k
    }
21537
23.4k
  } else {
21538
23.4k
    if (yych <= 't') {
21539
13.3k
      if (yych == 'd') goto yy1159;
21540
4.33k
      if (yych <= 's') goto yy982;
21541
2.97k
      goto yy1165;
21542
10.1k
    } else {
21543
10.1k
      if (yych <= 0xC2) {
21544
3.87k
        if (yych <= 0xC1) goto yy982;
21545
1.77k
        goto yy1160;
21546
6.24k
      } else {
21547
6.24k
        if (yych == 0xE2) goto yy1161;
21548
5.10k
        goto yy982;
21549
6.24k
      }
21550
10.1k
    }
21551
23.4k
  }
21552
13.1k
yy1094:
21553
13.1k
  YYDEBUG(1094, *YYCURSOR);
21554
13.1k
  yych = *++YYCURSOR;
21555
13.1k
  if (yych == 'C') goto yy1086;
21556
10.4k
  if (yych == 'c') goto yy1086;
21557
7.83k
  goto yy59;
21558
29.6k
yy1095:
21559
29.6k
  YYDEBUG(1095, *YYCURSOR);
21560
29.6k
  yyaccept = 24;
21561
29.6k
  yych = *(YYMARKER = ++YYCURSOR);
21562
29.6k
  if (yych <= 'U') {
21563
8.39k
    if (yych <= 0x1F) {
21564
1.17k
      if (yych == '\t') goto yy1157;
21565
460
      goto yy982;
21566
7.21k
    } else {
21567
7.21k
      if (yych <= ' ') goto yy1157;
21568
5.66k
      if (yych <= 'T') goto yy982;
21569
3.49k
      goto yy1166;
21570
5.66k
    }
21571
21.2k
  } else {
21572
21.2k
    if (yych <= 0xC1) {
21573
15.1k
      if (yych == 'u') goto yy1166;
21574
6.43k
      goto yy982;
21575
15.1k
    } else {
21576
6.14k
      if (yych <= 0xC2) goto yy1160;
21577
1.42k
      if (yych == 0xE2) goto yy1161;
21578
600
      goto yy982;
21579
1.42k
    }
21580
21.2k
  }
21581
18.3k
yy1096:
21582
18.3k
  YYDEBUG(1096, *YYCURSOR);
21583
18.3k
  yyaccept = 24;
21584
18.3k
  yych = *(YYMARKER = ++YYCURSOR);
21585
18.3k
  if (yych <= 'S') {
21586
5.21k
    if (yych == 'O') goto yy1167;
21587
2.60k
    if (yych <= 'R') goto yy982;
21588
661
    goto yy1155;
21589
13.0k
  } else {
21590
13.0k
    if (yych <= 'o') {
21591
8.92k
      if (yych <= 'n') goto yy982;
21592
6.09k
      goto yy1167;
21593
8.92k
    } else {
21594
4.17k
      if (yych == 's') goto yy1155;
21595
2.81k
      goto yy982;
21596
4.17k
    }
21597
13.0k
  }
21598
24.5k
yy1097:
21599
24.5k
  YYDEBUG(1097, *YYCURSOR);
21600
24.5k
  yyaccept = 24;
21601
24.5k
  yych = *(YYMARKER = ++YYCURSOR);
21602
24.5k
  if (yych <= 'R') {
21603
13.8k
    if (yych <= 0x1F) {
21604
2.86k
      if (yych == '\t') goto yy1157;
21605
871
      goto yy982;
21606
10.9k
    } else {
21607
10.9k
      if (yych <= ' ') goto yy1157;
21608
8.79k
      if (yych <= 'Q') goto yy982;
21609
6.15k
      goto yy1168;
21610
8.79k
    }
21611
13.8k
  } else {
21612
10.6k
    if (yych <= 0xC1) {
21613
4.38k
      if (yych == 'r') goto yy1168;
21614
1.45k
      goto yy982;
21615
6.29k
    } else {
21616
6.29k
      if (yych <= 0xC2) goto yy1160;
21617
2.72k
      if (yych == 0xE2) goto yy1161;
21618
1.87k
      goto yy982;
21619
2.72k
    }
21620
10.6k
  }
21621
36.3k
yy1098:
21622
36.3k
  YYDEBUG(1098, *YYCURSOR);
21623
36.3k
  yyaccept = 24;
21624
36.3k
  yych = *(YYMARKER = ++YYCURSOR);
21625
36.3k
  if (yych <= 'S') {
21626
17.4k
    if (yych <= 0x1F) {
21627
6.84k
      if (yych == '\t') goto yy1157;
21628
2.01k
      goto yy982;
21629
10.5k
    } else {
21630
10.5k
      if (yych <= ' ') goto yy1157;
21631
9.14k
      if (yych <= 'R') goto yy982;
21632
6.38k
      goto yy1169;
21633
9.14k
    }
21634
18.9k
  } else {
21635
18.9k
    if (yych <= 0xC1) {
21636
3.71k
      if (yych == 's') goto yy1169;
21637
2.19k
      goto yy982;
21638
15.2k
    } else {
21639
15.2k
      if (yych <= 0xC2) goto yy1160;
21640
13.8k
      if (yych == 0xE2) goto yy1161;
21641
7.47k
      goto yy982;
21642
13.8k
    }
21643
18.9k
  }
21644
66.6k
yy1099:
21645
66.6k
  YYDEBUG(1099, *YYCURSOR);
21646
66.6k
  yyaccept = 24;
21647
66.6k
  yych = *(YYMARKER = ++YYCURSOR);
21648
66.6k
  if (yych <= 'N') {
21649
23.5k
    if (yych <= 0x1F) {
21650
5.99k
      if (yych == '\t') goto yy1157;
21651
3.12k
      goto yy982;
21652
17.5k
    } else {
21653
17.5k
      if (yych <= ' ') goto yy1157;
21654
14.7k
      if (yych <= 'M') goto yy982;
21655
9.90k
      goto yy1170;
21656
14.7k
    }
21657
43.0k
  } else {
21658
43.0k
    if (yych <= 0xC1) {
21659
36.1k
      if (yych == 'n') goto yy1170;
21660
8.86k
      goto yy982;
21661
36.1k
    } else {
21662
6.85k
      if (yych <= 0xC2) goto yy1160;
21663
5.75k
      if (yych == 0xE2) goto yy1161;
21664
2.29k
      goto yy982;
21665
5.75k
    }
21666
43.0k
  }
21667
32.2k
yy1100:
21668
32.2k
  YYDEBUG(1100, *YYCURSOR);
21669
32.2k
  yych = *++YYCURSOR;
21670
32.2k
  if (yych == 'K') goto yy1171;
21671
23.1k
  if (yych == 'k') goto yy1171;
21672
8.31k
  goto yy59;
21673
18.1k
yy1101:
21674
18.1k
  YYDEBUG(1101, *YYCURSOR);
21675
18.1k
  yyaccept = 24;
21676
18.1k
  yych = *(YYMARKER = ++YYCURSOR);
21677
18.1k
  if (yych <= 'R') {
21678
10.0k
    if (yych == ' ') goto yy1173;
21679
1.98k
    goto yy982;
21680
10.0k
  } else {
21681
8.08k
    if (yych <= 'S') goto yy1155;
21682
7.76k
    if (yych == 's') goto yy1155;
21683
3.88k
    goto yy982;
21684
7.76k
  }
21685
7.68k
yy1102:
21686
7.68k
  YYDEBUG(1102, *YYCURSOR);
21687
7.68k
  ++YYCURSOR;
21688
7.68k
  goto yy722;
21689
8.83k
yy1103:
21690
8.83k
  YYDEBUG(1103, *YYCURSOR);
21691
8.83k
  yyaccept = 16;
21692
8.83k
  yych = *(YYMARKER = ++YYCURSOR);
21693
8.83k
  if (yybm[0+yych] & 128) {
21694
710
    goto yy954;
21695
710
  }
21696
8.12k
  if (yych <= '.') {
21697
3.02k
    if (yych == '-') goto yy297;
21698
798
    goto yy722;
21699
5.10k
  } else {
21700
5.10k
    if (yych <= '/') goto yy297;
21701
2.88k
    if (yych == '_') goto yy297;
21702
1.39k
    goto yy722;
21703
2.88k
  }
21704
89.4k
yy1104:
21705
89.4k
  YYDEBUG(1104, *YYCURSOR);
21706
89.4k
  yych = *++YYCURSOR;
21707
89.4k
  if (yych <= ' ') {
21708
16.8k
    if (yych == '\t') goto yy701;
21709
9.08k
    if (yych <= 0x1F) goto yy59;
21710
4.42k
    goto yy701;
21711
72.5k
  } else {
21712
72.5k
    if (yych <= 0xC2) {
21713
69.2k
      if (yych <= 0xC1) goto yy59;
21714
714
      goto yy704;
21715
69.2k
    } else {
21716
3.30k
      if (yych == 0xE2) goto yy705;
21717
690
      goto yy59;
21718
3.30k
    }
21719
72.5k
  }
21720
13.4k
yy1105:
21721
13.4k
  YYDEBUG(1105, *YYCURSOR);
21722
13.4k
  yych = *++YYCURSOR;
21723
13.4k
  if (yych <= ' ') {
21724
5.26k
    if (yych == '\t') goto yy701;
21725
3.33k
    if (yych <= 0x1F) goto yy955;
21726
1.77k
    goto yy701;
21727
8.14k
  } else {
21728
8.14k
    if (yych <= 0xC2) {
21729
5.82k
      if (yych <= 0xC1) goto yy955;
21730
2.98k
      goto yy704;
21731
5.82k
    } else {
21732
2.32k
      if (yych == 0xE2) goto yy705;
21733
1.80k
      goto yy955;
21734
2.32k
    }
21735
8.14k
  }
21736
5.46k
yy1106:
21737
5.46k
  YYDEBUG(1106, *YYCURSOR);
21738
5.46k
  ++YYCURSOR;
21739
11.0k
yy1107:
21740
11.0k
  YYDEBUG(1107, *YYCURSOR);
21741
11.0k
#line 1209 "ext/date/lib/parse_date.re"
21742
11.0k
  {
21743
11.0k
    DEBUG_OUTPUT("tomorrow");
21744
11.0k
    TIMELIB_INIT;
21745
11.0k
    TIMELIB_HAVE_RELATIVE();
21746
11.0k
    TIMELIB_UNHAVE_TIME();
21747
21748
11.0k
    s->time->relative.d = 1;
21749
11.0k
    TIMELIB_DEINIT;
21750
11.0k
    return TIMELIB_RELATIVE;
21751
5.46k
  }
21752
0
#line 21753 "ext/date/lib/parse_date.c"
21753
7.73k
yy1108:
21754
7.73k
  YYDEBUG(1108, *YYCURSOR);
21755
7.73k
  yyaccept = 28;
21756
7.73k
  yych = *(YYMARKER = ++YYCURSOR);
21757
7.73k
  if (yybm[0+yych] & 128) {
21758
1.19k
    goto yy954;
21759
1.19k
  }
21760
6.54k
  if (yych <= '.') {
21761
2.81k
    if (yych == '-') goto yy297;
21762
1.40k
    goto yy1107;
21763
3.72k
  } else {
21764
3.72k
    if (yych <= '/') goto yy297;
21765
2.79k
    if (yych == '_') goto yy297;
21766
1.06k
    goto yy1107;
21767
2.79k
  }
21768
12.6k
yy1109:
21769
12.6k
  YYDEBUG(1109, *YYCURSOR);
21770
12.6k
  yych = *++YYCURSOR;
21771
12.6k
  if (yych == 'Y') goto yy1174;
21772
8.10k
  if (yych == 'y') goto yy1174;
21773
6.87k
  goto yy59;
21774
10.4k
yy1110:
21775
10.4k
  YYDEBUG(1110, *YYCURSOR);
21776
10.4k
  yych = *++YYCURSOR;
21777
10.4k
  if (yych == 'Y') goto yy1174;
21778
8.39k
  if (yych == 'y') goto yy1176;
21779
3.65k
  goto yy955;
21780
41.8k
yy1111:
21781
41.8k
  YYDEBUG(1111, *YYCURSOR);
21782
41.8k
  yych = *++YYCURSOR;
21783
41.8k
  if (yych <= '/') goto yy59;
21784
39.4k
  if (yych <= '2') goto yy1177;
21785
23.2k
  if (yych <= '3') goto yy1178;
21786
4.91k
  goto yy59;
21787
44.6k
yy1112:
21788
44.6k
  YYDEBUG(1112, *YYCURSOR);
21789
44.6k
  yych = *++YYCURSOR;
21790
44.6k
  if (yych == '-') goto yy1179;
21791
19.7k
  goto yy59;
21792
373k
yy1113:
21793
373k
  YYDEBUG(1113, *YYCURSOR);
21794
373k
  yych = *++YYCURSOR;
21795
373k
  if (yych <= '9') {
21796
343k
    if (yych == '-') goto yy893;
21797
329k
    if (yych <= '/') goto yy196;
21798
312k
    goto yy1180;
21799
329k
  } else {
21800
29.9k
    if (yych <= 0xC2) {
21801
19.5k
      if (yych <= 0xC1) goto yy196;
21802
2.81k
      goto yy97;
21803
19.5k
    } else {
21804
10.3k
      if (yych == 0xE2) goto yy98;
21805
8.10k
      goto yy196;
21806
10.3k
    }
21807
29.9k
  }
21808
227k
yy1114:
21809
227k
  YYDEBUG(1114, *YYCURSOR);
21810
227k
  yych = *++YYCURSOR;
21811
227k
  if (yych <= '/') goto yy59;
21812
221k
  if (yych <= '9') goto yy1181;
21813
8.77k
  goto yy59;
21814
43.1k
yy1115:
21815
43.1k
  YYDEBUG(1115, *YYCURSOR);
21816
43.1k
  yych = *++YYCURSOR;
21817
43.1k
  if (yych <= '/') goto yy59;
21818
40.4k
  if (yych <= '1') goto yy1182;
21819
19.7k
  if (yych <= '2') goto yy1183;
21820
8.58k
  if (yych <= '9') goto yy1184;
21821
5.67k
  goto yy59;
21822
29.1k
yy1116:
21823
29.1k
  YYDEBUG(1116, *YYCURSOR);
21824
29.1k
  yych = *++YYCURSOR;
21825
29.1k
  if (yych == 'd') goto yy1185;
21826
24.1k
  goto yy59;
21827
24.1k
yy1117:
21828
14.5k
  YYDEBUG(1117, *YYCURSOR);
21829
14.5k
  yych = *++YYCURSOR;
21830
14.5k
  if (yych == 't') goto yy1185;
21831
9.61k
  goto yy59;
21832
15.5k
yy1118:
21833
15.5k
  YYDEBUG(1118, *YYCURSOR);
21834
15.5k
  yych = *++YYCURSOR;
21835
15.5k
  if (yych == 'h') goto yy1185;
21836
10.7k
  goto yy59;
21837
196k
yy1119:
21838
196k
  YYDEBUG(1119, *YYCURSOR);
21839
196k
  yyaccept = 15;
21840
196k
  yych = *(YYMARKER = ++YYCURSOR);
21841
196k
  if (yych <= 'm') {
21842
169k
    if (yych <= '9') {
21843
157k
      if (yych <= '/') goto yy567;
21844
151k
      goto yy1186;
21845
157k
    } else {
21846
11.9k
      if (yych == 'T') goto yy1115;
21847
4.78k
      goto yy567;
21848
11.9k
    }
21849
169k
  } else {
21850
26.5k
    if (yych <= 'r') {
21851
9.24k
      if (yych <= 'n') goto yy1116;
21852
4.91k
      if (yych <= 'q') goto yy567;
21853
3.99k
      goto yy1116;
21854
17.3k
    } else {
21855
17.3k
      if (yych <= 's') goto yy1117;
21856
13.8k
      if (yych <= 't') goto yy1118;
21857
9.68k
      goto yy567;
21858
13.8k
    }
21859
26.5k
  }
21860
38.5k
yy1120:
21861
38.5k
  YYDEBUG(1120, *YYCURSOR);
21862
38.5k
  yyaccept = 15;
21863
38.5k
  yych = *(YYMARKER = ++YYCURSOR);
21864
38.5k
  if (yych <= 'm') {
21865
22.8k
    if (yych <= '1') {
21866
8.03k
      if (yych <= '/') goto yy567;
21867
5.61k
      goto yy1186;
21868
14.8k
    } else {
21869
14.8k
      if (yych == 'T') goto yy1115;
21870
3.43k
      goto yy567;
21871
14.8k
    }
21872
22.8k
  } else {
21873
15.6k
    if (yych <= 'r') {
21874
7.88k
      if (yych <= 'n') goto yy1116;
21875
5.86k
      if (yych <= 'q') goto yy567;
21876
4.55k
      goto yy1116;
21877
7.72k
    } else {
21878
7.72k
      if (yych <= 's') goto yy1117;
21879
5.29k
      if (yych <= 't') goto yy1118;
21880
2.59k
      goto yy567;
21881
5.29k
    }
21882
15.6k
  }
21883
20.4k
yy1121:
21884
20.4k
  YYDEBUG(1121, *YYCURSOR);
21885
20.4k
  yych = *++YYCURSOR;
21886
20.4k
  if (yych == 'd') goto yy1187;
21887
17.0k
  goto yy59;
21888
18.6k
yy1122:
21889
18.6k
  YYDEBUG(1122, *YYCURSOR);
21890
18.6k
  yych = *++YYCURSOR;
21891
18.6k
  if (yych == 't') goto yy1187;
21892
12.3k
  goto yy59;
21893
15.6k
yy1123:
21894
15.6k
  YYDEBUG(1123, *YYCURSOR);
21895
15.6k
  yych = *++YYCURSOR;
21896
15.6k
  if (yych == 'h') goto yy1187;
21897
10.3k
  goto yy59;
21898
31.5k
yy1124:
21899
31.5k
  YYDEBUG(1124, *YYCURSOR);
21900
31.5k
  yyaccept = 26;
21901
31.5k
  yych = *(YYMARKER = ++YYCURSOR);
21902
31.5k
  if (yych <= 'n') {
21903
19.7k
    if (yych <= '/') goto yy1043;
21904
17.6k
    if (yych <= '9') goto yy1188;
21905
5.71k
    if (yych <= 'm') goto yy1043;
21906
728
    goto yy1121;
21907
11.8k
  } else {
21908
11.8k
    if (yych <= 'r') {
21909
5.75k
      if (yych <= 'q') goto yy1043;
21910
2.78k
      goto yy1121;
21911
6.06k
    } else {
21912
6.06k
      if (yych <= 's') goto yy1122;
21913
3.89k
      if (yych <= 't') goto yy1123;
21914
1.13k
      goto yy1043;
21915
3.89k
    }
21916
11.8k
  }
21917
16.9k
yy1125:
21918
16.9k
  YYDEBUG(1125, *YYCURSOR);
21919
16.9k
  yyaccept = 26;
21920
16.9k
  yych = *(YYMARKER = ++YYCURSOR);
21921
16.9k
  if (yych <= 'n') {
21922
8.52k
    if (yych <= '/') goto yy1043;
21923
7.40k
    if (yych <= '1') goto yy1188;
21924
3.69k
    if (yych <= 'm') goto yy1043;
21925
2.16k
    goto yy1121;
21926
8.39k
  } else {
21927
8.39k
    if (yych <= 'r') {
21928
4.39k
      if (yych <= 'q') goto yy1043;
21929
1.88k
      goto yy1121;
21930
4.39k
    } else {
21931
3.99k
      if (yych <= 's') goto yy1122;
21932
2.14k
      if (yych <= 't') goto yy1123;
21933
685
      goto yy1043;
21934
2.14k
    }
21935
8.39k
  }
21936
4.10M
yy1126:
21937
4.10M
  YYDEBUG(1126, *YYCURSOR);
21938
4.10M
  yych = *++YYCURSOR;
21939
4.10M
  if (yych <= 0xC1) {
21940
4.04M
    if (yych <= '/') goto yy196;
21941
3.82M
    if (yych <= '9') goto yy1189;
21942
250k
    goto yy196;
21943
3.82M
  } else {
21944
58.2k
    if (yych <= 0xC2) goto yy97;
21945
44.3k
    if (yych == 0xE2) goto yy98;
21946
31.8k
    goto yy196;
21947
44.3k
  }
21948
75.2k
yy1127:
21949
75.2k
  YYDEBUG(1127, *YYCURSOR);
21950
75.2k
  yych = *++YYCURSOR;
21951
75.2k
  if (yych <= 'H') {
21952
65.2k
    if (yych <= '2') {
21953
56.0k
      if (yych <= '/') goto yy59;
21954
54.3k
      if (yych <= '1') goto yy1190;
21955
25.3k
      goto yy1191;
21956
54.3k
    } else {
21957
9.26k
      if (yych <= '9') goto yy1192;
21958
4.62k
      if (yych <= 'G') goto yy59;
21959
1.55k
      goto yy266;
21960
4.62k
    }
21961
65.2k
  } else {
21962
9.95k
    if (yych <= 'g') {
21963
3.09k
      if (yych == 'U') goto yy267;
21964
1.49k
      goto yy59;
21965
6.86k
    } else {
21966
6.86k
      if (yych <= 'h') goto yy266;
21967
6.36k
      if (yych == 'u') goto yy267;
21968
3.28k
      goto yy59;
21969
6.36k
    }
21970
9.95k
  }
21971
58.8k
yy1128:
21972
58.8k
  YYDEBUG(1128, *YYCURSOR);
21973
58.8k
  yych = *++YYCURSOR;
21974
58.8k
  if (yych <= 'H') {
21975
49.3k
    if (yych <= '2') {
21976
40.7k
      if (yych <= '/') goto yy59;
21977
36.1k
      if (yych <= '1') goto yy1193;
21978
15.9k
      goto yy1194;
21979
36.1k
    } else {
21980
8.59k
      if (yych <= '9') goto yy1195;
21981
2.63k
      if (yych <= 'G') goto yy59;
21982
1.54k
      goto yy266;
21983
2.63k
    }
21984
49.3k
  } else {
21985
9.58k
    if (yych <= 'g') {
21986
4.26k
      if (yych == 'U') goto yy267;
21987
2.16k
      goto yy59;
21988
5.31k
    } else {
21989
5.31k
      if (yych <= 'h') goto yy266;
21990
3.15k
      if (yych == 'u') goto yy267;
21991
1.75k
      goto yy59;
21992
3.15k
    }
21993
9.58k
  }
21994
75.2k
yy1129:
21995
75.2k
  YYDEBUG(1129, *YYCURSOR);
21996
75.2k
  yych = *++YYCURSOR;
21997
75.2k
  if (yych <= '/') goto yy59;
21998
67.6k
  if (yych <= '9') goto yy1196;
21999
5.54k
  goto yy59;
22000
10.8k
yy1130:
22001
10.8k
  YYDEBUG(1130, *YYCURSOR);
22002
10.8k
  yych = *++YYCURSOR;
22003
10.8k
  if (yych <= '/') goto yy59;
22004
9.24k
  if (yych <= '1') goto yy1196;
22005
3.13k
  goto yy59;
22006
18.0k
yy1131:
22007
18.0k
  YYDEBUG(1131, *YYCURSOR);
22008
18.0k
  yych = *++YYCURSOR;
22009
18.0k
  if (yych == 'T') goto yy790;
22010
13.0k
  if (yych == 't') goto yy790;
22011
11.0k
  goto yy59;
22012
12.4k
yy1132:
22013
12.4k
  YYDEBUG(1132, *YYCURSOR);
22014
12.4k
  yych = *++YYCURSOR;
22015
12.4k
  if (yych == 'R') goto yy1197;
22016
9.69k
  if (yych == 'r') goto yy1197;
22017
3.49k
  goto yy59;
22018
15.4k
yy1133:
22019
15.4k
  YYDEBUG(1133, *YYCURSOR);
22020
15.4k
  yych = *++YYCURSOR;
22021
15.4k
  if (yych == 'E') goto yy1198;
22022
13.1k
  if (yych == 'e') goto yy1198;
22023
7.43k
  goto yy59;
22024
7.43k
yy1134:
22025
4.54k
  YYDEBUG(1134, *YYCURSOR);
22026
4.54k
  yych = *++YYCURSOR;
22027
4.54k
  if (yych == 'T') goto yy425;
22028
3.50k
  if (yych == 't') goto yy425;
22029
2.01k
  goto yy59;
22030
15.5k
yy1135:
22031
15.5k
  YYDEBUG(1135, *YYCURSOR);
22032
15.5k
  yych = *++YYCURSOR;
22033
15.5k
  if (yych == 'O') goto yy628;
22034
4.33k
  if (yych == 'o') goto yy628;
22035
2.18k
  goto yy59;
22036
114k
yy1136:
22037
114k
  YYDEBUG(1136, *YYCURSOR);
22038
114k
  yyaccept = 4;
22039
114k
  YYMARKER = ++YYCURSOR;
22040
114k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
22041
114k
  yych = *YYCURSOR;
22042
114k
  YYDEBUG(1137, *YYCURSOR);
22043
114k
  if (yych <= 'O') {
22044
97.2k
    if (yych <= '9') {
22045
91.0k
      if (yych <= '/') goto yy177;
22046
79.6k
      goto yy1136;
22047
91.0k
    } else {
22048
6.17k
      if (yych == 'A') goto yy1199;
22049
2.08k
      goto yy177;
22050
6.17k
    }
22051
97.2k
  } else {
22052
17.6k
    if (yych <= 'a') {
22053
9.60k
      if (yych <= 'P') goto yy1199;
22054
4.39k
      if (yych <= '`') goto yy177;
22055
1.05k
      goto yy1199;
22056
8.04k
    } else {
22057
8.04k
      if (yych == 'p') goto yy1199;
22058
2.69k
      goto yy177;
22059
8.04k
    }
22060
17.6k
  }
22061
113k
yy1138:
22062
113k
  YYDEBUG(1138, *YYCURSOR);
22063
113k
  ++YYCURSOR;
22064
113k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
22065
113k
  yych = *YYCURSOR;
22066
113k
  YYDEBUG(1139, *YYCURSOR);
22067
113k
  if (yych <= 'O') {
22068
96.1k
    if (yych <= '9') {
22069
82.3k
      if (yych <= '/') goto yy59;
22070
70.7k
      goto yy1138;
22071
82.3k
    } else {
22072
13.7k
      if (yych == 'A') goto yy1199;
22073
4.46k
      goto yy59;
22074
13.7k
    }
22075
96.1k
  } else {
22076
17.5k
    if (yych <= 'a') {
22077
7.70k
      if (yych <= 'P') goto yy1199;
22078
6.52k
      if (yych <= '`') goto yy59;
22079
4.85k
      goto yy1199;
22080
9.82k
    } else {
22081
9.82k
      if (yych == 'p') goto yy1199;
22082
7.27k
      goto yy59;
22083
9.82k
    }
22084
17.5k
  }
22085
20.5k
yy1140:
22086
20.5k
  YYDEBUG(1140, *YYCURSOR);
22087
20.5k
  ++YYCURSOR;
22088
20.5k
  YYDEBUG(1141, *YYCURSOR);
22089
20.5k
#line 1762 "ext/date/lib/parse_date.re"
22090
20.5k
  {
22091
20.5k
    int length = 0;
22092
20.5k
    DEBUG_OUTPUT("pgtextreverse");
22093
20.5k
    TIMELIB_INIT;
22094
20.5k
    TIMELIB_HAVE_DATE();
22095
6.44k
    s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
22096
6.44k
    s->time->m = timelib_get_month(&ptr);
22097
6.44k
    s->time->d = timelib_get_nr(&ptr, 2);
22098
6.44k
    TIMELIB_PROCESS_YEAR(s->time->y, length);
22099
6.44k
    TIMELIB_DEINIT;
22100
6.44k
    return TIMELIB_PG_TEXT;
22101
20.5k
  }
22102
0
#line 22103 "ext/date/lib/parse_date.c"
22103
6.81k
yy1142:
22104
6.81k
  YYDEBUG(1142, *YYCURSOR);
22105
6.81k
  ++YYCURSOR;
22106
6.81k
  goto yy290;
22107
19.8k
yy1143:
22108
19.8k
  YYDEBUG(1143, *YYCURSOR);
22109
19.8k
  yych = *++YYCURSOR;
22110
19.8k
  if (yych <= '/') goto yy1070;
22111
15.1k
  if (yych <= '9') goto yy1200;
22112
4.75k
  goto yy1070;
22113
72.8k
yy1144:
22114
72.8k
  YYDEBUG(1144, *YYCURSOR);
22115
72.8k
  yyaccept = 29;
22116
72.8k
  yych = *(YYMARKER = ++YYCURSOR);
22117
72.8k
  if (yych <= 'O') {
22118
29.8k
    if (yych <= ' ') {
22119
18.0k
      if (yych == '\t') goto yy1201;
22120
12.1k
      if (yych >= ' ') goto yy1201;
22121
12.1k
    } else {
22122
11.7k
      if (yych <= '9') {
22123
8.93k
        if (yych >= '0') goto yy1147;
22124
8.93k
      } else {
22125
2.83k
        if (yych == 'A') goto yy1203;
22126
2.83k
      }
22127
11.7k
    }
22128
42.9k
  } else {
22129
42.9k
    if (yych <= 'p') {
22130
10.6k
      if (yych <= '`') {
22131
2.54k
        if (yych <= 'P') goto yy1203;
22132
8.08k
      } else {
22133
8.08k
        if (yych <= 'a') goto yy1203;
22134
2.72k
        if (yych >= 'p') goto yy1203;
22135
2.72k
      }
22136
32.3k
    } else {
22137
32.3k
      if (yych <= 0xC2) {
22138
12.7k
        if (yych >= 0xC2) goto yy1204;
22139
19.5k
      } else {
22140
19.5k
        if (yych == 0xE2) goto yy1205;
22141
19.5k
      }
22142
32.3k
    }
22143
42.9k
  }
22144
158k
yy1145:
22145
158k
  YYDEBUG(1145, *YYCURSOR);
22146
158k
#line 1304 "ext/date/lib/parse_date.re"
22147
158k
  {
22148
158k
    DEBUG_OUTPUT("backof | frontof");
22149
158k
    TIMELIB_INIT;
22150
158k
    TIMELIB_UNHAVE_TIME();
22151
158k
    TIMELIB_HAVE_TIME();
22152
22153
158k
    if (*ptr == 'b') {
22154
28.8k
      s->time->h = timelib_get_nr(&ptr, 2);
22155
28.8k
      s->time->i = 15;
22156
129k
    } else {
22157
129k
      s->time->h = timelib_get_nr(&ptr, 2) - 1;
22158
129k
      s->time->i = 45;
22159
129k
    }
22160
158k
    if (*ptr != '\0' ) {
22161
18.6k
      timelib_eat_spaces(&ptr);
22162
18.6k
      s->time->h += timelib_meridian(&ptr, s->time->h);
22163
18.6k
    }
22164
22165
158k
    TIMELIB_DEINIT;
22166
158k
    return TIMELIB_LF_DAY_OF_MONTH;
22167
158k
  }
22168
0
#line 22169 "ext/date/lib/parse_date.c"
22169
50.4k
yy1146:
22170
50.4k
  YYDEBUG(1146, *YYCURSOR);
22171
50.4k
  yyaccept = 29;
22172
50.4k
  yych = *(YYMARKER = ++YYCURSOR);
22173
50.4k
  if (yych <= 'O') {
22174
22.0k
    if (yych <= ' ') {
22175
7.47k
      if (yych == '\t') goto yy1201;
22176
6.24k
      if (yych <= 0x1F) goto yy1145;
22177
4.14k
      goto yy1201;
22178
14.6k
    } else {
22179
14.6k
      if (yych <= '4') {
22180
9.10k
        if (yych <= '/') goto yy1145;
22181
9.10k
      } else {
22182
5.52k
        if (yych == 'A') goto yy1203;
22183
4.37k
        goto yy1145;
22184
5.52k
      }
22185
14.6k
    }
22186
28.3k
  } else {
22187
28.3k
    if (yych <= 'p') {
22188
9.60k
      if (yych <= '`') {
22189
3.37k
        if (yych <= 'P') goto yy1203;
22190
1.19k
        goto yy1145;
22191
6.22k
      } else {
22192
6.22k
        if (yych <= 'a') goto yy1203;
22193
3.07k
        if (yych <= 'o') goto yy1145;
22194
1.99k
        goto yy1203;
22195
3.07k
      }
22196
18.7k
    } else {
22197
18.7k
      if (yych <= 0xC2) {
22198
15.3k
        if (yych <= 0xC1) goto yy1145;
22199
13.4k
        goto yy1204;
22200
15.3k
      } else {
22201
3.40k
        if (yych == 0xE2) goto yy1205;
22202
662
        goto yy1145;
22203
3.40k
      }
22204
18.7k
    }
22205
28.3k
  }
22206
49.5k
yy1147:
22207
49.5k
  YYDEBUG(1147, *YYCURSOR);
22208
49.5k
  yyaccept = 29;
22209
49.5k
  yych = *(YYMARKER = ++YYCURSOR);
22210
49.5k
  if (yych <= 'P') {
22211
22.9k
    if (yych <= ' ') {
22212
7.48k
      if (yych == '\t') goto yy1201;
22213
4.42k
      if (yych <= 0x1F) goto yy1145;
22214
3.11k
      goto yy1201;
22215
15.5k
    } else {
22216
15.5k
      if (yych == 'A') goto yy1203;
22217
10.7k
      if (yych <= 'O') goto yy1145;
22218
6.70k
      goto yy1203;
22219
10.7k
    }
22220
26.5k
  } else {
22221
26.5k
    if (yych <= 'p') {
22222
8.96k
      if (yych == 'a') goto yy1203;
22223
6.45k
      if (yych <= 'o') goto yy1145;
22224
3.66k
      goto yy1203;
22225
17.6k
    } else {
22226
17.6k
      if (yych <= 0xC2) {
22227
8.21k
        if (yych <= 0xC1) goto yy1145;
22228
6.85k
        goto yy1204;
22229
9.41k
      } else {
22230
9.41k
        if (yych == 0xE2) goto yy1205;
22231
1.62k
        goto yy1145;
22232
9.41k
      }
22233
17.6k
    }
22234
26.5k
  }
22235
24.9k
yy1148:
22236
24.9k
  YYDEBUG(1148, *YYCURSOR);
22237
24.9k
  yych = *++YYCURSOR;
22238
24.9k
  if (yych == 'K') goto yy1206;
22239
14.4k
  if (yych == 'k') goto yy1206;
22240
3.04k
  goto yy59;
22241
185k
yy1149:
22242
185k
  YYDEBUG(1149, *YYCURSOR);
22243
185k
  yyaccept = 20;
22244
185k
  yych = *(YYMARKER = ++YYCURSOR);
22245
185k
  if (yych <= ',') {
22246
47.9k
    if (yych <= ' ') {
22247
16.6k
      if (yych == '\t') goto yy1208;
22248
9.02k
      if (yych <= 0x1F) goto yy849;
22249
6.34k
      goto yy1208;
22250
31.2k
    } else {
22251
31.2k
      if (yych <= '(') {
22252
9.59k
        if (yych <= '\'') goto yy849;
22253
5.11k
        goto yy1208;
22254
21.6k
      } else {
22255
21.6k
        if (yych == '+') goto yy1208;
22256
4.48k
        goto yy849;
22257
21.6k
      }
22258
31.2k
    }
22259
137k
  } else {
22260
137k
    if (yych <= 'z') {
22261
78.9k
      if (yych <= '@') {
22262
14.6k
        if (yych <= '-') goto yy1208;
22263
6.95k
        goto yy849;
22264
64.2k
      } else {
22265
64.2k
        if (yych <= 'Z') goto yy1208;
22266
9.24k
        if (yych <= '`') goto yy849;
22267
5.60k
        goto yy1208;
22268
9.24k
      }
22269
78.9k
    } else {
22270
58.3k
      if (yych <= 0xC2) {
22271
29.4k
        if (yych <= 0xC1) goto yy849;
22272
25.9k
        goto yy1214;
22273
29.4k
      } else {
22274
28.8k
        if (yych == 0xE2) goto yy1215;
22275
4.97k
        goto yy849;
22276
28.8k
      }
22277
58.3k
    }
22278
137k
  }
22279
440k
yy1150:
22280
440k
  YYDEBUG(1150, *YYCURSOR);
22281
440k
  yyaccept = 20;
22282
440k
  yych = *(YYMARKER = ++YYCURSOR);
22283
440k
  if (yych <= ',') {
22284
91.4k
    if (yych <= ' ') {
22285
68.9k
      if (yych == '\t') goto yy1217;
22286
57.3k
      if (yych <= 0x1F) goto yy849;
22287
50.3k
      goto yy1217;
22288
57.3k
    } else {
22289
22.5k
      if (yych <= '(') {
22290
7.62k
        if (yych <= '\'') goto yy849;
22291
4.85k
        goto yy1217;
22292
14.9k
      } else {
22293
14.9k
        if (yych == '+') goto yy1217;
22294
1.47k
        goto yy849;
22295
14.9k
      }
22296
22.5k
    }
22297
349k
  } else {
22298
349k
    if (yych <= 'z') {
22299
251k
      if (yych <= '@') {
22300
35.7k
        if (yych <= '-') goto yy1217;
22301
10.7k
        goto yy849;
22302
216k
      } else {
22303
216k
        if (yych <= 'Z') goto yy1217;
22304
39.9k
        if (yych <= '`') goto yy849;
22305
37.2k
        goto yy1217;
22306
39.9k
      }
22307
251k
    } else {
22308
97.3k
      if (yych <= 0xC2) {
22309
44.6k
        if (yych <= 0xC1) goto yy849;
22310
42.0k
        goto yy1220;
22311
52.7k
      } else {
22312
52.7k
        if (yych == 0xE2) goto yy1221;
22313
3.38k
        goto yy849;
22314
52.7k
      }
22315
97.3k
    }
22316
349k
  }
22317
20.6k
yy1151:
22318
20.6k
  YYDEBUG(1151, *YYCURSOR);
22319
20.6k
  yych = *++YYCURSOR;
22320
20.6k
  if (yych == 'M') goto yy1152;
22321
15.2k
  if (yych != 'm') goto yy59;
22322
32.2k
yy1152:
22323
32.2k
  YYDEBUG(1152, *YYCURSOR);
22324
32.2k
  yych = *++YYCURSOR;
22325
32.2k
  if (yych <= 0x1F) {
22326
12.3k
    if (yych <= 0x00) goto yy1222;
22327
7.80k
    if (yych == '\t') goto yy1222;
22328
5.35k
    goto yy59;
22329
19.9k
  } else {
22330
19.9k
    if (yych <= ' ') goto yy1222;
22331
17.7k
    if (yych == '.') goto yy1224;
22332
10.5k
    goto yy59;
22333
17.7k
  }
22334
24.4k
yy1153:
22335
24.4k
  YYDEBUG(1153, *YYCURSOR);
22336
24.4k
  ++YYCURSOR;
22337
24.4k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
22338
24.4k
  yych = *YYCURSOR;
22339
24.4k
  if (yych <= '`') {
22340
8.94k
    if (yych <= 'A') {
22341
4.47k
      if (yych <= '@') goto yy59;
22342
2.54k
      goto yy1083;
22343
4.47k
    } else {
22344
4.47k
      if (yych == 'P') goto yy1083;
22345
2.76k
      goto yy59;
22346
4.47k
    }
22347
15.5k
  } else {
22348
15.5k
    if (yych <= 'p') {
22349
4.38k
      if (yych <= 'a') goto yy1083;
22350
2.06k
      if (yych <= 'o') goto yy59;
22351
1.55k
      goto yy1083;
22352
11.1k
    } else {
22353
11.1k
      if (yych == 0xC2) goto yy1084;
22354
2.28k
      goto yy59;
22355
11.1k
    }
22356
15.5k
  }
22357
20.5k
yy1154:
22358
20.5k
  YYDEBUG(1154, *YYCURSOR);
22359
20.5k
  ++YYCURSOR;
22360
20.5k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22361
20.5k
  yych = *YYCURSOR;
22362
20.5k
  if (yych == 0xAF) goto yy1225;
22363
1.63k
  goto yy59;
22364
22.5k
yy1155:
22365
22.5k
  YYDEBUG(1155, *YYCURSOR);
22366
22.5k
  ++YYCURSOR;
22367
22.5k
  goto yy982;
22368
27.9k
yy1156:
22369
27.9k
  YYDEBUG(1156, *YYCURSOR);
22370
27.9k
  yych = *++YYCURSOR;
22371
27.9k
  if (yych <= 'N') {
22372
6.33k
    if (yych == 'H') goto yy1226;
22373
3.77k
    if (yych <= 'M') goto yy59;
22374
1.43k
    goto yy1227;
22375
21.5k
  } else {
22376
21.5k
    if (yych <= 'h') {
22377
17.8k
      if (yych <= 'g') goto yy59;
22378
15.3k
      goto yy1226;
22379
17.8k
    } else {
22380
3.71k
      if (yych == 'n') goto yy1227;
22381
3.21k
      goto yy59;
22382
3.71k
    }
22383
21.5k
  }
22384
59.7k
yy1157:
22385
59.7k
  YYDEBUG(1157, *YYCURSOR);
22386
59.7k
  ++YYCURSOR;
22387
59.7k
  if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
22388
59.7k
  yych = *YYCURSOR;
22389
59.7k
  YYDEBUG(1158, *YYCURSOR);
22390
59.7k
  if (yych <= ' ') {
22391
24.3k
    if (yych == '\t') goto yy1157;
22392
12.2k
    if (yych <= 0x1F) goto yy59;
22393
7.06k
    goto yy1157;
22394
35.3k
  } else {
22395
35.3k
    if (yych <= 'O') {
22396
13.7k
      if (yych <= 'N') goto yy59;
22397
2.32k
      goto yy1228;
22398
21.5k
    } else {
22399
21.5k
      if (yych == 'o') goto yy1228;
22400
15.5k
      goto yy59;
22401
21.5k
    }
22402
35.3k
  }
22403
54.1k
yy1159:
22404
54.1k
  YYDEBUG(1159, *YYCURSOR);
22405
54.1k
  yych = *++YYCURSOR;
22406
54.1k
  if (yych == 'A') goto yy1229;
22407
44.7k
  if (yych == 'a') goto yy1229;
22408
8.49k
  goto yy59;
22409
19.1k
yy1160:
22410
19.1k
  YYDEBUG(1160, *YYCURSOR);
22411
19.1k
  ++YYCURSOR;
22412
19.1k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22413
19.1k
  yych = *YYCURSOR;
22414
19.1k
  if (yych == 0xA0) goto yy1230;
22415
8.59k
  goto yy59;
22416
26.0k
yy1161:
22417
26.0k
  YYDEBUG(1161, *YYCURSOR);
22418
26.0k
  ++YYCURSOR;
22419
26.0k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22420
26.0k
  yych = *YYCURSOR;
22421
26.0k
  if (yych == 0x80) goto yy1231;
22422
13.7k
  goto yy59;
22423
15.7k
yy1162:
22424
15.7k
  YYDEBUG(1162, *YYCURSOR);
22425
15.7k
  yych = *++YYCURSOR;
22426
15.7k
  if (yych == 'O') goto yy1232;
22427
12.2k
  if (yych == 'o') goto yy1232;
22428
2.28k
  goto yy59;
22429
6.39k
yy1163:
22430
6.39k
  YYDEBUG(1163, *YYCURSOR);
22431
6.39k
  yych = *++YYCURSOR;
22432
6.39k
  if (yych == 'I') goto yy1232;
22433
4.65k
  if (yych == 'i') goto yy1232;
22434
2.48k
  goto yy59;
22435
7.88k
yy1164:
22436
7.88k
  YYDEBUG(1164, *YYCURSOR);
22437
7.88k
  yych = *++YYCURSOR;
22438
7.88k
  if (yych == 'T') goto yy1233;
22439
4.59k
  if (yych == 't') goto yy1233;
22440
2.75k
  goto yy59;
22441
9.31k
yy1165:
22442
9.31k
  YYDEBUG(1165, *YYCURSOR);
22443
9.31k
  yych = *++YYCURSOR;
22444
9.31k
  if (yych == 'H') goto yy1086;
22445
7.27k
  if (yych == 'h') goto yy1086;
22446
6.27k
  goto yy59;
22447
12.1k
yy1166:
22448
12.1k
  YYDEBUG(1166, *YYCURSOR);
22449
12.1k
  yych = *++YYCURSOR;
22450
12.1k
  if (yych == 'R') goto yy1169;
22451
10.2k
  if (yych == 'r') goto yy1169;
22452
5.59k
  goto yy59;
22453
14.9k
yy1167:
22454
14.9k
  YYDEBUG(1167, *YYCURSOR);
22455
14.9k
  yych = *++YYCURSOR;
22456
14.9k
  if (yych == 'N') goto yy1234;
22457
6.12k
  if (yych == 'n') goto yy1234;
22458
3.98k
  goto yy59;
22459
35.6k
yy1168:
22460
35.6k
  YYDEBUG(1168, *YYCURSOR);
22461
35.6k
  yych = *++YYCURSOR;
22462
35.6k
  if (yych == 'S') goto yy1169;
22463
33.2k
  if (yych != 's') goto yy59;
22464
36.7k
yy1169:
22465
36.7k
  YYDEBUG(1169, *YYCURSOR);
22466
36.7k
  yych = *++YYCURSOR;
22467
36.7k
  if (yych == 'D') goto yy1159;
22468
33.1k
  if (yych == 'd') goto yy1159;
22469
13.2k
  goto yy59;
22470
37.2k
yy1170:
22471
37.2k
  YYDEBUG(1170, *YYCURSOR);
22472
37.2k
  yych = *++YYCURSOR;
22473
37.2k
  if (yych == 'E') goto yy1168;
22474
35.7k
  if (yych == 'e') goto yy1168;
22475
10.7k
  goto yy59;
22476
23.9k
yy1171:
22477
23.9k
  YYDEBUG(1171, *YYCURSOR);
22478
23.9k
  yyaccept = 30;
22479
23.9k
  yych = *(YYMARKER = ++YYCURSOR);
22480
23.9k
  if (yych <= 'S') {
22481
9.14k
    if (yych == 'D') goto yy856;
22482
2.88k
    if (yych >= 'S') goto yy1155;
22483
14.7k
  } else {
22484
14.7k
    if (yych <= 'd') {
22485
11.8k
      if (yych >= 'd') goto yy856;
22486
11.8k
    } else {
22487
2.93k
      if (yych == 's') goto yy1155;
22488
2.93k
    }
22489
14.7k
  }
22490
17.8k
yy1172:
22491
17.8k
  YYDEBUG(1172, *YYCURSOR);
22492
17.8k
#line 1848 "ext/date/lib/parse_date.re"
22493
17.8k
  {
22494
17.8k
    timelib_sll i;
22495
17.8k
    int         behavior = 0;
22496
17.8k
    DEBUG_OUTPUT("relativetextweek");
22497
17.8k
    TIMELIB_INIT;
22498
17.8k
    TIMELIB_HAVE_RELATIVE();
22499
22500
35.7k
    while(*ptr) {
22501
17.8k
      i = timelib_get_relative_text(&ptr, &behavior);
22502
17.8k
      timelib_eat_spaces(&ptr);
22503
17.8k
      timelib_set_relative(&ptr, i, behavior, s, TIMELIB_TIME_PART_DONT_KEEP);
22504
17.8k
      s->time->relative.weekday_behavior = 2;
22505
22506
      /* to handle the format weekday + last/this/next week */
22507
17.8k
      if (s->time->relative.have_weekday_relative == 0) {
22508
467
        TIMELIB_HAVE_WEEKDAY_RELATIVE();
22509
467
        s->time->relative.weekday = 1;
22510
467
      }
22511
17.8k
    }
22512
17.8k
    TIMELIB_DEINIT;
22513
17.8k
    return TIMELIB_RELATIVE;
22514
23.9k
  }
22515
0
#line 22516 "ext/date/lib/parse_date.c"
22516
8.06k
yy1173:
22517
8.06k
  YYDEBUG(1173, *YYCURSOR);
22518
8.06k
  yych = *++YYCURSOR;
22519
8.06k
  if (yych == 'O') goto yy1235;
22520
5.94k
  if (yych == 'o') goto yy1235;
22521
2.34k
  goto yy59;
22522
7.77k
yy1174:
22523
7.77k
  YYDEBUG(1174, *YYCURSOR);
22524
7.77k
  ++YYCURSOR;
22525
12.0k
yy1175:
22526
12.0k
  YYDEBUG(1175, *YYCURSOR);
22527
12.0k
#line 1166 "ext/date/lib/parse_date.re"
22528
12.0k
  {
22529
12.0k
    DEBUG_OUTPUT("yesterday");
22530
12.0k
    TIMELIB_INIT;
22531
12.0k
    TIMELIB_HAVE_RELATIVE();
22532
12.0k
    TIMELIB_UNHAVE_TIME();
22533
22534
12.0k
    s->time->relative.d = -1;
22535
12.0k
    TIMELIB_DEINIT;
22536
12.0k
    return TIMELIB_RELATIVE;
22537
7.77k
  }
22538
0
#line 22539 "ext/date/lib/parse_date.c"
22539
4.73k
yy1176:
22540
4.73k
  YYDEBUG(1176, *YYCURSOR);
22541
4.73k
  yyaccept = 31;
22542
4.73k
  yych = *(YYMARKER = ++YYCURSOR);
22543
4.73k
  if (yybm[0+yych] & 128) {
22544
791
    goto yy954;
22545
791
  }
22546
3.94k
  if (yych <= '.') {
22547
1.72k
    if (yych == '-') goto yy297;
22548
1.01k
    goto yy1175;
22549
2.22k
  } else {
22550
2.22k
    if (yych <= '/') goto yy297;
22551
1.84k
    if (yych == '_') goto yy297;
22552
418
    goto yy1175;
22553
1.84k
  }
22554
16.1k
yy1177:
22555
16.1k
  YYDEBUG(1177, *YYCURSOR);
22556
16.1k
  yych = *++YYCURSOR;
22557
16.1k
  if (yych <= '/') goto yy59;
22558
10.4k
  if (yych <= '9') goto yy1187;
22559
5.28k
  goto yy59;
22560
18.3k
yy1178:
22561
18.3k
  YYDEBUG(1178, *YYCURSOR);
22562
18.3k
  yych = *++YYCURSOR;
22563
18.3k
  if (yych <= '/') goto yy59;
22564
13.0k
  if (yych <= '1') goto yy1187;
22565
10.1k
  goto yy59;
22566
24.8k
yy1179:
22567
24.8k
  YYDEBUG(1179, *YYCURSOR);
22568
24.8k
  yych = *++YYCURSOR;
22569
24.8k
  if (yych <= '/') goto yy59;
22570
22.1k
  if (yych <= '2') goto yy1236;
22571
14.9k
  if (yych <= '3') goto yy1237;
22572
3.06k
  goto yy59;
22573
312k
yy1180:
22574
312k
  YYDEBUG(1180, *YYCURSOR);
22575
312k
  yych = *++YYCURSOR;
22576
312k
  if (yych <= '9') {
22577
284k
    if (yych == '-') goto yy893;
22578
280k
    if (yych <= '/') goto yy196;
22579
270k
    goto yy1238;
22580
280k
  } else {
22581
27.9k
    if (yych <= 0xC2) {
22582
21.1k
      if (yych <= 0xC1) goto yy196;
22583
1.57k
      goto yy97;
22584
21.1k
    } else {
22585
6.78k
      if (yych == 0xE2) goto yy98;
22586
4.78k
      goto yy196;
22587
6.78k
    }
22588
27.9k
  }
22589
212k
yy1181:
22590
212k
  YYDEBUG(1181, *YYCURSOR);
22591
212k
  yych = *++YYCURSOR;
22592
212k
  if (yych == ':') goto yy1239;
22593
17.1k
  goto yy59;
22594
20.7k
yy1182:
22595
20.7k
  YYDEBUG(1182, *YYCURSOR);
22596
20.7k
  yych = *++YYCURSOR;
22597
20.7k
  if (yych <= '/') goto yy59;
22598
18.6k
  if (yych <= '9') goto yy1184;
22599
9.79k
  if (yych <= ':') goto yy1240;
22600
1.67k
  goto yy59;
22601
11.1k
yy1183:
22602
11.1k
  YYDEBUG(1183, *YYCURSOR);
22603
11.1k
  yych = *++YYCURSOR;
22604
11.1k
  if (yych <= '/') goto yy59;
22605
8.96k
  if (yych <= '4') goto yy1184;
22606
5.92k
  if (yych == ':') goto yy1240;
22607
2.48k
  goto yy59;
22608
18.1k
yy1184:
22609
18.1k
  YYDEBUG(1184, *YYCURSOR);
22610
18.1k
  yych = *++YYCURSOR;
22611
18.1k
  if (yych == ':') goto yy1240;
22612
5.74k
  goto yy59;
22613
14.7k
yy1185:
22614
14.7k
  YYDEBUG(1185, *YYCURSOR);
22615
14.7k
  yyaccept = 15;
22616
14.7k
  yych = *(YYMARKER = ++YYCURSOR);
22617
14.7k
  if (yych == 'T') goto yy1115;
22618
12.9k
  goto yy567;
22619
157k
yy1186:
22620
157k
  YYDEBUG(1186, *YYCURSOR);
22621
157k
  yyaccept = 26;
22622
157k
  yych = *(YYMARKER = ++YYCURSOR);
22623
157k
  if (yych <= 'n') {
22624
143k
    if (yych == 'T') goto yy1241;
22625
12.2k
    if (yych <= 'm') goto yy1043;
22626
1.82k
    goto yy1116;
22627
13.4k
  } else {
22628
13.4k
    if (yych <= 'r') {
22629
3.31k
      if (yych <= 'q') goto yy1043;
22630
1.81k
      goto yy1116;
22631
10.1k
    } else {
22632
10.1k
      if (yych <= 's') goto yy1117;
22633
8.49k
      if (yych <= 't') goto yy1118;
22634
5.01k
      goto yy1043;
22635
8.49k
    }
22636
13.4k
  }
22637
24.8k
yy1187:
22638
24.8k
  YYDEBUG(1187, *YYCURSOR);
22639
24.8k
  ++YYCURSOR;
22640
24.8k
  goto yy1043;
22641
15.6k
yy1188:
22642
15.6k
  YYDEBUG(1188, *YYCURSOR);
22643
15.6k
  yyaccept = 26;
22644
15.6k
  yych = *(YYMARKER = ++YYCURSOR);
22645
15.6k
  if (yych <= 'n') {
22646
4.76k
    if (yych == '/') goto yy1187;
22647
2.99k
    if (yych <= 'm') goto yy1043;
22648
793
    goto yy1121;
22649
10.8k
  } else {
22650
10.8k
    if (yych <= 'r') {
22651
2.99k
      if (yych <= 'q') goto yy1043;
22652
1.76k
      goto yy1121;
22653
7.84k
    } else {
22654
7.84k
      if (yych <= 's') goto yy1122;
22655
6.78k
      if (yych <= 't') goto yy1123;
22656
4.60k
      goto yy1043;
22657
6.78k
    }
22658
10.8k
  }
22659
3.57M
yy1189:
22660
3.57M
  YYDEBUG(1189, *YYCURSOR);
22661
3.57M
  yych = *++YYCURSOR;
22662
3.57M
  if (yych <= 0xC1) {
22663
3.52M
    if (yych <= '/') goto yy196;
22664
3.31M
    if (yych <= '9') goto yy1242;
22665
191k
    goto yy196;
22666
3.31M
  } else {
22667
49.7k
    if (yych <= 0xC2) goto yy97;
22668
44.7k
    if (yych == 0xE2) goto yy98;
22669
37.4k
    goto yy196;
22670
44.7k
  }
22671
29.0k
yy1190:
22672
29.0k
  YYDEBUG(1190, *YYCURSOR);
22673
29.0k
  yych = *++YYCURSOR;
22674
29.0k
  if (yych <= '/') goto yy59;
22675
27.1k
  if (yych <= '5') goto yy1243;
22676
14.1k
  if (yych <= '9') goto yy1192;
22677
4.21k
  if (yych <= ':') goto yy1244;
22678
1.37k
  goto yy59;
22679
25.3k
yy1191:
22680
25.3k
  YYDEBUG(1191, *YYCURSOR);
22681
25.3k
  yych = *++YYCURSOR;
22682
25.3k
  if (yych <= '5') {
22683
21.4k
    if (yych <= '/') goto yy59;
22684
20.2k
    if (yych <= '4') goto yy1243;
22685
3.03k
    goto yy1245;
22686
20.2k
  } else {
22687
3.85k
    if (yych == ':') goto yy1244;
22688
1.72k
    goto yy59;
22689
3.85k
  }
22690
14.5k
yy1192:
22691
14.5k
  YYDEBUG(1192, *YYCURSOR);
22692
14.5k
  yych = *++YYCURSOR;
22693
14.5k
  if (yych <= '/') goto yy59;
22694
13.3k
  if (yych <= '5') goto yy1245;
22695
6.07k
  if (yych == ':') goto yy1244;
22696
3.06k
  goto yy59;
22697
20.1k
yy1193:
22698
20.1k
  YYDEBUG(1193, *YYCURSOR);
22699
20.1k
  yych = *++YYCURSOR;
22700
20.1k
  if (yych <= '/') goto yy59;
22701
19.1k
  if (yych <= '5') goto yy1246;
22702
2.76k
  if (yych <= '9') goto yy1195;
22703
1.66k
  goto yy59;
22704
15.9k
yy1194:
22705
15.9k
  YYDEBUG(1194, *YYCURSOR);
22706
15.9k
  yych = *++YYCURSOR;
22707
15.9k
  if (yych <= '/') goto yy59;
22708
14.3k
  if (yych <= '4') goto yy1246;
22709
5.53k
  if (yych <= '5') goto yy1245;
22710
2.48k
  goto yy59;
22711
7.06k
yy1195:
22712
7.06k
  YYDEBUG(1195, *YYCURSOR);
22713
7.06k
  yych = *++YYCURSOR;
22714
7.06k
  if (yych <= '/') goto yy59;
22715
5.70k
  if (yych <= '5') goto yy1245;
22716
1.26k
  goto yy59;
22717
68.1k
yy1196:
22718
68.1k
  YYDEBUG(1196, *YYCURSOR);
22719
68.1k
  yych = *++YYCURSOR;
22720
68.1k
  if (yych == ' ') goto yy1247;
22721
55.8k
  goto yy59;
22722
55.8k
yy1197:
22723
8.96k
  YYDEBUG(1197, *YYCURSOR);
22724
8.96k
  yych = *++YYCURSOR;
22725
8.96k
  if (yych == 'Y') goto yy790;
22726
7.61k
  if (yych == 'y') goto yy790;
22727
5.18k
  goto yy59;
22728
7.97k
yy1198:
22729
7.97k
  YYDEBUG(1198, *YYCURSOR);
22730
7.97k
  yych = *++YYCURSOR;
22731
7.97k
  if (yych == 'R') goto yy790;
22732
5.27k
  if (yych == 'r') goto yy790;
22733
3.55k
  goto yy59;
22734
33.6k
yy1199:
22735
33.6k
  YYDEBUG(1199, *YYCURSOR);
22736
33.6k
  yych = *++YYCURSOR;
22737
33.6k
  if (yych <= 'L') {
22738
15.4k
    if (yych == '.') goto yy1248;
22739
8.20k
    goto yy59;
22740
18.1k
  } else {
22741
18.1k
    if (yych <= 'M') goto yy1249;
22742
14.7k
    if (yych == 'm') goto yy1249;
22743
3.13k
    goto yy59;
22744
14.7k
  }
22745
10.4k
yy1200:
22746
10.4k
  YYDEBUG(1200, *YYCURSOR);
22747
10.4k
  yych = *++YYCURSOR;
22748
10.4k
  if (yych <= '/') goto yy1070;
22749
8.77k
  if (yych <= '9') goto yy1250;
22750
4.90k
  goto yy1070;
22751
45.3k
yy1201:
22752
45.3k
  YYDEBUG(1201, *YYCURSOR);
22753
45.3k
  ++YYCURSOR;
22754
45.3k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
22755
45.3k
  yych = *YYCURSOR;
22756
45.3k
  YYDEBUG(1202, *YYCURSOR);
22757
45.3k
  if (yych <= 'A') {
22758
27.2k
    if (yych <= 0x1F) {
22759
16.3k
      if (yych == '\t') goto yy1201;
22760
1.83k
      goto yy59;
22761
16.3k
    } else {
22762
10.8k
      if (yych <= ' ') goto yy1201;
22763
6.58k
      if (yych <= '@') goto yy59;
22764
6.58k
    }
22765
27.2k
  } else {
22766
18.0k
    if (yych <= '`') {
22767
4.50k
      if (yych != 'P') goto yy59;
22768
13.5k
    } else {
22769
13.5k
      if (yych <= 'a') goto yy1203;
22770
11.6k
      if (yych != 'p') goto yy59;
22771
11.6k
    }
22772
18.0k
  }
22773
70.6k
yy1203:
22774
70.6k
  YYDEBUG(1203, *YYCURSOR);
22775
70.6k
  yych = *++YYCURSOR;
22776
70.6k
  if (yych <= 'L') {
22777
23.6k
    if (yych == '.') goto yy1251;
22778
15.0k
    goto yy59;
22779
47.0k
  } else {
22780
47.0k
    if (yych <= 'M') goto yy1252;
22781
35.4k
    if (yych == 'm') goto yy1252;
22782
19.6k
    goto yy59;
22783
35.4k
  }
22784
40.4k
yy1204:
22785
40.4k
  YYDEBUG(1204, *YYCURSOR);
22786
40.4k
  ++YYCURSOR;
22787
40.4k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22788
40.4k
  yych = *YYCURSOR;
22789
40.4k
  if (yych == 0xA0) goto yy1253;
22790
4.43k
  goto yy59;
22791
47.8k
yy1205:
22792
47.8k
  YYDEBUG(1205, *YYCURSOR);
22793
47.8k
  ++YYCURSOR;
22794
47.8k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22795
47.8k
  yych = *YYCURSOR;
22796
47.8k
  if (yych == 0x80) goto yy1254;
22797
7.16k
  goto yy59;
22798
21.9k
yy1206:
22799
21.9k
  YYDEBUG(1206, *YYCURSOR);
22800
21.9k
  yych = *++YYCURSOR;
22801
21.9k
  if (yych <= 'S') {
22802
13.2k
    if (yych == 'D') goto yy856;
22803
7.85k
    if (yych <= 'R') goto yy59;
22804
3.11k
    goto yy1155;
22805
8.73k
  } else {
22806
8.73k
    if (yych <= 'd') {
22807
4.16k
      if (yych <= 'c') goto yy59;
22808
1.18k
      goto yy856;
22809
4.56k
    } else {
22810
4.56k
      if (yych == 's') goto yy1155;
22811
3.68k
      goto yy59;
22812
4.56k
    }
22813
8.73k
  }
22814
42.6k
yy1207:
22815
42.6k
  YYDEBUG(1207, *YYCURSOR);
22816
42.6k
  ++YYCURSOR;
22817
42.6k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
22818
42.6k
  yych = *YYCURSOR;
22819
147k
yy1208:
22820
147k
  YYDEBUG(1208, *YYCURSOR);
22821
147k
  if (yych <= '+') {
22822
67.8k
    if (yych <= ' ') {
22823
43.5k
      if (yych == '\t') goto yy1207;
22824
15.3k
      if (yych <= 0x1F) goto yy59;
22825
14.4k
      goto yy1207;
22826
24.2k
    } else {
22827
24.2k
      if (yych == '(') goto yy1209;
22828
19.0k
      if (yych <= '*') goto yy59;
22829
17.3k
      goto yy1210;
22830
19.0k
    }
22831
79.4k
  } else {
22832
79.4k
    if (yych <= 'F') {
22833
29.5k
      if (yych == '-') goto yy1210;
22834
21.7k
      if (yych <= '@') goto yy59;
22835
19.5k
      goto yy1211;
22836
49.8k
    } else {
22837
49.8k
      if (yych <= 'Z') {
22838
38.7k
        if (yych <= 'G') goto yy1212;
22839
10.5k
        goto yy1211;
22840
38.7k
      } else {
22841
11.1k
        if (yych <= '`') goto yy59;
22842
9.32k
        if (yych <= 'z') goto yy1213;
22843
3.20k
        goto yy59;
22844
9.32k
      }
22845
49.8k
    }
22846
79.4k
  }
22847
19.5k
yy1209:
22848
19.5k
  YYDEBUG(1209, *YYCURSOR);
22849
19.5k
  yych = *++YYCURSOR;
22850
19.5k
  if (yych <= '@') goto yy59;
22851
16.2k
  if (yych <= 'Z') goto yy1213;
22852
10.5k
  if (yych <= '`') goto yy59;
22853
8.28k
  if (yych <= 'z') goto yy1213;
22854
2.84k
  goto yy59;
22855
96.8k
yy1210:
22856
96.8k
  YYDEBUG(1210, *YYCURSOR);
22857
96.8k
  yych = *++YYCURSOR;
22858
96.8k
  if (yych <= '/') goto yy59;
22859
84.2k
  if (yych <= '1') goto yy1255;
22860
48.9k
  if (yych <= '2') goto yy1256;
22861
17.5k
  if (yych <= '9') goto yy1257;
22862
6.60k
  goto yy59;
22863
109k
yy1211:
22864
109k
  YYDEBUG(1211, *YYCURSOR);
22865
109k
  yych = *++YYCURSOR;
22866
109k
  if (yych <= '@') {
22867
13.8k
    if (yych == ')') goto yy1078;
22868
11.6k
    goto yy849;
22869
96.0k
  } else {
22870
96.0k
    if (yych <= 'Z') goto yy1258;
22871
85.0k
    if (yych <= '`') goto yy849;
22872
83.8k
    if (yych <= 'z') goto yy1259;
22873
3.04k
    goto yy849;
22874
83.8k
  }
22875
78.6k
yy1212:
22876
78.6k
  YYDEBUG(1212, *YYCURSOR);
22877
78.6k
  yych = *++YYCURSOR;
22878
78.6k
  if (yych <= 'L') {
22879
7.28k
    if (yych == ')') goto yy1078;
22880
6.99k
    if (yych <= '@') goto yy849;
22881
3.41k
    goto yy1258;
22882
71.3k
  } else {
22883
71.3k
    if (yych <= 'Z') {
22884
44.6k
      if (yych <= 'M') goto yy1260;
22885
2.18k
      goto yy1258;
22886
44.6k
    } else {
22887
26.7k
      if (yych <= '`') goto yy849;
22888
24.9k
      if (yych <= 'z') goto yy1259;
22889
2.28k
      goto yy849;
22890
24.9k
    }
22891
71.3k
  }
22892
49.1k
yy1213:
22893
49.1k
  YYDEBUG(1213, *YYCURSOR);
22894
49.1k
  yych = *++YYCURSOR;
22895
49.1k
  if (yych <= '@') {
22896
9.77k
    if (yych == ')') goto yy1078;
22897
8.57k
    goto yy849;
22898
39.3k
  } else {
22899
39.3k
    if (yych <= 'Z') goto yy1258;
22900
33.4k
    if (yych <= '`') goto yy849;
22901
29.3k
    if (yych <= 'z') goto yy1258;
22902
3.10k
    goto yy849;
22903
29.3k
  }
22904
29.4k
yy1214:
22905
29.4k
  YYDEBUG(1214, *YYCURSOR);
22906
29.4k
  ++YYCURSOR;
22907
29.4k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22908
29.4k
  yych = *YYCURSOR;
22909
29.4k
  if (yych == 0xA0) goto yy1261;
22910
3.15k
  goto yy59;
22911
30.6k
yy1215:
22912
30.6k
  YYDEBUG(1215, *YYCURSOR);
22913
30.6k
  ++YYCURSOR;
22914
30.6k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
22915
30.6k
  yych = *YYCURSOR;
22916
30.6k
  if (yych == 0x80) goto yy1262;
22917
3.34k
  goto yy59;
22918
109k
yy1216:
22919
109k
  YYDEBUG(1216, *YYCURSOR);
22920
109k
  ++YYCURSOR;
22921
109k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
22922
109k
  yych = *YYCURSOR;
22923
427k
yy1217:
22924
427k
  YYDEBUG(1217, *YYCURSOR);
22925
427k
  if (yych <= '@') {
22926
173k
    if (yych <= '\'') {
22927
114k
      if (yych <= '\t') {
22928
28.2k
        if (yych <= 0x08) goto yy59;
22929
24.6k
        goto yy1216;
22930
85.8k
      } else {
22931
85.8k
        if (yych == ' ') goto yy1216;
22932
1.25k
        goto yy59;
22933
85.8k
      }
22934
114k
    } else {
22935
59.2k
      if (yych <= '+') {
22936
22.8k
        if (yych <= '(') goto yy1209;
22937
17.3k
        if (yych <= '*') goto yy59;
22938
15.1k
        goto yy1210;
22939
36.4k
      } else {
22940
36.4k
        if (yych == '-') goto yy1210;
22941
5.86k
        goto yy59;
22942
36.4k
      }
22943
59.2k
    }
22944
254k
  } else {
22945
254k
    if (yych <= 'Z') {
22946
192k
      if (yych <= 'G') {
22947
136k
        if (yych <= 'A') goto yy1218;
22948
64.5k
        if (yych <= 'F') goto yy1211;
22949
41.4k
        goto yy1212;
22950
64.5k
      } else {
22951
55.7k
        if (yych != 'P') goto yy1211;
22952
55.7k
      }
22953
192k
    } else {
22954
61.6k
      if (yych <= 'o') {
22955
44.0k
        if (yych <= '`') goto yy59;
22956
42.9k
        if (yych <= 'a') goto yy1219;
22957
17.8k
        goto yy1213;
22958
42.9k
      } else {
22959
17.5k
        if (yych <= 'p') goto yy1219;
22960
10.2k
        if (yych <= 'z') goto yy1213;
22961
3.66k
        goto yy59;
22962
10.2k
      }
22963
61.6k
    }
22964
254k
  }
22965
107k
yy1218:
22966
107k
  YYDEBUG(1218, *YYCURSOR);
22967
107k
  yyaccept = 20;
22968
107k
  yych = *(YYMARKER = ++YYCURSOR);
22969
107k
  if (yych <= 'L') {
22970
25.1k
    if (yych <= '-') {
22971
7.83k
      if (yych == ')') goto yy1078;
22972
3.57k
      goto yy849;
22973
17.2k
    } else {
22974
17.2k
      if (yych <= '.') goto yy1151;
22975
7.37k
      if (yych <= '@') goto yy849;
22976
2.51k
      goto yy1258;
22977
7.37k
    }
22978
82.8k
  } else {
22979
82.8k
    if (yych <= '`') {
22980
15.6k
      if (yych <= 'M') goto yy1263;
22981
5.90k
      if (yych <= 'Z') goto yy1258;
22982
2.21k
      goto yy849;
22983
67.1k
    } else {
22984
67.1k
      if (yych == 'm') goto yy1264;
22985
27.8k
      if (yych <= 'z') goto yy1259;
22986
2.05k
      goto yy849;
22987
27.8k
    }
22988
82.8k
  }
22989
41.8k
yy1219:
22990
41.8k
  YYDEBUG(1219, *YYCURSOR);
22991
41.8k
  yyaccept = 20;
22992
41.8k
  yych = *(YYMARKER = ++YYCURSOR);
22993
41.8k
  if (yych <= 'L') {
22994
16.2k
    if (yych <= '-') {
22995
9.54k
      if (yych == ')') goto yy1078;
22996
4.87k
      goto yy849;
22997
9.54k
    } else {
22998
6.73k
      if (yych <= '.') goto yy1151;
22999
5.44k
      if (yych <= '@') goto yy849;
23000
2.18k
      goto yy1258;
23001
5.44k
    }
23002
25.5k
  } else {
23003
25.5k
    if (yych <= '`') {
23004
11.0k
      if (yych <= 'M') goto yy1263;
23005
3.10k
      if (yych <= 'Z') goto yy1258;
23006
1.42k
      goto yy849;
23007
14.5k
    } else {
23008
14.5k
      if (yych == 'm') goto yy1263;
23009
7.03k
      if (yych <= 'z') goto yy1258;
23010
940
      goto yy849;
23011
7.03k
    }
23012
25.5k
  }
23013
52.6k
yy1220:
23014
52.6k
  YYDEBUG(1220, *YYCURSOR);
23015
52.6k
  ++YYCURSOR;
23016
52.6k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23017
52.6k
  yych = *YYCURSOR;
23018
52.6k
  if (yych == 0xA0) goto yy1265;
23019
3.79k
  goto yy59;
23020
49.7k
yy1221:
23021
49.7k
  YYDEBUG(1221, *YYCURSOR);
23022
49.7k
  ++YYCURSOR;
23023
49.7k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23024
49.7k
  yych = *YYCURSOR;
23025
49.7k
  if (yych == 0x80) goto yy1266;
23026
2.68k
  goto yy59;
23027
30.1k
yy1222:
23028
30.1k
  YYDEBUG(1222, *YYCURSOR);
23029
30.1k
  ++YYCURSOR;
23030
30.1k
  YYDEBUG(1223, *YYCURSOR);
23031
30.1k
#line 1914 "ext/date/lib/parse_date.re"
23032
30.1k
  {
23033
30.1k
    DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
23034
30.1k
    TIMELIB_INIT;
23035
30.1k
    TIMELIB_HAVE_DATE();
23036
11.8k
    s->time->m = timelib_get_month(&ptr);
23037
11.8k
    s->time->d = timelib_get_nr(&ptr, 2);
23038
23039
11.8k
    TIMELIB_HAVE_TIME();
23040
9.92k
    s->time->h = timelib_get_nr(&ptr, 2);
23041
9.92k
    s->time->i = timelib_get_nr(&ptr, 2);
23042
9.92k
    if (*ptr == ':' || *ptr == '.') {
23043
3.94k
      s->time->s = timelib_get_nr(&ptr, 2);
23044
23045
3.94k
      if (*ptr == '.') {
23046
0
        s->time->us = timelib_get_frac_nr(&ptr);
23047
0
      }
23048
3.94k
    }
23049
23050
9.92k
    s->time->h += timelib_meridian(&ptr, s->time->h);
23051
9.92k
    TIMELIB_DEINIT;
23052
9.92k
    return TIMELIB_SHORTDATE_WITH_TIME;
23053
11.8k
  }
23054
0
#line 23055 "ext/date/lib/parse_date.c"
23055
15.2k
yy1224:
23056
15.2k
  YYDEBUG(1224, *YYCURSOR);
23057
15.2k
  yych = *++YYCURSOR;
23058
15.2k
  if (yych <= '\t') {
23059
8.29k
    if (yych <= 0x00) goto yy1222;
23060
5.97k
    if (yych <= 0x08) goto yy59;
23061
4.02k
    goto yy1222;
23062
6.94k
  } else {
23063
6.94k
    if (yych == ' ') goto yy1222;
23064
4.33k
    goto yy59;
23065
6.94k
  }
23066
18.9k
yy1225:
23067
18.9k
  YYDEBUG(1225, *YYCURSOR);
23068
18.9k
  ++YYCURSOR;
23069
18.9k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
23070
18.9k
  yych = *YYCURSOR;
23071
18.9k
  if (yych <= '`') {
23072
3.80k
    if (yych <= 'A') {
23073
2.05k
      if (yych <= '@') goto yy59;
23074
633
      goto yy1083;
23075
2.05k
    } else {
23076
1.74k
      if (yych == 'P') goto yy1083;
23077
1.40k
      goto yy59;
23078
1.74k
    }
23079
15.1k
  } else {
23080
15.1k
    if (yych <= 'p') {
23081
9.55k
      if (yych <= 'a') goto yy1083;
23082
9.17k
      if (yych <= 'o') goto yy59;
23083
4.35k
      goto yy1083;
23084
9.17k
    } else {
23085
5.59k
      if (yych == 0xE2) goto yy1085;
23086
837
      goto yy59;
23087
5.59k
    }
23088
15.1k
  }
23089
17.9k
yy1226:
23090
17.9k
  YYDEBUG(1226, *YYCURSOR);
23091
17.9k
  yych = *++YYCURSOR;
23092
17.9k
  if (yych == 'N') goto yy1227;
23093
8.03k
  if (yych != 'n') goto yy59;
23094
18.0k
yy1227:
23095
18.0k
  YYDEBUG(1227, *YYCURSOR);
23096
18.0k
  yych = *++YYCURSOR;
23097
18.0k
  if (yych == 'I') goto yy1267;
23098
9.92k
  if (yych == 'i') goto yy1267;
23099
3.48k
  goto yy59;
23100
14.5k
yy1228:
23101
14.5k
  YYDEBUG(1228, *YYCURSOR);
23102
14.5k
  yych = *++YYCURSOR;
23103
14.5k
  if (yych == 'F') goto yy1268;
23104
10.9k
  if (yych == 'f') goto yy1268;
23105
5.43k
  goto yy59;
23106
45.6k
yy1229:
23107
45.6k
  YYDEBUG(1229, *YYCURSOR);
23108
45.6k
  yych = *++YYCURSOR;
23109
45.6k
  if (yych == 'Y') goto yy1270;
23110
33.2k
  if (yych == 'y') goto yy1270;
23111
7.52k
  goto yy59;
23112
10.6k
yy1230:
23113
10.6k
  YYDEBUG(1230, *YYCURSOR);
23114
10.6k
  ++YYCURSOR;
23115
10.6k
  if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
23116
10.6k
  yych = *YYCURSOR;
23117
10.6k
  if (yych <= 'n') {
23118
3.95k
    if (yych == 'O') goto yy1228;
23119
991
    goto yy59;
23120
6.65k
  } else {
23121
6.65k
    if (yych <= 'o') goto yy1228;
23122
5.22k
    if (yych == 0xC2) goto yy1160;
23123
1.88k
    goto yy59;
23124
5.22k
  }
23125
12.3k
yy1231:
23126
12.3k
  YYDEBUG(1231, *YYCURSOR);
23127
12.3k
  ++YYCURSOR;
23128
12.3k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23129
12.3k
  yych = *YYCURSOR;
23130
12.3k
  if (yych == 0xAF) goto yy1271;
23131
2.73k
  goto yy59;
23132
17.3k
yy1232:
23133
17.3k
  YYDEBUG(1232, *YYCURSOR);
23134
17.3k
  yych = *++YYCURSOR;
23135
17.3k
  if (yych == 'S') goto yy1272;
23136
11.1k
  if (yych == 's') goto yy1272;
23137
2.53k
  goto yy59;
23138
5.12k
yy1233:
23139
5.12k
  YYDEBUG(1233, *YYCURSOR);
23140
5.12k
  yych = *++YYCURSOR;
23141
5.12k
  if (yych == 'E') goto yy1086;
23142
3.82k
  if (yych == 'e') goto yy1086;
23143
1.18k
  goto yy59;
23144
10.9k
yy1234:
23145
10.9k
  YYDEBUG(1234, *YYCURSOR);
23146
10.9k
  yych = *++YYCURSOR;
23147
10.9k
  if (yych == 'D') goto yy1086;
23148
4.72k
  if (yych == 'd') goto yy1086;
23149
3.87k
  goto yy59;
23150
5.72k
yy1235:
23151
5.72k
  YYDEBUG(1235, *YYCURSOR);
23152
5.72k
  yych = *++YYCURSOR;
23153
5.72k
  if (yych == 'F') goto yy1273;
23154
4.26k
  if (yych == 'f') goto yy1273;
23155
2.28k
  goto yy59;
23156
7.22k
yy1236:
23157
7.22k
  YYDEBUG(1236, *YYCURSOR);
23158
7.22k
  yych = *++YYCURSOR;
23159
7.22k
  if (yych <= '/') goto yy59;
23160
4.81k
  if (yych <= '9') goto yy1275;
23161
2.20k
  goto yy59;
23162
11.8k
yy1237:
23163
11.8k
  YYDEBUG(1237, *YYCURSOR);
23164
11.8k
  yych = *++YYCURSOR;
23165
11.8k
  if (yych <= '/') goto yy59;
23166
8.42k
  if (yych <= '1') goto yy1275;
23167
5.54k
  goto yy59;
23168
270k
yy1238:
23169
270k
  YYDEBUG(1238, *YYCURSOR);
23170
270k
  yych = *++YYCURSOR;
23171
270k
  if (yych <= '9') {
23172
246k
    if (yych == '-') goto yy893;
23173
230k
    if (yych <= '/') goto yy196;
23174
220k
    goto yy1277;
23175
230k
  } else {
23176
24.2k
    if (yych <= 0xC2) {
23177
19.2k
      if (yych <= 0xC1) goto yy196;
23178
2.16k
      goto yy97;
23179
19.2k
    } else {
23180
5.00k
      if (yych == 0xE2) goto yy98;
23181
3.53k
      goto yy196;
23182
5.00k
    }
23183
24.2k
  }
23184
195k
yy1239:
23185
195k
  YYDEBUG(1239, *YYCURSOR);
23186
195k
  yych = *++YYCURSOR;
23187
195k
  if (yych <= '/') goto yy59;
23188
191k
  if (yych <= '1') goto yy1278;
23189
29.6k
  if (yych <= '2') goto yy1279;
23190
6.84k
  goto yy59;
23191
30.2k
yy1240:
23192
30.2k
  YYDEBUG(1240, *YYCURSOR);
23193
30.2k
  yych = *++YYCURSOR;
23194
30.2k
  if (yych <= '/') goto yy59;
23195
25.6k
  if (yych <= '5') goto yy1280;
23196
5.47k
  if (yych <= '9') goto yy1281;
23197
2.90k
  goto yy59;
23198
131k
yy1241:
23199
131k
  YYDEBUG(1241, *YYCURSOR);
23200
131k
  yych = *++YYCURSOR;
23201
131k
  if (yych <= '/') goto yy59;
23202
125k
  if (yych <= '1') goto yy1282;
23203
27.1k
  if (yych <= '2') goto yy1283;
23204
8.41k
  if (yych <= '9') goto yy1184;
23205
5.06k
  goto yy59;
23206
3.12M
yy1242:
23207
3.12M
  YYDEBUG(1242, *YYCURSOR);
23208
3.12M
  yych = *++YYCURSOR;
23209
3.12M
  if (yych <= 0xC1) {
23210
3.07M
    if (yych <= '/') goto yy196;
23211
2.94M
    if (yych <= '9') goto yy1284;
23212
154k
    goto yy196;
23213
2.94M
  } else {
23214
49.3k
    if (yych <= 0xC2) goto yy97;
23215
36.6k
    if (yych == 0xE2) goto yy98;
23216
22.2k
    goto yy196;
23217
36.6k
  }
23218
30.2k
yy1243:
23219
30.2k
  YYDEBUG(1243, *YYCURSOR);
23220
30.2k
  yych = *++YYCURSOR;
23221
30.2k
  if (yych <= '/') goto yy59;
23222
29.2k
  if (yych <= '5') goto yy1285;
23223
19.5k
  if (yych <= '9') goto yy1286;
23224
13.7k
  if (yych >= ';') goto yy59;
23225
21.0k
yy1244:
23226
21.0k
  YYDEBUG(1244, *YYCURSOR);
23227
21.0k
  yych = *++YYCURSOR;
23228
21.0k
  if (yych <= '/') goto yy59;
23229
18.7k
  if (yych <= '5') goto yy1287;
23230
6.57k
  goto yy59;
23231
17.8k
yy1245:
23232
17.8k
  YYDEBUG(1245, *YYCURSOR);
23233
17.8k
  yych = *++YYCURSOR;
23234
17.8k
  if (yych <= '/') goto yy59;
23235
10.9k
  if (yych <= '9') goto yy1286;
23236
3.09k
  goto yy59;
23237
25.1k
yy1246:
23238
25.1k
  YYDEBUG(1246, *YYCURSOR);
23239
25.1k
  yych = *++YYCURSOR;
23240
25.1k
  if (yych <= '/') goto yy59;
23241
23.7k
  if (yych <= '5') goto yy1285;
23242
3.57k
  if (yych <= '9') goto yy1286;
23243
1.61k
  goto yy59;
23244
12.3k
yy1247:
23245
12.3k
  YYDEBUG(1247, *YYCURSOR);
23246
12.3k
  yych = *++YYCURSOR;
23247
12.3k
  if (yych <= '/') goto yy59;
23248
10.4k
  if (yych <= '1') goto yy1288;
23249
6.57k
  if (yych <= '2') goto yy1289;
23250
1.21k
  goto yy59;
23251
7.29k
yy1248:
23252
7.29k
  YYDEBUG(1248, *YYCURSOR);
23253
7.29k
  yych = *++YYCURSOR;
23254
7.29k
  if (yych == 'M') goto yy1249;
23255
5.49k
  if (yych != 'm') goto yy59;
23256
20.5k
yy1249:
23257
20.5k
  YYDEBUG(1249, *YYCURSOR);
23258
20.5k
  yych = *++YYCURSOR;
23259
20.5k
  if (yych <= 0x1F) {
23260
4.39k
    if (yych <= 0x00) goto yy1290;
23261
2.25k
    if (yych == '\t') goto yy1290;
23262
434
    goto yy59;
23263
16.1k
  } else {
23264
16.1k
    if (yych <= ' ') goto yy1290;
23265
11.9k
    if (yych == '.') goto yy1292;
23266
2.42k
    goto yy59;
23267
11.9k
  }
23268
3.86k
yy1250:
23269
3.86k
  YYDEBUG(1250, *YYCURSOR);
23270
3.86k
  ++YYCURSOR;
23271
3.86k
  goto yy1070;
23272
8.62k
yy1251:
23273
8.62k
  YYDEBUG(1251, *YYCURSOR);
23274
8.62k
  yych = *++YYCURSOR;
23275
8.62k
  if (yych == 'M') goto yy1252;
23276
4.91k
  if (yych != 'm') goto yy59;
23277
33.4k
yy1252:
23278
33.4k
  YYDEBUG(1252, *YYCURSOR);
23279
33.4k
  yych = *++YYCURSOR;
23280
33.4k
  if (yych <= 0x1F) {
23281
8.08k
    if (yych <= 0x00) goto yy1293;
23282
4.67k
    if (yych == '\t') goto yy1293;
23283
2.99k
    goto yy59;
23284
25.3k
  } else {
23285
25.3k
    if (yych <= ' ') goto yy1293;
23286
20.6k
    if (yych == '.') goto yy1294;
23287
5.88k
    goto yy59;
23288
20.6k
  }
23289
36.0k
yy1253:
23290
36.0k
  YYDEBUG(1253, *YYCURSOR);
23291
36.0k
  ++YYCURSOR;
23292
36.0k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
23293
36.0k
  yych = *YYCURSOR;
23294
36.0k
  if (yych <= '`') {
23295
11.5k
    if (yych <= 'A') {
23296
6.53k
      if (yych <= '@') goto yy59;
23297
3.10k
      goto yy1203;
23298
6.53k
    } else {
23299
4.97k
      if (yych == 'P') goto yy1203;
23300
3.08k
      goto yy59;
23301
4.97k
    }
23302
24.5k
  } else {
23303
24.5k
    if (yych <= 'p') {
23304
11.2k
      if (yych <= 'a') goto yy1203;
23305
4.87k
      if (yych <= 'o') goto yy59;
23306
3.59k
      goto yy1203;
23307
13.2k
    } else {
23308
13.2k
      if (yych == 0xC2) goto yy1204;
23309
3.14k
      goto yy59;
23310
13.2k
    }
23311
24.5k
  }
23312
40.6k
yy1254:
23313
40.6k
  YYDEBUG(1254, *YYCURSOR);
23314
40.6k
  ++YYCURSOR;
23315
40.6k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23316
40.6k
  yych = *YYCURSOR;
23317
40.6k
  if (yych == 0xAF) goto yy1295;
23318
2.99k
  goto yy59;
23319
35.2k
yy1255:
23320
35.2k
  YYDEBUG(1255, *YYCURSOR);
23321
35.2k
  yyaccept = 20;
23322
35.2k
  yych = *(YYMARKER = ++YYCURSOR);
23323
35.2k
  if (yych <= '/') goto yy849;
23324
31.7k
  if (yych <= '9') goto yy1296;
23325
5.08k
  if (yych <= ':') goto yy1297;
23326
2.82k
  goto yy849;
23327
31.4k
yy1256:
23328
31.4k
  YYDEBUG(1256, *YYCURSOR);
23329
31.4k
  yyaccept = 20;
23330
31.4k
  yych = *(YYMARKER = ++YYCURSOR);
23331
31.4k
  if (yych <= '5') {
23332
24.2k
    if (yych <= '/') goto yy849;
23333
22.8k
    if (yych <= '4') goto yy1296;
23334
3.12k
    goto yy1298;
23335
22.8k
  } else {
23336
7.23k
    if (yych <= '9') goto yy1078;
23337
4.59k
    if (yych <= ':') goto yy1297;
23338
1.36k
    goto yy849;
23339
4.59k
  }
23340
10.8k
yy1257:
23341
10.8k
  YYDEBUG(1257, *YYCURSOR);
23342
10.8k
  yyaccept = 20;
23343
10.8k
  yych = *(YYMARKER = ++YYCURSOR);
23344
10.8k
  if (yych <= '/') goto yy849;
23345
8.18k
  if (yych <= '5') goto yy1298;
23346
6.30k
  if (yych <= '9') goto yy1078;
23347
4.71k
  if (yych <= ':') goto yy1297;
23348
3.26k
  goto yy849;
23349
64.8k
yy1258:
23350
64.8k
  YYDEBUG(1258, *YYCURSOR);
23351
64.8k
  yych = *++YYCURSOR;
23352
64.8k
  if (yych <= '@') {
23353
12.4k
    if (yych == ')') goto yy1078;
23354
10.6k
    goto yy849;
23355
52.4k
  } else {
23356
52.4k
    if (yych <= 'Z') goto yy1299;
23357
39.8k
    if (yych <= '`') goto yy849;
23358
37.0k
    if (yych <= 'z') goto yy1299;
23359
5.11k
    goto yy849;
23360
37.0k
  }
23361
129k
yy1259:
23362
129k
  YYDEBUG(1259, *YYCURSOR);
23363
129k
  yyaccept = 20;
23364
129k
  yych = *(YYMARKER = ++YYCURSOR);
23365
129k
  if (yych <= '/') {
23366
12.8k
    if (yych <= ',') {
23367
6.16k
      if (yych == ')') goto yy1078;
23368
4.85k
      goto yy849;
23369
6.72k
    } else {
23370
6.72k
      if (yych == '.') goto yy849;
23371
2.17k
      goto yy1300;
23372
6.72k
    }
23373
116k
  } else {
23374
116k
    if (yych <= '^') {
23375
14.3k
      if (yych <= '@') goto yy849;
23376
8.68k
      if (yych <= 'Z') goto yy1299;
23377
2.55k
      goto yy849;
23378
101k
    } else {
23379
101k
      if (yych <= '_') goto yy1300;
23380
98.8k
      if (yych <= '`') goto yy849;
23381
96.7k
      if (yych <= 'z') goto yy1301;
23382
5.32k
      goto yy849;
23383
96.7k
    }
23384
116k
  }
23385
42.4k
yy1260:
23386
42.4k
  YYDEBUG(1260, *YYCURSOR);
23387
42.4k
  yych = *++YYCURSOR;
23388
42.4k
  if (yych <= 'S') {
23389
6.94k
    if (yych == ')') goto yy1078;
23390
4.94k
    if (yych <= '@') goto yy849;
23391
1.94k
    goto yy1299;
23392
35.5k
  } else {
23393
35.5k
    if (yych <= 'Z') {
23394
31.0k
      if (yych <= 'T') goto yy1302;
23395
1.01k
      goto yy1299;
23396
31.0k
    } else {
23397
4.53k
      if (yych <= '`') goto yy849;
23398
3.39k
      if (yych <= 'z') goto yy1299;
23399
853
      goto yy849;
23400
3.39k
    }
23401
35.5k
  }
23402
26.2k
yy1261:
23403
26.2k
  YYDEBUG(1261, *YYCURSOR);
23404
26.2k
  ++YYCURSOR;
23405
26.2k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
23406
26.2k
  yych = *YYCURSOR;
23407
26.2k
  if (yych <= '@') {
23408
12.5k
    if (yych <= '*') {
23409
3.21k
      if (yych == '(') goto yy1209;
23410
923
      goto yy59;
23411
9.30k
    } else {
23412
9.30k
      if (yych == ',') goto yy59;
23413
5.60k
      if (yych <= '-') goto yy1210;
23414
2.07k
      goto yy59;
23415
5.60k
    }
23416
13.7k
  } else {
23417
13.7k
    if (yych <= '`') {
23418
6.68k
      if (yych == 'G') goto yy1212;
23419
1.55k
      if (yych <= 'Z') goto yy1211;
23420
538
      goto yy59;
23421
7.06k
    } else {
23422
7.06k
      if (yych <= 'z') goto yy1213;
23423
5.77k
      if (yych == 0xC2) goto yy1214;
23424
2.27k
      goto yy59;
23425
5.77k
    }
23426
13.7k
  }
23427
27.3k
yy1262:
23428
27.3k
  YYDEBUG(1262, *YYCURSOR);
23429
27.3k
  ++YYCURSOR;
23430
27.3k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23431
27.3k
  yych = *YYCURSOR;
23432
27.3k
  if (yych == 0xAF) goto yy1303;
23433
1.69k
  goto yy59;
23434
25.2k
yy1263:
23435
25.2k
  YYDEBUG(1263, *YYCURSOR);
23436
25.2k
  yyaccept = 20;
23437
25.2k
  yych = *(YYMARKER = ++YYCURSOR);
23438
25.2k
  if (yych <= ')') {
23439
9.61k
    if (yych <= '\t') {
23440
4.70k
      if (yych <= 0x00) goto yy1222;
23441
2.92k
      if (yych <= 0x08) goto yy849;
23442
1.56k
      goto yy1222;
23443
4.90k
    } else {
23444
4.90k
      if (yych == ' ') goto yy1222;
23445
4.29k
      if (yych <= '(') goto yy849;
23446
1.75k
      goto yy1078;
23447
4.29k
    }
23448
15.6k
  } else {
23449
15.6k
    if (yych <= '@') {
23450
6.30k
      if (yych == '.') goto yy1224;
23451
1.82k
      goto yy849;
23452
9.29k
    } else {
23453
9.29k
      if (yych <= 'Z') goto yy1299;
23454
6.29k
      if (yych <= '`') goto yy849;
23455
4.17k
      if (yych <= 'z') goto yy1299;
23456
2.19k
      goto yy849;
23457
4.17k
    }
23458
15.6k
  }
23459
39.3k
yy1264:
23460
39.3k
  YYDEBUG(1264, *YYCURSOR);
23461
39.3k
  yyaccept = 20;
23462
39.3k
  yych = *(YYMARKER = ++YYCURSOR);
23463
39.3k
  if (yych <= '-') {
23464
16.8k
    if (yych <= 0x1F) {
23465
5.87k
      if (yych <= 0x00) goto yy1222;
23466
2.04k
      if (yych == '\t') goto yy1222;
23467
1.17k
      goto yy849;
23468
11.0k
    } else {
23469
11.0k
      if (yych <= '(') {
23470
5.47k
        if (yych <= ' ') goto yy1222;
23471
2.14k
        goto yy849;
23472
5.54k
      } else {
23473
5.54k
        if (yych <= ')') goto yy1078;
23474
3.94k
        if (yych <= ',') goto yy849;
23475
1.86k
        goto yy1300;
23476
3.94k
      }
23477
11.0k
    }
23478
22.4k
  } else {
23479
22.4k
    if (yych <= 'Z') {
23480
9.61k
      if (yych <= '.') goto yy1224;
23481
6.05k
      if (yych <= '/') goto yy1300;
23482
4.78k
      if (yych <= '@') goto yy849;
23483
2.94k
      goto yy1299;
23484
12.8k
    } else {
23485
12.8k
      if (yych <= '_') {
23486
3.22k
        if (yych <= '^') goto yy849;
23487
2.07k
        goto yy1300;
23488
9.59k
      } else {
23489
9.59k
        if (yych <= '`') goto yy849;
23490
8.03k
        if (yych <= 'z') goto yy1301;
23491
2.87k
        goto yy849;
23492
8.03k
      }
23493
12.8k
    }
23494
22.4k
  }
23495
48.8k
yy1265:
23496
48.8k
  YYDEBUG(1265, *YYCURSOR);
23497
48.8k
  ++YYCURSOR;
23498
48.8k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
23499
48.8k
  yych = *YYCURSOR;
23500
48.8k
  if (yych <= 'G') {
23501
17.9k
    if (yych <= ',') {
23502
11.0k
      if (yych <= '(') {
23503
5.50k
        if (yych <= '\'') goto yy59;
23504
1.53k
        goto yy1209;
23505
5.51k
      } else {
23506
5.51k
        if (yych == '+') goto yy1210;
23507
1.06k
        goto yy59;
23508
5.51k
      }
23509
11.0k
    } else {
23510
6.94k
      if (yych <= '@') {
23511
1.20k
        if (yych <= '-') goto yy1210;
23512
605
        goto yy59;
23513
5.74k
      } else {
23514
5.74k
        if (yych <= 'A') goto yy1218;
23515
2.54k
        if (yych <= 'F') goto yy1211;
23516
1.13k
        goto yy1212;
23517
2.54k
      }
23518
6.94k
    }
23519
30.9k
  } else {
23520
30.9k
    if (yych <= 'a') {
23521
16.0k
      if (yych <= 'P') {
23522
8.66k
        if (yych <= 'O') goto yy1211;
23523
3.49k
        goto yy1218;
23524
8.66k
      } else {
23525
7.34k
        if (yych <= 'Z') goto yy1211;
23526
3.84k
        if (yych <= '`') goto yy59;
23527
2.32k
        goto yy1219;
23528
3.84k
      }
23529
16.0k
    } else {
23530
14.9k
      if (yych <= 'z') {
23531
2.21k
        if (yych == 'p') goto yy1219;
23532
1.94k
        goto yy1213;
23533
12.6k
      } else {
23534
12.6k
        if (yych == 0xC2) goto yy1220;
23535
2.06k
        goto yy59;
23536
12.6k
      }
23537
14.9k
    }
23538
30.9k
  }
23539
47.0k
yy1266:
23540
47.0k
  YYDEBUG(1266, *YYCURSOR);
23541
47.0k
  ++YYCURSOR;
23542
47.0k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23543
47.0k
  yych = *YYCURSOR;
23544
47.0k
  if (yych == 0xAF) goto yy1304;
23545
5.66k
  goto yy59;
23546
14.5k
yy1267:
23547
14.5k
  YYDEBUG(1267, *YYCURSOR);
23548
14.5k
  yych = *++YYCURSOR;
23549
14.5k
  if (yych == 'G') goto yy1305;
23550
7.37k
  if (yych == 'g') goto yy1305;
23551
3.11k
  goto yy59;
23552
9.11k
yy1268:
23553
9.11k
  YYDEBUG(1268, *YYCURSOR);
23554
9.11k
  ++YYCURSOR;
23555
9.11k
  YYDEBUG(1269, *YYCURSOR);
23556
9.11k
#line 1327 "ext/date/lib/parse_date.re"
23557
9.11k
  {
23558
9.11k
    timelib_sll i;
23559
9.11k
    int         behavior = 0;
23560
9.11k
    DEBUG_OUTPUT("weekdayof");
23561
9.11k
    TIMELIB_INIT;
23562
9.11k
    TIMELIB_HAVE_RELATIVE();
23563
9.11k
    TIMELIB_HAVE_SPECIAL_RELATIVE();
23564
23565
9.11k
    i = timelib_get_relative_text(&ptr, &behavior);
23566
9.11k
    timelib_eat_spaces(&ptr);
23567
9.11k
    if (i > 0) { /* first, second... etc */
23568
6.17k
      s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH;
23569
6.17k
      timelib_set_relative(&ptr, i, 1, s, TIMELIB_TIME_PART_DONT_KEEP);
23570
6.17k
    } else { /* last */
23571
2.93k
      s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH;
23572
2.93k
      timelib_set_relative(&ptr, i, behavior, s, TIMELIB_TIME_PART_DONT_KEEP);
23573
2.93k
    }
23574
9.11k
    TIMELIB_DEINIT;
23575
9.11k
    return TIMELIB_WEEK_DAY_OF_MONTH;
23576
7.37k
  }
23577
0
#line 23578 "ext/date/lib/parse_date.c"
23578
38.1k
yy1270:
23579
38.1k
  YYDEBUG(1270, *YYCURSOR);
23580
38.1k
  yyaccept = 24;
23581
38.1k
  yych = *(YYMARKER = ++YYCURSOR);
23582
38.1k
  if (yych <= 'S') {
23583
18.1k
    if (yych <= 0x1F) {
23584
6.76k
      if (yych == '\t') goto yy1157;
23585
3.25k
      goto yy982;
23586
11.3k
    } else {
23587
11.3k
      if (yych <= ' ') goto yy1157;
23588
7.49k
      if (yych <= 'R') goto yy982;
23589
4.31k
      goto yy1306;
23590
7.49k
    }
23591
20.0k
  } else {
23592
20.0k
    if (yych <= 0xC1) {
23593
15.4k
      if (yych == 's') goto yy1306;
23594
3.11k
      goto yy982;
23595
15.4k
    } else {
23596
4.55k
      if (yych <= 0xC2) goto yy1160;
23597
3.92k
      if (yych == 0xE2) goto yy1161;
23598
2.05k
      goto yy982;
23599
3.92k
    }
23600
20.0k
  }
23601
9.57k
yy1271:
23602
9.57k
  YYDEBUG(1271, *YYCURSOR);
23603
9.57k
  ++YYCURSOR;
23604
9.57k
  if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
23605
9.57k
  yych = *YYCURSOR;
23606
9.57k
  if (yych <= 'n') {
23607
3.05k
    if (yych == 'O') goto yy1228;
23608
2.72k
    goto yy59;
23609
6.51k
  } else {
23610
6.51k
    if (yych <= 'o') goto yy1228;
23611
5.02k
    if (yych == 0xE2) goto yy1161;
23612
462
    goto yy59;
23613
5.02k
  }
23614
14.8k
yy1272:
23615
14.8k
  YYDEBUG(1272, *YYCURSOR);
23616
14.8k
  yych = *++YYCURSOR;
23617
14.8k
  if (yych == 'E') goto yy1307;
23618
13.8k
  if (yych == 'e') goto yy1307;
23619
2.94k
  goto yy59;
23620
3.43k
yy1273:
23621
3.43k
  YYDEBUG(1273, *YYCURSOR);
23622
3.43k
  ++YYCURSOR;
23623
3.43k
  YYDEBUG(1274, *YYCURSOR);
23624
3.43k
#line 1287 "ext/date/lib/parse_date.re"
23625
3.43k
  {
23626
3.43k
    DEBUG_OUTPUT("firstdayof | lastdayof");
23627
3.43k
    TIMELIB_INIT;
23628
3.43k
    TIMELIB_HAVE_RELATIVE();
23629
23630
    /* skip "last day of" or "first day of" */
23631
3.43k
    if (*ptr == 'l' || *ptr == 'L') {
23632
2.79k
      s->time->relative.first_last_day_of = TIMELIB_SPECIAL_LAST_DAY_OF_MONTH;
23633
2.79k
    } else {
23634
638
      s->time->relative.first_last_day_of = TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH;
23635
638
    }
23636
23637
3.43k
    TIMELIB_DEINIT;
23638
3.43k
    return TIMELIB_LF_DAY_OF_MONTH;
23639
13.8k
  }
23640
0
#line 23641 "ext/date/lib/parse_date.c"
23641
5.49k
yy1275:
23642
5.49k
  YYDEBUG(1275, *YYCURSOR);
23643
5.49k
  ++YYCURSOR;
23644
5.49k
  YYDEBUG(1276, *YYCURSOR);
23645
5.49k
#line 1523 "ext/date/lib/parse_date.re"
23646
5.49k
  {
23647
5.49k
    DEBUG_OUTPUT("iso8601datex");
23648
5.49k
    TIMELIB_INIT;
23649
5.49k
    TIMELIB_HAVE_DATE();
23650
902
    s->time->y = timelib_get_signed_nr(s, &ptr, 19);
23651
902
    s->time->m = timelib_get_nr(&ptr, 2);
23652
902
    s->time->d = timelib_get_nr(&ptr, 2);
23653
902
    TIMELIB_DEINIT;
23654
902
    return TIMELIB_ISO_DATE;
23655
5.49k
  }
23656
0
#line 23657 "ext/date/lib/parse_date.c"
23657
220k
yy1277:
23658
220k
  YYDEBUG(1277, *YYCURSOR);
23659
220k
  yych = *++YYCURSOR;
23660
220k
  if (yych <= '9') {
23661
200k
    if (yych == '-') goto yy893;
23662
194k
    if (yych <= '/') goto yy196;
23663
188k
    goto yy1308;
23664
194k
  } else {
23665
19.8k
    if (yych <= 0xC2) {
23666
16.5k
      if (yych <= 0xC1) goto yy196;
23667
3.92k
      goto yy97;
23668
16.5k
    } else {
23669
3.35k
      if (yych == 0xE2) goto yy98;
23670
2.14k
      goto yy196;
23671
3.35k
    }
23672
19.8k
  }
23673
161k
yy1278:
23674
161k
  YYDEBUG(1278, *YYCURSOR);
23675
161k
  yych = *++YYCURSOR;
23676
161k
  if (yych <= '/') goto yy59;
23677
156k
  if (yych <= '9') goto yy1309;
23678
5.92k
  goto yy59;
23679
22.8k
yy1279:
23680
22.8k
  YYDEBUG(1279, *YYCURSOR);
23681
22.8k
  yych = *++YYCURSOR;
23682
22.8k
  if (yych <= '/') goto yy59;
23683
18.4k
  if (yych <= '4') goto yy1309;
23684
2.59k
  goto yy59;
23685
20.1k
yy1280:
23686
20.1k
  YYDEBUG(1280, *YYCURSOR);
23687
20.1k
  yych = *++YYCURSOR;
23688
20.1k
  if (yych <= '/') goto yy59;
23689
17.7k
  if (yych <= '9') goto yy1281;
23690
10.1k
  if (yych <= ':') goto yy1310;
23691
2.46k
  goto yy59;
23692
11.0k
yy1281:
23693
11.0k
  YYDEBUG(1281, *YYCURSOR);
23694
11.0k
  yych = *++YYCURSOR;
23695
11.0k
  if (yych == ':') goto yy1310;
23696
7.99k
  goto yy59;
23697
98.6k
yy1282:
23698
98.6k
  YYDEBUG(1282, *YYCURSOR);
23699
98.6k
  yych = *++YYCURSOR;
23700
98.6k
  if (yych <= '/') goto yy59;
23701
96.4k
  if (yych <= '9') goto yy1311;
23702
5.14k
  if (yych <= ':') goto yy1240;
23703
2.09k
  goto yy59;
23704
18.7k
yy1283:
23705
18.7k
  YYDEBUG(1283, *YYCURSOR);
23706
18.7k
  yych = *++YYCURSOR;
23707
18.7k
  if (yych <= '/') goto yy59;
23708
17.6k
  if (yych <= '4') goto yy1311;
23709
5.30k
  if (yych == ':') goto yy1240;
23710
2.07k
  goto yy59;
23711
2.78M
yy1284:
23712
2.78M
  YYDEBUG(1284, *YYCURSOR);
23713
2.78M
  yych = *++YYCURSOR;
23714
2.78M
  if (yych <= 0xC1) {
23715
2.72M
    if (yych <= '/') goto yy196;
23716
2.63M
    if (yych <= '9') goto yy1312;
23717
172k
    goto yy196;
23718
2.63M
  } else {
23719
60.2k
    if (yych <= 0xC2) goto yy97;
23720
54.0k
    if (yych == 0xE2) goto yy98;
23721
30.0k
    goto yy196;
23722
54.0k
  }
23723
29.8k
yy1285:
23724
29.8k
  YYDEBUG(1285, *YYCURSOR);
23725
29.8k
  yych = *++YYCURSOR;
23726
29.8k
  if (yych <= '/') goto yy59;
23727
22.2k
  if (yych <= '5') goto yy1310;
23728
12.7k
  if (yych <= '6') goto yy1313;
23729
5.53k
  if (yych >= ':') goto yy59;
23730
21.9k
yy1286:
23731
21.9k
  YYDEBUG(1286, *YYCURSOR);
23732
21.9k
  yych = *++YYCURSOR;
23733
21.9k
  if (yych <= '/') goto yy59;
23734
17.2k
  if (yych <= '5') goto yy1314;
23735
9.82k
  if (yych <= '6') goto yy1315;
23736
7.46k
  goto yy59;
23737
12.2k
yy1287:
23738
12.2k
  YYDEBUG(1287, *YYCURSOR);
23739
12.2k
  yych = *++YYCURSOR;
23740
12.2k
  if (yych <= '/') goto yy59;
23741
9.84k
  if (yych <= '9') goto yy1316;
23742
6.12k
  goto yy59;
23743
6.12k
yy1288:
23744
3.91k
  YYDEBUG(1288, *YYCURSOR);
23745
3.91k
  yych = *++YYCURSOR;
23746
3.91k
  if (yych <= '/') goto yy59;
23747
2.71k
  if (yych <= '9') goto yy1317;
23748
1.45k
  goto yy59;
23749
5.36k
yy1289:
23750
5.36k
  YYDEBUG(1289, *YYCURSOR);
23751
5.36k
  yych = *++YYCURSOR;
23752
5.36k
  if (yych <= '/') goto yy59;
23753
2.97k
  if (yych <= '4') goto yy1317;
23754
1.02k
  goto yy59;
23755
13.8k
yy1290:
23756
13.8k
  YYDEBUG(1290, *YYCURSOR);
23757
13.8k
  ++YYCURSOR;
23758
13.8k
  YYDEBUG(1291, *YYCURSOR);
23759
13.8k
#line 1367 "ext/date/lib/parse_date.re"
23760
13.8k
  {
23761
13.8k
    DEBUG_OUTPUT("mssqltime");
23762
13.8k
    TIMELIB_INIT;
23763
13.8k
    TIMELIB_HAVE_TIME();
23764
3.65k
    s->time->h = timelib_get_nr(&ptr, 2);
23765
3.65k
    s->time->i = timelib_get_nr(&ptr, 2);
23766
3.65k
    if (*ptr == ':' || *ptr == '.') {
23767
3.65k
      s->time->s = timelib_get_nr(&ptr, 2);
23768
23769
3.65k
      if (*ptr == ':' || *ptr == '.') {
23770
3.65k
        s->time->us = timelib_get_frac_nr(&ptr);
23771
3.65k
      }
23772
3.65k
    }
23773
3.65k
    timelib_eat_spaces(&ptr);
23774
3.65k
    s->time->h += timelib_meridian(&ptr, s->time->h);
23775
3.65k
    TIMELIB_DEINIT;
23776
3.65k
    return TIMELIB_TIME24_WITH_ZONE;
23777
13.8k
  }
23778
0
#line 23779 "ext/date/lib/parse_date.c"
23779
9.49k
yy1292:
23780
9.49k
  YYDEBUG(1292, *YYCURSOR);
23781
9.49k
  yych = *++YYCURSOR;
23782
9.49k
  if (yych <= '\t') {
23783
4.77k
    if (yych <= 0x00) goto yy1290;
23784
3.46k
    if (yych <= 0x08) goto yy59;
23785
2.18k
    goto yy1290;
23786
4.72k
  } else {
23787
4.72k
    if (yych == ' ') goto yy1290;
23788
2.58k
    goto yy59;
23789
4.72k
  }
23790
18.6k
yy1293:
23791
18.6k
  YYDEBUG(1293, *YYCURSOR);
23792
18.6k
  ++YYCURSOR;
23793
18.6k
  goto yy1145;
23794
14.7k
yy1294:
23795
14.7k
  YYDEBUG(1294, *YYCURSOR);
23796
14.7k
  yych = *++YYCURSOR;
23797
14.7k
  if (yych <= '\t') {
23798
8.01k
    if (yych <= 0x00) goto yy1293;
23799
3.87k
    if (yych <= 0x08) goto yy59;
23800
1.43k
    goto yy1293;
23801
6.75k
  } else {
23802
6.75k
    if (yych == ' ') goto yy1293;
23803
3.43k
    goto yy59;
23804
6.75k
  }
23805
37.6k
yy1295:
23806
37.6k
  YYDEBUG(1295, *YYCURSOR);
23807
37.6k
  ++YYCURSOR;
23808
37.6k
  if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
23809
37.6k
  yych = *YYCURSOR;
23810
37.6k
  if (yych <= '`') {
23811
6.67k
    if (yych <= 'A') {
23812
4.87k
      if (yych <= '@') goto yy59;
23813
1.84k
      goto yy1203;
23814
4.87k
    } else {
23815
1.80k
      if (yych == 'P') goto yy1203;
23816
735
      goto yy59;
23817
1.80k
    }
23818
30.9k
  } else {
23819
30.9k
    if (yych <= 'p') {
23820
8.59k
      if (yych <= 'a') goto yy1203;
23821
7.47k
      if (yych <= 'o') goto yy59;
23822
5.75k
      goto yy1203;
23823
22.3k
    } else {
23824
22.3k
      if (yych == 0xE2) goto yy1205;
23825
2.85k
      goto yy59;
23826
22.3k
    }
23827
30.9k
  }
23828
46.4k
yy1296:
23829
46.4k
  YYDEBUG(1296, *YYCURSOR);
23830
46.4k
  yyaccept = 20;
23831
46.4k
  yych = *(YYMARKER = ++YYCURSOR);
23832
46.4k
  if (yych <= '/') goto yy849;
23833
43.1k
  if (yych <= '5') goto yy1318;
23834
27.9k
  if (yych <= '9') goto yy1078;
23835
25.5k
  if (yych <= ':') goto yy1319;
23836
5.33k
  goto yy849;
23837
6.93k
yy1297:
23838
6.93k
  YYDEBUG(1297, *YYCURSOR);
23839
6.93k
  yych = *++YYCURSOR;
23840
6.93k
  if (yych <= '/') goto yy59;
23841
5.77k
  if (yych <= '5') goto yy1298;
23842
3.78k
  if (yych <= '9') goto yy1078;
23843
1.88k
  goto yy59;
23844
6.99k
yy1298:
23845
6.99k
  YYDEBUG(1298, *YYCURSOR);
23846
6.99k
  yych = *++YYCURSOR;
23847
6.99k
  if (yych <= '/') goto yy849;
23848
5.54k
  if (yych <= '9') goto yy1078;
23849
3.88k
  goto yy849;
23850
64.0k
yy1299:
23851
64.0k
  YYDEBUG(1299, *YYCURSOR);
23852
64.0k
  yych = *++YYCURSOR;
23853
64.0k
  if (yych <= '@') {
23854
17.6k
    if (yych == ')') goto yy1078;
23855
15.8k
    goto yy849;
23856
46.4k
  } else {
23857
46.4k
    if (yych <= 'Z') goto yy1320;
23858
36.6k
    if (yych <= '`') goto yy849;
23859
33.6k
    if (yych <= 'z') goto yy1320;
23860
4.00k
    goto yy849;
23861
33.6k
  }
23862
71.7k
yy1300:
23863
71.7k
  YYDEBUG(1300, *YYCURSOR);
23864
71.7k
  ++YYCURSOR;
23865
71.7k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
23866
71.7k
  yych = *YYCURSOR;
23867
71.7k
  if (yych <= '@') goto yy59;
23868
63.0k
  if (yych <= 'Z') goto yy1321;
23869
42.9k
  if (yych <= '`') goto yy59;
23870
42.0k
  if (yych <= 'z') goto yy1321;
23871
5.00k
  goto yy59;
23872
96.5k
yy1301:
23873
96.5k
  YYDEBUG(1301, *YYCURSOR);
23874
96.5k
  yyaccept = 20;
23875
96.5k
  yych = *(YYMARKER = ++YYCURSOR);
23876
96.5k
  if (yych <= '/') {
23877
6.56k
    if (yych <= ',') {
23878
3.42k
      if (yych == ')') goto yy1078;
23879
1.33k
      goto yy849;
23880
3.42k
    } else {
23881
3.13k
      if (yych == '.') goto yy849;
23882
2.08k
      goto yy1300;
23883
3.13k
    }
23884
89.9k
  } else {
23885
89.9k
    if (yych <= '^') {
23886
9.92k
      if (yych <= '@') goto yy849;
23887
8.21k
      if (yych <= 'Z') goto yy1320;
23888
1.31k
      goto yy849;
23889
80.0k
    } else {
23890
80.0k
      if (yych <= '_') goto yy1300;
23891
75.9k
      if (yych <= '`') goto yy849;
23892
74.3k
      if (yych <= 'z') goto yy1323;
23893
1.16k
      goto yy849;
23894
74.3k
    }
23895
89.9k
  }
23896
29.9k
yy1302:
23897
29.9k
  YYDEBUG(1302, *YYCURSOR);
23898
29.9k
  yyaccept = 20;
23899
29.9k
  yych = *(YYMARKER = ++YYCURSOR);
23900
29.9k
  if (yych <= ',') {
23901
16.6k
    if (yych <= ')') {
23902
4.24k
      if (yych <= '(') goto yy849;
23903
2.87k
      goto yy1078;
23904
12.4k
    } else {
23905
12.4k
      if (yych == '+') goto yy1210;
23906
1.96k
      goto yy849;
23907
12.4k
    }
23908
16.6k
  } else {
23909
13.3k
    if (yych <= 'Z') {
23910
7.45k
      if (yych <= '-') goto yy1210;
23911
4.66k
      if (yych <= '@') goto yy849;
23912
1.70k
      goto yy1320;
23913
5.87k
    } else {
23914
5.87k
      if (yych <= '`') goto yy849;
23915
5.59k
      if (yych <= 'z') goto yy1320;
23916
649
      goto yy849;
23917
5.59k
    }
23918
13.3k
  }
23919
25.6k
yy1303:
23920
25.6k
  YYDEBUG(1303, *YYCURSOR);
23921
25.6k
  ++YYCURSOR;
23922
25.6k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
23923
25.6k
  yych = *YYCURSOR;
23924
25.6k
  if (yych <= '@') {
23925
7.24k
    if (yych <= '*') {
23926
3.06k
      if (yych == '(') goto yy1209;
23927
2.49k
      goto yy59;
23928
4.18k
    } else {
23929
4.18k
      if (yych == ',') goto yy59;
23930
3.15k
      if (yych <= '-') goto yy1210;
23931
1.96k
      goto yy59;
23932
3.15k
    }
23933
18.3k
  } else {
23934
18.3k
    if (yych <= '`') {
23935
7.01k
      if (yych == 'G') goto yy1212;
23936
6.35k
      if (yych <= 'Z') goto yy1211;
23937
1.29k
      goto yy59;
23938
11.3k
    } else {
23939
11.3k
      if (yych <= 'z') goto yy1213;
23940
9.04k
      if (yych == 0xE2) goto yy1215;
23941
2.28k
      goto yy59;
23942
9.04k
    }
23943
18.3k
  }
23944
41.3k
yy1304:
23945
41.3k
  YYDEBUG(1304, *YYCURSOR);
23946
41.3k
  ++YYCURSOR;
23947
41.3k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
23948
41.3k
  yych = *YYCURSOR;
23949
41.3k
  if (yych <= 'G') {
23950
25.1k
    if (yych <= ',') {
23951
10.3k
      if (yych <= '(') {
23952
5.81k
        if (yych <= '\'') goto yy59;
23953
4.32k
        goto yy1209;
23954
5.81k
      } else {
23955
4.53k
        if (yych == '+') goto yy1210;
23956
3.04k
        goto yy59;
23957
4.53k
      }
23958
14.7k
    } else {
23959
14.7k
      if (yych <= '@') {
23960
3.04k
        if (yych <= '-') goto yy1210;
23961
1.51k
        goto yy59;
23962
11.7k
      } else {
23963
11.7k
        if (yych <= 'A') goto yy1218;
23964
8.89k
        if (yych <= 'F') goto yy1211;
23965
2.18k
        goto yy1212;
23966
8.89k
      }
23967
14.7k
    }
23968
25.1k
  } else {
23969
16.2k
    if (yych <= 'a') {
23970
6.21k
      if (yych <= 'P') {
23971
3.06k
        if (yych <= 'O') goto yy1211;
23972
2.64k
        goto yy1218;
23973
3.14k
      } else {
23974
3.14k
        if (yych <= 'Z') goto yy1211;
23975
2.23k
        if (yych <= '`') goto yy59;
23976
600
        goto yy1219;
23977
2.23k
      }
23978
10.0k
    } else {
23979
10.0k
      if (yych <= 'z') {
23980
8.08k
        if (yych == 'p') goto yy1219;
23981
1.81k
        goto yy1213;
23982
8.08k
      } else {
23983
1.96k
        if (yych == 0xE2) goto yy1221;
23984
1.58k
        goto yy59;
23985
1.96k
      }
23986
10.0k
    }
23987
16.2k
  }
23988
11.4k
yy1305:
23989
11.4k
  YYDEBUG(1305, *YYCURSOR);
23990
11.4k
  yych = *++YYCURSOR;
23991
11.4k
  if (yych == 'H') goto yy1324;
23992
8.05k
  if (yych == 'h') goto yy1324;
23993
1.39k
  goto yy59;
23994
16.6k
yy1306:
23995
16.6k
  YYDEBUG(1306, *YYCURSOR);
23996
16.6k
  yyaccept = 24;
23997
16.6k
  yych = *(YYMARKER = ++YYCURSOR);
23998
16.6k
  if (yych <= ' ') {
23999
7.21k
    if (yych == '\t') goto yy1157;
24000
4.35k
    if (yych <= 0x1F) goto yy982;
24001
1.82k
    goto yy1157;
24002
9.45k
  } else {
24003
9.45k
    if (yych <= 0xC2) {
24004
5.29k
      if (yych <= 0xC1) goto yy982;
24005
2.05k
      goto yy1160;
24006
5.29k
    } else {
24007
4.15k
      if (yych == 0xE2) goto yy1161;
24008
1.08k
      goto yy982;
24009
4.15k
    }
24010
9.45k
  }
24011
11.9k
yy1307:
24012
11.9k
  YYDEBUG(1307, *YYCURSOR);
24013
11.9k
  yych = *++YYCURSOR;
24014
11.9k
  if (yych == 'C') goto yy1325;
24015
9.35k
  if (yych == 'c') goto yy1325;
24016
2.50k
  goto yy59;
24017
188k
yy1308:
24018
188k
  YYDEBUG(1308, *YYCURSOR);
24019
188k
  yych = *++YYCURSOR;
24020
188k
  if (yych <= '9') {
24021
163k
    if (yych == '-') goto yy893;
24022
155k
    if (yych <= '/') goto yy196;
24023
146k
    goto yy1326;
24024
155k
  } else {
24025
25.0k
    if (yych <= 0xC2) {
24026
20.0k
      if (yych <= 0xC1) goto yy196;
24027
1.43k
      goto yy97;
24028
20.0k
    } else {
24029
4.98k
      if (yych == 0xE2) goto yy98;
24030
1.61k
      goto yy196;
24031
4.98k
    }
24032
25.0k
  }
24033
166k
yy1309:
24034
166k
  YYDEBUG(1309, *YYCURSOR);
24035
166k
  yych = *++YYCURSOR;
24036
166k
  if (yych == ':') goto yy1327;
24037
12.6k
  goto yy59;
24038
22.1k
yy1310:
24039
22.1k
  YYDEBUG(1310, *YYCURSOR);
24040
22.1k
  yych = *++YYCURSOR;
24041
22.1k
  if (yych <= '/') goto yy59;
24042
16.5k
  if (yych <= '5') goto yy1328;
24043
11.9k
  if (yych <= '6') goto yy1330;
24044
8.00k
  if (yych <= '9') goto yy1331;
24045
4.82k
  goto yy59;
24046
103k
yy1311:
24047
103k
  YYDEBUG(1311, *YYCURSOR);
24048
103k
  yych = *++YYCURSOR;
24049
103k
  if (yych == ':') goto yy1332;
24050
3.31k
  goto yy59;
24051
2.46M
yy1312:
24052
2.46M
  YYDEBUG(1312, *YYCURSOR);
24053
2.46M
  yych = *++YYCURSOR;
24054
2.46M
  if (yych == 0xC2) goto yy97;
24055
2.45M
  if (yych == 0xE2) goto yy98;
24056
2.42M
  goto yy196;
24057
2.42M
yy1313:
24058
7.19k
  YYDEBUG(1313, *YYCURSOR);
24059
7.19k
  yych = *++YYCURSOR;
24060
7.19k
  if (yych <= '/') goto yy59;
24061
6.75k
  if (yych <= '0') goto yy1328;
24062
5.94k
  if (yych <= '5') goto yy1314;
24063
3.67k
  if (yych <= '6') goto yy1315;
24064
797
  goto yy59;
24065
11.5k
yy1314:
24066
11.5k
  YYDEBUG(1314, *YYCURSOR);
24067
11.5k
  yych = *++YYCURSOR;
24068
11.5k
  if (yych <= '/') goto yy59;
24069
7.37k
  if (yych <= '9') goto yy1331;
24070
2.61k
  goto yy59;
24071
6.66k
yy1315:
24072
6.66k
  YYDEBUG(1315, *YYCURSOR);
24073
6.66k
  yych = *++YYCURSOR;
24074
6.66k
  if (yych == '0') goto yy1331;
24075
4.79k
  goto yy59;
24076
4.79k
yy1316:
24077
3.72k
  YYDEBUG(1316, *YYCURSOR);
24078
3.72k
  yych = *++YYCURSOR;
24079
3.72k
  if (yych == ':') goto yy1286;
24080
1.39k
  goto yy59;
24081
3.21k
yy1317:
24082
3.21k
  YYDEBUG(1317, *YYCURSOR);
24083
3.21k
  yych = *++YYCURSOR;
24084
3.21k
  if (yych == ':') goto yy1244;
24085
1.96k
  goto yy59;
24086
15.2k
yy1318:
24087
15.2k
  YYDEBUG(1318, *YYCURSOR);
24088
15.2k
  yych = *++YYCURSOR;
24089
15.2k
  if (yych <= '/') goto yy849;
24090
13.3k
  if (yych <= '9') goto yy1333;
24091
1.49k
  goto yy849;
24092
20.1k
yy1319:
24093
20.1k
  YYDEBUG(1319, *YYCURSOR);
24094
20.1k
  yych = *++YYCURSOR;
24095
20.1k
  if (yych <= '/') goto yy59;
24096
19.3k
  if (yych <= '5') goto yy1334;
24097
4.92k
  if (yych <= '9') goto yy1078;
24098
1.70k
  goto yy59;
24099
52.9k
yy1320:
24100
52.9k
  YYDEBUG(1320, *YYCURSOR);
24101
52.9k
  yych = *++YYCURSOR;
24102
52.9k
  if (yych <= '@') {
24103
8.89k
    if (yych == ')') goto yy1078;
24104
6.97k
    goto yy849;
24105
44.0k
  } else {
24106
44.0k
    if (yych <= 'Z') goto yy1335;
24107
36.8k
    if (yych <= '`') goto yy849;
24108
32.7k
    if (yych <= 'z') goto yy1335;
24109
3.64k
    goto yy849;
24110
32.7k
  }
24111
185k
yy1321:
24112
185k
  YYDEBUG(1321, *YYCURSOR);
24113
185k
  yyaccept = 20;
24114
185k
  YYMARKER = ++YYCURSOR;
24115
185k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
24116
185k
  yych = *YYCURSOR;
24117
185k
  YYDEBUG(1322, *YYCURSOR);
24118
185k
  if (yych <= '@') {
24119
32.2k
    if (yych <= '-') {
24120
17.7k
      if (yych <= ',') goto yy849;
24121
13.6k
      goto yy1300;
24122
17.7k
    } else {
24123
14.4k
      if (yych == '/') goto yy1300;
24124
8.61k
      goto yy849;
24125
14.4k
    }
24126
152k
  } else {
24127
152k
    if (yych <= '_') {
24128
42.7k
      if (yych <= 'Z') goto yy1321;
24129
15.1k
      if (yych <= '^') goto yy849;
24130
11.7k
      goto yy1300;
24131
110k
    } else {
24132
110k
      if (yych <= '`') goto yy849;
24133
108k
      if (yych <= 'z') goto yy1321;
24134
7.81k
      goto yy849;
24135
108k
    }
24136
152k
  }
24137
73.1k
yy1323:
24138
73.1k
  YYDEBUG(1323, *YYCURSOR);
24139
73.1k
  yyaccept = 20;
24140
73.1k
  yych = *(YYMARKER = ++YYCURSOR);
24141
73.1k
  if (yych <= '/') {
24142
10.3k
    if (yych <= ',') {
24143
5.28k
      if (yych == ')') goto yy1078;
24144
3.49k
      goto yy849;
24145
5.28k
    } else {
24146
5.07k
      if (yych == '.') goto yy849;
24147
2.45k
      goto yy1300;
24148
5.07k
    }
24149
62.8k
  } else {
24150
62.8k
    if (yych <= '^') {
24151
8.00k
      if (yych <= '@') goto yy849;
24152
6.03k
      if (yych <= 'Z') goto yy1335;
24153
555
      goto yy849;
24154
54.8k
    } else {
24155
54.8k
      if (yych <= '_') goto yy1300;
24156
51.8k
      if (yych <= '`') goto yy849;
24157
50.8k
      if (yych <= 'z') goto yy1336;
24158
2.52k
      goto yy849;
24159
50.8k
    }
24160
62.8k
  }
24161
10.0k
yy1324:
24162
10.0k
  YYDEBUG(1324, *YYCURSOR);
24163
10.0k
  yych = *++YYCURSOR;
24164
10.0k
  if (yych == 'T') goto yy1086;
24165
7.91k
  if (yych == 't') goto yy1086;
24166
2.64k
  goto yy59;
24167
9.41k
yy1325:
24168
9.41k
  YYDEBUG(1325, *YYCURSOR);
24169
9.41k
  yych = *++YYCURSOR;
24170
9.41k
  if (yych == 'O') goto yy1167;
24171
4.80k
  if (yych == 'o') goto yy1167;
24172
3.21k
  goto yy59;
24173
146k
yy1326:
24174
146k
  YYDEBUG(1326, *YYCURSOR);
24175
146k
  yych = *++YYCURSOR;
24176
146k
  if (yych <= '9') {
24177
124k
    if (yych == '-') goto yy893;
24178
121k
    if (yych <= '/') goto yy196;
24179
117k
    goto yy1337;
24180
121k
  } else {
24181
21.7k
    if (yych <= 0xC2) {
24182
14.6k
      if (yych <= 0xC1) goto yy196;
24183
4.10k
      goto yy97;
24184
14.6k
    } else {
24185
7.06k
      if (yych == 0xE2) goto yy98;
24186
2.07k
      goto yy196;
24187
7.06k
    }
24188
21.7k
  }
24189
153k
yy1327:
24190
153k
  YYDEBUG(1327, *YYCURSOR);
24191
153k
  yych = *++YYCURSOR;
24192
153k
  if (yych <= '/') goto yy59;
24193
150k
  if (yych <= '5') goto yy1338;
24194
3.82k
  goto yy59;
24195
9.81k
yy1328:
24196
9.81k
  YYDEBUG(1328, *YYCURSOR);
24197
9.81k
  yych = *++YYCURSOR;
24198
9.81k
  if (yych <= '/') goto yy1329;
24199
8.51k
  if (yych <= '9') goto yy1331;
24200
92.9k
yy1329:
24201
92.9k
  YYDEBUG(1329, *YYCURSOR);
24202
92.9k
#line 1670 "ext/date/lib/parse_date.re"
24203
92.9k
  {
24204
92.9k
    int tz_not_found;
24205
92.9k
    DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
24206
92.9k
    TIMELIB_INIT;
24207
92.9k
    TIMELIB_HAVE_TIME();
24208
15.2k
    TIMELIB_HAVE_DATE();
24209
10.0k
    s->time->y = timelib_get_nr(&ptr, 4);
24210
10.0k
    s->time->m = timelib_get_nr(&ptr, 2);
24211
10.0k
    s->time->d = timelib_get_nr(&ptr, 2);
24212
10.0k
    s->time->h = timelib_get_nr(&ptr, 2);
24213
10.0k
    s->time->i = timelib_get_nr(&ptr, 2);
24214
10.0k
    s->time->s = timelib_get_nr(&ptr, 2);
24215
10.0k
    if (*ptr == '.') {
24216
6.68k
      s->time->us = timelib_get_frac_nr(&ptr);
24217
6.68k
      if (*ptr) { /* timezone is optional */
24218
4.02k
        s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
24219
4.02k
        if (tz_not_found) {
24220
0
          add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
24221
0
        }
24222
4.02k
      }
24223
6.68k
    }
24224
10.0k
    TIMELIB_DEINIT;
24225
10.0k
    return TIMELIB_XMLRPC_SOAP;
24226
15.2k
  }
24227
0
#line 24228 "ext/date/lib/parse_date.c"
24228
3.94k
yy1330:
24229
3.94k
  YYDEBUG(1330, *YYCURSOR);
24230
3.94k
  yych = *++YYCURSOR;
24231
3.94k
  if (yych != '0') goto yy1329;
24232
24.6k
yy1331:
24233
24.6k
  YYDEBUG(1331, *YYCURSOR);
24234
24.6k
  ++YYCURSOR;
24235
24.6k
  goto yy1329;
24236
100k
yy1332:
24237
100k
  YYDEBUG(1332, *YYCURSOR);
24238
100k
  yych = *++YYCURSOR;
24239
100k
  if (yych <= '/') goto yy59;
24240
97.8k
  if (yych <= '5') goto yy1339;
24241
4.90k
  if (yych <= '9') goto yy1281;
24242
3.96k
  goto yy59;
24243
11.8k
yy1333:
24244
11.8k
  YYDEBUG(1333, *YYCURSOR);
24245
11.8k
  yyaccept = 20;
24246
11.8k
  yych = *(YYMARKER = ++YYCURSOR);
24247
11.8k
  if (yych <= '/') goto yy849;
24248
11.1k
  if (yych <= '5') goto yy1340;
24249
6.50k
  if (yych <= '6') goto yy1341;
24250
2.95k
  goto yy849;
24251
14.4k
yy1334:
24252
14.4k
  YYDEBUG(1334, *YYCURSOR);
24253
14.4k
  yych = *++YYCURSOR;
24254
14.4k
  if (yych <= '/') goto yy849;
24255
13.1k
  if (yych <= '9') goto yy1342;
24256
1.15k
  goto yy849;
24257
41.8k
yy1335:
24258
41.8k
  YYDEBUG(1335, *YYCURSOR);
24259
41.8k
  yych = *++YYCURSOR;
24260
41.8k
  if (yych <= '@') {
24261
7.91k
    if (yych == ')') goto yy1078;
24262
6.78k
    goto yy849;
24263
33.8k
  } else {
24264
33.8k
    if (yych <= 'Z') goto yy1343;
24265
29.6k
    if (yych <= '`') goto yy849;
24266
25.9k
    if (yych <= 'z') goto yy1343;
24267
6.24k
    goto yy849;
24268
25.9k
  }
24269
48.3k
yy1336:
24270
48.3k
  YYDEBUG(1336, *YYCURSOR);
24271
48.3k
  yyaccept = 20;
24272
48.3k
  yych = *(YYMARKER = ++YYCURSOR);
24273
48.3k
  if (yych <= '/') {
24274
8.02k
    if (yych <= ',') {
24275
2.69k
      if (yych == ')') goto yy1078;
24276
1.73k
      goto yy849;
24277
5.32k
    } else {
24278
5.32k
      if (yych == '.') goto yy849;
24279
3.88k
      goto yy1300;
24280
5.32k
    }
24281
40.3k
  } else {
24282
40.3k
    if (yych <= '^') {
24283
5.65k
      if (yych <= '@') goto yy849;
24284
2.43k
      if (yych <= 'Z') goto yy1343;
24285
1.58k
      goto yy849;
24286
34.6k
    } else {
24287
34.6k
      if (yych <= '_') goto yy1300;
24288
32.5k
      if (yych <= '`') goto yy849;
24289
31.8k
      if (yych <= 'z') goto yy1344;
24290
2.98k
      goto yy849;
24291
31.8k
    }
24292
40.3k
  }
24293
117k
yy1337:
24294
117k
  YYDEBUG(1337, *YYCURSOR);
24295
117k
  yych = *++YYCURSOR;
24296
117k
  if (yych == '-') goto yy893;
24297
113k
  if (yych <= '/') goto yy59;
24298
105k
  if (yych <= '9') goto yy1345;
24299
6.28k
  goto yy59;
24300
146k
yy1338:
24301
146k
  YYDEBUG(1338, *YYCURSOR);
24302
146k
  yych = *++YYCURSOR;
24303
146k
  if (yych <= '/') goto yy59;
24304
142k
  if (yych <= '9') goto yy1346;
24305
3.86k
  goto yy59;
24306
92.9k
yy1339:
24307
92.9k
  YYDEBUG(1339, *YYCURSOR);
24308
92.9k
  yych = *++YYCURSOR;
24309
92.9k
  if (yych <= '/') goto yy59;
24310
90.9k
  if (yych <= '9') goto yy1347;
24311
4.08k
  if (yych <= ':') goto yy1310;
24312
2.23k
  goto yy59;
24313
5.67k
yy1340:
24314
5.67k
  YYDEBUG(1340, *YYCURSOR);
24315
5.67k
  yych = *++YYCURSOR;
24316
5.67k
  if (yych <= '/') goto yy59;
24317
4.35k
  if (yych <= '9') goto yy1078;
24318
2.68k
  goto yy59;
24319
4.26k
yy1341:
24320
4.26k
  YYDEBUG(1341, *YYCURSOR);
24321
4.26k
  yych = *++YYCURSOR;
24322
4.26k
  if (yych == '0') goto yy1078;
24323
3.37k
  goto yy59;
24324
12.0k
yy1342:
24325
12.0k
  YYDEBUG(1342, *YYCURSOR);
24326
12.0k
  yyaccept = 20;
24327
12.0k
  yych = *(YYMARKER = ++YYCURSOR);
24328
12.0k
  if (yych == ':') goto yy1348;
24329
2.50k
  goto yy849;
24330
24.7k
yy1343:
24331
24.7k
  YYDEBUG(1343, *YYCURSOR);
24332
24.7k
  yych = *++YYCURSOR;
24333
24.7k
  if (yych == ')') goto yy1078;
24334
22.9k
  goto yy849;
24335
28.8k
yy1344:
24336
28.8k
  YYDEBUG(1344, *YYCURSOR);
24337
28.8k
  yyaccept = 20;
24338
28.8k
  yych = *(YYMARKER = ++YYCURSOR);
24339
28.8k
  if (yych <= '.') {
24340
6.91k
    if (yych <= ')') {
24341
3.57k
      if (yych <= '(') goto yy849;
24342
833
      goto yy1078;
24343
3.57k
    } else {
24344
3.34k
      if (yych == '-') goto yy1300;
24345
974
      goto yy849;
24346
3.34k
    }
24347
21.8k
  } else {
24348
21.8k
    if (yych <= '_') {
24349
6.16k
      if (yych <= '/') goto yy1300;
24350
4.89k
      if (yych <= '^') goto yy849;
24351
3.49k
      goto yy1300;
24352
15.7k
    } else {
24353
15.7k
      if (yych <= '`') goto yy849;
24354
14.3k
      if (yych <= 'z') goto yy1349;
24355
2.49k
      goto yy849;
24356
14.3k
    }
24357
21.8k
  }
24358
98.9k
yy1345:
24359
98.9k
  YYDEBUG(1345, *YYCURSOR);
24360
98.9k
  yych = *++YYCURSOR;
24361
98.9k
  if (yych == '-') goto yy893;
24362
95.5k
  if (yych <= '/') goto yy59;
24363
91.0k
  if (yych <= '9') goto yy1351;
24364
7.76k
  goto yy59;
24365
138k
yy1346:
24366
138k
  YYDEBUG(1346, *YYCURSOR);
24367
138k
  yych = *++YYCURSOR;
24368
138k
  if (yych == ':') goto yy1352;
24369
11.7k
  goto yy59;
24370
86.8k
yy1347:
24371
86.8k
  YYDEBUG(1347, *YYCURSOR);
24372
86.8k
  yych = *++YYCURSOR;
24373
86.8k
  if (yych == ':') goto yy1353;
24374
5.46k
  goto yy59;
24375
9.53k
yy1348:
24376
9.53k
  YYDEBUG(1348, *YYCURSOR);
24377
9.53k
  yych = *++YYCURSOR;
24378
9.53k
  if (yych <= '/') goto yy59;
24379
7.92k
  if (yych <= '5') goto yy1340;
24380
6.89k
  if (yych <= '6') goto yy1341;
24381
6.18k
  goto yy59;
24382
36.0k
yy1349:
24383
36.0k
  YYDEBUG(1349, *YYCURSOR);
24384
36.0k
  ++YYCURSOR;
24385
36.0k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
24386
36.0k
  yych = *YYCURSOR;
24387
36.0k
  YYDEBUG(1350, *YYCURSOR);
24388
36.0k
  if (yych <= '/') {
24389
5.17k
    if (yych == '-') goto yy1300;
24390
2.62k
    if (yych <= '.') goto yy59;
24391
1.26k
    goto yy1300;
24392
30.9k
  } else {
24393
30.9k
    if (yych <= '_') {
24394
3.80k
      if (yych <= '^') goto yy59;
24395
1.56k
      goto yy1300;
24396
27.1k
    } else {
24397
27.1k
      if (yych <= '`') goto yy59;
24398
26.2k
      if (yych <= 'z') goto yy1349;
24399
1.97k
      goto yy59;
24400
26.2k
    }
24401
30.9k
  }
24402
83.2k
yy1351:
24403
83.2k
  YYDEBUG(1351, *YYCURSOR);
24404
83.2k
  yych = *++YYCURSOR;
24405
83.2k
  if (yych == '-') goto yy893;
24406
80.4k
  if (yych <= '/') goto yy59;
24407
78.2k
  if (yych <= '9') goto yy1354;
24408
4.28k
  goto yy59;
24409
127k
yy1352:
24410
127k
  YYDEBUG(1352, *YYCURSOR);
24411
127k
  yych = *++YYCURSOR;
24412
127k
  if (yych <= '/') goto yy59;
24413
124k
  if (yych <= '5') goto yy1355;
24414
12.8k
  if (yych <= '6') goto yy1356;
24415
4.01k
  goto yy59;
24416
81.3k
yy1353:
24417
81.3k
  YYDEBUG(1353, *YYCURSOR);
24418
81.3k
  yych = *++YYCURSOR;
24419
81.3k
  if (yych <= '/') goto yy59;
24420
77.3k
  if (yych <= '5') goto yy1357;
24421
14.9k
  if (yych <= '6') goto yy1358;
24422
3.89k
  if (yych <= '9') goto yy1331;
24423
1.01k
  goto yy59;
24424
73.9k
yy1354:
24425
73.9k
  YYDEBUG(1354, *YYCURSOR);
24426
73.9k
  yych = *++YYCURSOR;
24427
73.9k
  if (yych == '-') goto yy893;
24428
72.0k
  if (yych <= '/') goto yy59;
24429
69.6k
  if (yych <= '9') goto yy1359;
24430
20.5k
  goto yy59;
24431
111k
yy1355:
24432
111k
  YYDEBUG(1355, *YYCURSOR);
24433
111k
  yych = *++YYCURSOR;
24434
111k
  if (yych <= '/') goto yy59;
24435
107k
  if (yych <= '9') goto yy1360;
24436
3.63k
  goto yy59;
24437
8.80k
yy1356:
24438
8.80k
  YYDEBUG(1356, *YYCURSOR);
24439
8.80k
  yych = *++YYCURSOR;
24440
8.80k
  if (yych == '0') goto yy1360;
24441
1.06k
  goto yy59;
24442
62.4k
yy1357:
24443
62.4k
  YYDEBUG(1357, *YYCURSOR);
24444
62.4k
  yych = *++YYCURSOR;
24445
62.4k
  if (yych <= '/') goto yy1329;
24446
59.6k
  if (yych <= '9') goto yy1361;
24447
3.27k
  goto yy1329;
24448
11.0k
yy1358:
24449
11.0k
  YYDEBUG(1358, *YYCURSOR);
24450
11.0k
  yych = *++YYCURSOR;
24451
11.0k
  if (yych == '0') goto yy1361;
24452
4.78k
  goto yy1329;
24453
49.1k
yy1359:
24454
49.1k
  YYDEBUG(1359, *YYCURSOR);
24455
49.1k
  yych = *++YYCURSOR;
24456
49.1k
  if (yych == '-') goto yy893;
24457
48.5k
  if (yych <= '/') goto yy59;
24458
46.7k
  if (yych <= '9') goto yy1362;
24459
4.21k
  goto yy59;
24460
111k
yy1360:
24461
111k
  YYDEBUG(1360, *YYCURSOR);
24462
111k
  yych = *++YYCURSOR;
24463
111k
  if (yych <= ' ') {
24464
61.0k
    if (yych == '\t') goto yy1363;
24465
24.0k
    if (yych <= 0x1F) goto yy59;
24466
21.1k
    goto yy1363;
24467
50.2k
  } else {
24468
50.2k
    if (yych <= 0xC2) {
24469
25.8k
      if (yych <= 0xC1) goto yy59;
24470
22.5k
      goto yy1365;
24471
25.8k
    } else {
24472
24.4k
      if (yych == 0xE2) goto yy1366;
24473
6.92k
      goto yy59;
24474
24.4k
    }
24475
50.2k
  }
24476
62.5k
yy1361:
24477
62.5k
  YYDEBUG(1361, *YYCURSOR);
24478
62.5k
  yyaccept = 32;
24479
62.5k
  yych = *(YYMARKER = ++YYCURSOR);
24480
62.5k
  if (yych == '.') goto yy1367;
24481
4.50k
  goto yy1329;
24482
42.5k
yy1362:
24483
42.5k
  YYDEBUG(1362, *YYCURSOR);
24484
42.5k
  yych = *++YYCURSOR;
24485
42.5k
  if (yych == '-') goto yy893;
24486
41.5k
  goto yy59;
24487
227k
yy1363:
24488
227k
  YYDEBUG(1363, *YYCURSOR);
24489
227k
  ++YYCURSOR;
24490
227k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
24491
227k
  yych = *YYCURSOR;
24492
227k
  YYDEBUG(1364, *YYCURSOR);
24493
227k
  if (yych <= '*') {
24494
175k
    if (yych <= '\t') {
24495
171k
      if (yych <= 0x08) goto yy59;
24496
167k
      goto yy1363;
24497
171k
    } else {
24498
4.56k
      if (yych == ' ') goto yy1363;
24499
2.16k
      goto yy59;
24500
4.56k
    }
24501
175k
  } else {
24502
52.0k
    if (yych <= '-') {
24503
38.0k
      if (yych == ',') goto yy59;
24504
36.1k
      goto yy1368;
24505
38.0k
    } else {
24506
13.9k
      if (yych == 'G') goto yy1369;
24507
4.94k
      goto yy59;
24508
13.9k
    }
24509
52.0k
  }
24510
25.7k
yy1365:
24511
25.7k
  YYDEBUG(1365, *YYCURSOR);
24512
25.7k
  ++YYCURSOR;
24513
25.7k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
24514
25.7k
  yych = *YYCURSOR;
24515
25.7k
  if (yych == 0xA0) goto yy1370;
24516
3.40k
  goto yy59;
24517
19.3k
yy1366:
24518
19.3k
  YYDEBUG(1366, *YYCURSOR);
24519
19.3k
  ++YYCURSOR;
24520
19.3k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
24521
19.3k
  yych = *YYCURSOR;
24522
19.3k
  if (yych == 0x80) goto yy1371;
24523
2.80k
  goto yy59;
24524
58.0k
yy1367:
24525
58.0k
  YYDEBUG(1367, *YYCURSOR);
24526
58.0k
  yych = *++YYCURSOR;
24527
58.0k
  if (yych <= '/') goto yy59;
24528
57.1k
  if (yych <= '9') goto yy1372;
24529
2.85k
  goto yy59;
24530
57.5k
yy1368:
24531
57.5k
  YYDEBUG(1368, *YYCURSOR);
24532
57.5k
  yych = *++YYCURSOR;
24533
57.5k
  if (yych <= '/') goto yy59;
24534
54.8k
  if (yych <= '1') goto yy1374;
24535
31.8k
  if (yych <= '2') goto yy1376;
24536
13.4k
  if (yych <= '9') goto yy1377;
24537
7.25k
  goto yy59;
24538
15.7k
yy1369:
24539
15.7k
  YYDEBUG(1369, *YYCURSOR);
24540
15.7k
  yych = *++YYCURSOR;
24541
15.7k
  if (yych == 'M') goto yy1378;
24542
2.83k
  goto yy59;
24543
22.3k
yy1370:
24544
22.3k
  YYDEBUG(1370, *YYCURSOR);
24545
22.3k
  ++YYCURSOR;
24546
22.3k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
24547
22.3k
  yych = *YYCURSOR;
24548
22.3k
  if (yych <= '-') {
24549
6.33k
    if (yych == '+') goto yy1368;
24550
3.96k
    if (yych <= ',') goto yy59;
24551
1.72k
    goto yy1368;
24552
15.9k
  } else {
24553
15.9k
    if (yych <= 'G') {
24554
10.1k
      if (yych <= 'F') goto yy59;
24555
5.78k
      goto yy1369;
24556
10.1k
    } else {
24557
5.80k
      if (yych == 0xC2) goto yy1365;
24558
2.56k
      goto yy59;
24559
5.80k
    }
24560
15.9k
  }
24561
16.5k
yy1371:
24562
16.5k
  YYDEBUG(1371, *YYCURSOR);
24563
16.5k
  ++YYCURSOR;
24564
16.5k
  if (YYLIMIT <= YYCURSOR) YYFILL(1);
24565
16.5k
  yych = *YYCURSOR;
24566
16.5k
  if (yych == 0xAF) goto yy1379;
24567
1.93k
  goto yy59;
24568
94.8k
yy1372:
24569
94.8k
  YYDEBUG(1372, *YYCURSOR);
24570
94.8k
  yyaccept = 32;
24571
94.8k
  YYMARKER = ++YYCURSOR;
24572
94.8k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
24573
94.8k
  yych = *YYCURSOR;
24574
94.8k
  YYDEBUG(1373, *YYCURSOR);
24575
94.8k
  if (yych <= '-') {
24576
43.3k
    if (yych == '+') goto yy1380;
24577
41.2k
    if (yych <= ',') goto yy1329;
24578
39.3k
    goto yy1380;
24579
51.5k
  } else {
24580
51.5k
    if (yych <= '9') {
24581
41.8k
      if (yych <= '/') goto yy1329;
24582
40.5k
      goto yy1372;
24583
41.8k
    } else {
24584
9.66k
      if (yych == 'G') goto yy1381;
24585
3.57k
      goto yy1329;
24586
9.66k
    }
24587
51.5k
  }
24588
23.0k
yy1374:
24589
23.0k
  YYDEBUG(1374, *YYCURSOR);
24590
23.0k
  yyaccept = 33;
24591
23.0k
  yych = *(YYMARKER = ++YYCURSOR);
24592
23.0k
  if (yych <= '/') goto yy1375;
24593
21.9k
  if (yych <= '9') goto yy1382;
24594
4.23k
  if (yych <= ':') goto yy1383;
24595
47.6k
yy1375:
24596
47.6k
  YYDEBUG(1375, *YYCURSOR);
24597
47.6k
#line 1776 "ext/date/lib/parse_date.re"
24598
47.6k
  {
24599
47.6k
    int tz_not_found;
24600
47.6k
    DEBUG_OUTPUT("clf");
24601
47.6k
    TIMELIB_INIT;
24602
47.6k
    TIMELIB_HAVE_TIME();
24603
8.02k
    TIMELIB_HAVE_DATE();
24604
6.50k
    s->time->d = timelib_get_nr(&ptr, 2);
24605
6.50k
    s->time->m = timelib_get_month(&ptr);
24606
6.50k
    s->time->y = timelib_get_nr(&ptr, 4);
24607
6.50k
    s->time->h = timelib_get_nr(&ptr, 2);
24608
6.50k
    s->time->i = timelib_get_nr(&ptr, 2);
24609
6.50k
    s->time->s = timelib_get_nr(&ptr, 2);
24610
24611
6.50k
    timelib_eat_spaces(&ptr);
24612
24613
6.50k
    s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
24614
6.50k
    if (tz_not_found) {
24615
0
      add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
24616
0
    }
24617
6.50k
    TIMELIB_DEINIT;
24618
6.50k
    return TIMELIB_CLF;
24619
8.02k
  }
24620
0
#line 24621 "ext/date/lib/parse_date.c"
24621
18.4k
yy1376:
24622
18.4k
  YYDEBUG(1376, *YYCURSOR);
24623
18.4k
  yyaccept = 33;
24624
18.4k
  yych = *(YYMARKER = ++YYCURSOR);
24625
18.4k
  if (yych <= '5') {
24626
13.4k
    if (yych <= '/') goto yy1375;
24627
11.7k
    if (yych <= '4') goto yy1382;
24628
2.70k
    goto yy1384;
24629
11.7k
  } else {
24630
4.99k
    if (yych <= '9') goto yy1385;
24631
3.95k
    if (yych <= ':') goto yy1383;
24632
1.29k
    goto yy1375;
24633
3.95k
  }
24634
6.19k
yy1377:
24635
6.19k
  YYDEBUG(1377, *YYCURSOR);
24636
6.19k
  yyaccept = 33;
24637
6.19k
  yych = *(YYMARKER = ++YYCURSOR);
24638
6.19k
  if (yych <= '/') goto yy1375;
24639
5.65k
  if (yych <= '5') goto yy1384;
24640
3.22k
  if (yych <= '9') goto yy1385;
24641
2.97k
  if (yych <= ':') goto yy1383;
24642
1.13k
  goto yy1375;
24643
12.9k
yy1378:
24644
12.9k
  YYDEBUG(1378, *YYCURSOR);
24645
12.9k
  yych = *++YYCURSOR;
24646
12.9k
  if (yych == 'T') goto yy1386;
24647
1.01k
  goto yy59;
24648
14.6k
yy1379:
24649
14.6k
  YYDEBUG(1379, *YYCURSOR);
24650
14.6k
  ++YYCURSOR;
24651
14.6k
  if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
24652
14.6k
  yych = *YYCURSOR;
24653
14.6k
  if (yych <= '-') {
24654
8.87k
    if (yych == '+') goto yy1368;
24655
6.24k
    if (yych <= ',') goto yy59;
24656
3.62k
    goto yy1368;
24657
6.24k
  } else {
24658
5.76k
    if (yych <= 'G') {
24659
2.30k
      if (yych <= 'F') goto yy59;
24660
971
      goto yy1369;
24661
3.45k
    } else {
24662
3.45k
      if (yych == 0xE2) goto yy1366;
24663
1.58k
      goto yy59;
24664
3.45k
    }
24665
5.76k
  }
24666
44.4k
yy1380:
24667
44.4k
  YYDEBUG(1380, *YYCURSOR);
24668
44.4k
  yych = *++YYCURSOR;
24669
44.4k
  if (yych <= '/') goto yy59;
24670
43.0k
  if (yych <= '1') goto yy1387;
24671
29.1k
  if (yych <= '2') goto yy1388;
24672
10.6k
  if (yych <= '9') goto yy1389;
24673
2.94k
  goto yy59;
24674
6.09k
yy1381:
24675
6.09k
  YYDEBUG(1381, *YYCURSOR);
24676
6.09k
  yych = *++YYCURSOR;
24677
6.09k
  if (yych == 'M') goto yy1390;
24678
982
  goto yy59;
24679
26.7k
yy1382:
24680
26.7k
  YYDEBUG(1382, *YYCURSOR);
24681
26.7k
  yyaccept = 33;
24682
26.7k
  yych = *(YYMARKER = ++YYCURSOR);
24683
26.7k
  if (yych <= '/') goto yy1375;
24684
24.1k
  if (yych <= '5') goto yy1391;
24685
15.6k
  if (yych <= '9') goto yy1385;
24686
14.5k
  if (yych <= ':') goto yy1392;
24687
691
  goto yy1375;
24688
6.77k
yy1383:
24689
6.77k
  YYDEBUG(1383, *YYCURSOR);
24690
6.77k
  yych = *++YYCURSOR;
24691
6.77k
  if (yych <= '/') goto yy59;
24692
4.40k
  if (yych <= '5') goto yy1384;
24693
2.17k
  if (yych <= '9') goto yy1385;
24694
574
  goto yy59;
24695
7.37k
yy1384:
24696
7.37k
  YYDEBUG(1384, *YYCURSOR);
24697
7.37k
  yych = *++YYCURSOR;
24698
7.37k
  if (yych <= '/') goto yy1375;
24699
6.57k
  if (yych >= ':') goto yy1375;
24700
11.8k
yy1385:
24701
11.8k
  YYDEBUG(1385, *YYCURSOR);
24702
11.8k
  ++YYCURSOR;
24703
11.8k
  goto yy1375;
24704
11.8k
yy1386:
24705
11.8k
  YYDEBUG(1386, *YYCURSOR);
24706
11.8k
  yych = *++YYCURSOR;
24707
11.8k
  if (yych == '+') goto yy1368;
24708
6.37k
  if (yych == '-') goto yy1368;
24709
790
  goto yy59;
24710
13.8k
yy1387:
24711
13.8k
  YYDEBUG(1387, *YYCURSOR);
24712
13.8k
  yyaccept = 32;
24713
13.8k
  yych = *(YYMARKER = ++YYCURSOR);
24714
13.8k
  if (yych <= '/') goto yy1329;
24715
13.1k
  if (yych <= '9') goto yy1393;
24716
3.86k
  if (yych <= ':') goto yy1394;
24717
964
  goto yy1329;
24718
18.5k
yy1388:
24719
18.5k
  YYDEBUG(1388, *YYCURSOR);
24720
18.5k
  yyaccept = 32;
24721
18.5k
  yych = *(YYMARKER = ++YYCURSOR);
24722
18.5k
  if (yych <= '5') {
24723
16.1k
    if (yych <= '/') goto yy1329;
24724
15.1k
    if (yych <= '4') goto yy1393;
24725
560
    goto yy1328;
24726
15.1k
  } else {
24727
2.43k
    if (yych <= '9') goto yy1331;
24728
1.79k
    if (yych <= ':') goto yy1394;
24729
1.02k
    goto yy1329;
24730
1.79k
  }
24731
7.70k
yy1389:
24732
7.70k
  YYDEBUG(1389, *YYCURSOR);
24733
7.70k
  yyaccept = 32;
24734
7.70k
  yych = *(YYMARKER = ++YYCURSOR);
24735
7.70k
  if (yych <= '/') goto yy1329;
24736
6.43k
  if (yych <= '5') goto yy1328;
24737
5.49k
  if (yych <= '9') goto yy1331;
24738
4.30k
  if (yych <= ':') goto yy1394;
24739
923
  goto yy1329;
24740
5.11k
yy1390:
24741
5.11k
  YYDEBUG(1390, *YYCURSOR);
24742
5.11k
  yych = *++YYCURSOR;
24743
5.11k
  if (yych == 'T') goto yy1395;
24744
1.05k
  goto yy59;
24745
8.43k
yy1391:
24746
8.43k
  YYDEBUG(1391, *YYCURSOR);
24747
8.43k
  yych = *++YYCURSOR;
24748
8.43k
  if (yych <= '/') goto yy1375;
24749
7.91k
  if (yych <= '9') goto yy1396;
24750
1.20k
  goto yy1375;
24751
13.8k
yy1392:
24752
13.8k
  YYDEBUG(1392, *YYCURSOR);
24753
13.8k
  yych = *++YYCURSOR;
24754
13.8k
  if (yych <= '/') goto yy59;
24755
13.4k
  if (yych <= '5') goto yy1397;
24756
2.48k
  if (yych <= '9') goto yy1385;
24757
1.47k
  goto yy59;
24758
23.9k
yy1393:
24759
23.9k
  YYDEBUG(1393, *YYCURSOR);
24760
23.9k
  yyaccept = 32;
24761
23.9k
  yych = *(YYMARKER = ++YYCURSOR);
24762
23.9k
  if (yych <= '/') goto yy1329;
24763
22.6k
  if (yych <= '5') goto yy1398;
24764
13.4k
  if (yych <= '9') goto yy1331;
24765
13.0k
  if (yych <= ':') goto yy1399;
24766
2.14k
  goto yy1329;
24767
7.04k
yy1394:
24768
7.04k
  YYDEBUG(1394, *YYCURSOR);
24769
7.04k
  yych = *++YYCURSOR;
24770
7.04k
  if (yych <= '/') goto yy59;
24771
4.62k
  if (yych <= '5') goto yy1328;
24772
1.74k
  if (yych <= '9') goto yy1331;
24773
695
  goto yy59;
24774
4.06k
yy1395:
24775
4.06k
  YYDEBUG(1395, *YYCURSOR);
24776
4.06k
  yych = *++YYCURSOR;
24777
4.06k
  if (yych == '+') goto yy1380;
24778
1.75k
  if (yych == '-') goto yy1380;
24779
1.03k
  goto yy59;
24780
6.71k
yy1396:
24781
6.71k
  YYDEBUG(1396, *YYCURSOR);
24782
6.71k
  yyaccept = 33;
24783
6.71k
  yych = *(YYMARKER = ++YYCURSOR);
24784
6.71k
  if (yych <= '/') goto yy1375;
24785
6.16k
  if (yych <= '5') goto yy1400;
24786
3.21k
  if (yych <= '6') goto yy1401;
24787
1.99k
  goto yy1375;
24788
11.0k
yy1397:
24789
11.0k
  YYDEBUG(1397, *YYCURSOR);
24790
11.0k
  yych = *++YYCURSOR;
24791
11.0k
  if (yych <= '/') goto yy1375;
24792
8.05k
  if (yych <= '9') goto yy1402;
24793
759
  goto yy1375;
24794
9.21k
yy1398:
24795
9.21k
  YYDEBUG(1398, *YYCURSOR);
24796
9.21k
  yych = *++YYCURSOR;
24797
9.21k
  if (yych <= '/') goto yy1329;
24798
7.69k
  if (yych <= '9') goto yy1403;
24799
1.29k
  goto yy1329;
24800
10.9k
yy1399:
24801
10.9k
  YYDEBUG(1399, *YYCURSOR);
24802
10.9k
  yych = *++YYCURSOR;
24803
10.9k
  if (yych <= '/') goto yy59;
24804
10.0k
  if (yych <= '5') goto yy1404;
24805
1.30k
  if (yych <= '9') goto yy1331;
24806
533
  goto yy59;
24807
3.83k
yy1400:
24808
3.83k
  YYDEBUG(1400, *YYCURSOR);
24809
3.83k
  yych = *++YYCURSOR;
24810
3.83k
  if (yych <= '/') goto yy59;
24811
3.22k
  if (yych <= '9') goto yy1385;
24812
771
  goto yy59;
24813
2.98k
yy1401:
24814
2.98k
  YYDEBUG(1401, *YYCURSOR);
24815
2.98k
  yych = *++YYCURSOR;
24816
2.98k
  if (yych == '0') goto yy1385;
24817
1.14k
  goto yy59;
24818
7.29k
yy1402:
24819
7.29k
  YYDEBUG(1402, *YYCURSOR);
24820
7.29k
  yyaccept = 33;
24821
7.29k
  yych = *(YYMARKER = ++YYCURSOR);
24822
7.29k
  if (yych == ':') goto yy1405;
24823
774
  goto yy1375;
24824
6.40k
yy1403:
24825
6.40k
  YYDEBUG(1403, *YYCURSOR);
24826
6.40k
  yyaccept = 32;
24827
6.40k
  yych = *(YYMARKER = ++YYCURSOR);
24828
6.40k
  if (yych <= '/') goto yy1329;
24829
5.29k
  if (yych <= '5') goto yy1314;
24830
3.48k
  if (yych <= '6') goto yy1315;
24831
2.06k
  goto yy1329;
24832
8.73k
yy1404:
24833
8.73k
  YYDEBUG(1404, *YYCURSOR);
24834
8.73k
  yych = *++YYCURSOR;
24835
8.73k
  if (yych <= '/') goto yy1329;
24836
6.38k
  if (yych <= '9') goto yy1406;
24837
2.42k
  goto yy1329;
24838
6.52k
yy1405:
24839
6.52k
  YYDEBUG(1405, *YYCURSOR);
24840
6.52k
  yych = *++YYCURSOR;
24841
6.52k
  if (yych <= '/') goto yy59;
24842
5.14k
  if (yych <= '5') goto yy1400;
24843
4.26k
  if (yych <= '6') goto yy1401;
24844
2.49k
  goto yy59;
24845
3.96k
yy1406:
24846
3.96k
  YYDEBUG(1406, *YYCURSOR);
24847
3.96k
  yyaccept = 32;
24848
3.96k
  yych = *(YYMARKER = ++YYCURSOR);
24849
3.96k
  if (yych == ':') goto yy1286;
24850
960
  goto yy1329;
24851
3.96k
}
24852
3.96k
#line 2004 "ext/date/lib/parse_date.re"
24853
24854
3.96k
}
24855
24856
684k
#define YYMAXFILL 36
24857
24858
24859
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)
24860
342k
{
24861
342k
  Scanner in;
24862
342k
  int t;
24863
342k
  const char *e = s + len - 1;
24864
24865
342k
  memset(&in, 0, sizeof(in));
24866
342k
  in.errors = timelib_malloc(sizeof(timelib_error_container));
24867
342k
  in.errors->warning_count = 0;
24868
342k
  in.errors->warning_messages = NULL;
24869
342k
  in.errors->error_count = 0;
24870
342k
  in.errors->error_messages = NULL;
24871
24872
342k
  if (len > 0) {
24873
363k
    while (isspace((unsigned char)*s) && s < e) {
24874
20.9k
      s++;
24875
20.9k
    }
24876
377k
    while (isspace((unsigned char)*e) && e > s) {
24877
35.3k
      e--;
24878
35.3k
    }
24879
342k
  }
24880
342k
  if (e - s < 0) {
24881
2
    in.time = timelib_time_ctor();
24882
2
    add_error(&in, TIMELIB_ERR_EMPTY_STRING, "Empty string");
24883
2
    if (errors) {
24884
2
      *errors = in.errors;
24885
2
    } else {
24886
0
      timelib_error_container_dtor(in.errors);
24887
0
    }
24888
2
    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;
24889
2
    in.time->is_localtime = in.time->zone_type = 0;
24890
2
    return in.time;
24891
2
  }
24892
342k
  e++;
24893
24894
342k
  in.str = timelib_malloc((e - s) + YYMAXFILL);
24895
342k
  memset(in.str, 0, (e - s) + YYMAXFILL);
24896
342k
  memcpy(in.str, s, (e - s));
24897
342k
  in.lim = in.str + (e - s) + YYMAXFILL;
24898
342k
  in.cur = in.str;
24899
342k
  in.time = timelib_time_ctor();
24900
342k
  in.time->y = TIMELIB_UNSET;
24901
342k
  in.time->d = TIMELIB_UNSET;
24902
342k
  in.time->m = TIMELIB_UNSET;
24903
342k
  in.time->h = TIMELIB_UNSET;
24904
342k
  in.time->i = TIMELIB_UNSET;
24905
342k
  in.time->s = TIMELIB_UNSET;
24906
342k
  in.time->us = TIMELIB_UNSET;
24907
342k
  in.time->z = TIMELIB_UNSET;
24908
342k
  in.time->dst = TIMELIB_UNSET;
24909
342k
  in.tzdb = tzdb;
24910
342k
  in.time->is_localtime = 0;
24911
342k
  in.time->zone_type = 0;
24912
342k
  in.time->relative.days = TIMELIB_UNSET;
24913
24914
205M
  do {
24915
205M
    t = scan(&in, tz_get_wrapper);
24916
#ifdef DEBUG_PARSER
24917
    printf("%d\n", t);
24918
#endif
24919
205M
  } while(t != EOI);
24920
24921
  /* do funky checking whether the parsed time was valid time */
24922
342k
  if (in.time->have_time && !timelib_valid_time( in.time->h, in.time->i, in.time->s)) {
24923
3.92k
    add_warning(&in, TIMELIB_WARN_INVALID_TIME, "The parsed time was invalid");
24924
3.92k
  }
24925
  /* do funky checking whether the parsed date was valid date */
24926
342k
  if (in.time->have_date && !timelib_valid_date( in.time->y, in.time->m, in.time->d)) {
24927
139k
    add_warning(&in, TIMELIB_WARN_INVALID_DATE, "The parsed date was invalid");
24928
139k
  }
24929
24930
342k
  timelib_free(in.str);
24931
342k
  if (errors) {
24932
342k
    *errors = in.errors;
24933
342k
  } else {
24934
3
    timelib_error_container_dtor(in.errors);
24935
3
  }
24936
342k
  return in.time;
24937
342k
}
24938
24939
#define TIMELIB_CHECK_NUMBER                                           \
24940
0
    if (strchr("0123456789", *ptr) == NULL)                        \
24941
0
    {                                                              \
24942
0
      add_pbf_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Unexpected data found.", string, begin); \
24943
0
    }
24944
#define TIMELIB_CHECK_SIGNED_NUMBER                                    \
24945
0
    if (strchr("+-0123456789", *ptr) == NULL)                      \
24946
0
    {                                                              \
24947
0
      add_pbf_error(s, TIMELIB_ERR_UNEXPECTED_DATA, "Unexpected data found.", string, begin); \
24948
0
    }
24949
24950
static void timelib_time_reset_fields(timelib_time *time)
24951
0
{
24952
0
  assert(time != NULL);
24953
24954
0
  time->y = 1970;
24955
0
  time->m = 1;
24956
0
  time->d = 1;
24957
0
  time->h = time->i = time->s = 0;
24958
0
  time->us = 0;
24959
0
  time->tz_info = NULL;
24960
0
}
24961
24962
static void timelib_time_reset_unset_fields(timelib_time *time)
24963
0
{
24964
0
  assert(time != NULL);
24965
24966
0
  if (time->y == TIMELIB_UNSET ) time->y = 1970;
24967
0
  if (time->m == TIMELIB_UNSET ) time->m = 1;
24968
0
  if (time->d == TIMELIB_UNSET ) time->d = 1;
24969
0
  if (time->h == TIMELIB_UNSET ) time->h = 0;
24970
0
  if (time->i == TIMELIB_UNSET ) time->i = 0;
24971
0
  if (time->s == TIMELIB_UNSET ) time->s = 0;
24972
0
  if (time->us == TIMELIB_UNSET ) time->us = 0;
24973
0
}
24974
24975
static const timelib_format_specifier default_format_map[] = {
24976
  {'+', TIMELIB_FORMAT_ALLOW_EXTRA_CHARACTERS},
24977
  {'#', TIMELIB_FORMAT_ANY_SEPARATOR},
24978
  {'j', TIMELIB_FORMAT_DAY_TWO_DIGIT},
24979
  {'d', TIMELIB_FORMAT_DAY_TWO_DIGIT_PADDED},
24980
  {'z', TIMELIB_FORMAT_DAY_OF_YEAR},
24981
  {'S', TIMELIB_FORMAT_DAY_SUFFIX},
24982
  {'U', TIMELIB_FORMAT_EPOCH_SECONDS},
24983
  {'\\', TIMELIB_FORMAT_ESCAPE},
24984
  {'h', TIMELIB_FORMAT_HOUR_TWO_DIGIT_12_MAX},
24985
  {'g', TIMELIB_FORMAT_HOUR_TWO_DIGIT_12_MAX_PADDED},
24986
  {'H', TIMELIB_FORMAT_HOUR_TWO_DIGIT_24_MAX},
24987
  {'G', TIMELIB_FORMAT_HOUR_TWO_DIGIT_24_MAX_PADDED},
24988
  {'a', TIMELIB_FORMAT_MERIDIAN},
24989
  {'A', TIMELIB_FORMAT_MERIDIAN},
24990
  {'u', TIMELIB_FORMAT_MICROSECOND_SIX_DIGIT},
24991
  {'v', TIMELIB_FORMAT_MILLISECOND_THREE_DIGIT},
24992
  {'i', TIMELIB_FORMAT_MINUTE_TWO_DIGIT},
24993
  {'n', TIMELIB_FORMAT_MONTH_TWO_DIGIT},
24994
  {'m', TIMELIB_FORMAT_MONTH_TWO_DIGIT_PADDED},
24995
  {'?', TIMELIB_FORMAT_RANDOM_CHAR},
24996
  {'!', TIMELIB_FORMAT_RESET_ALL},
24997
  {'|', TIMELIB_FORMAT_RESET_ALL_WHEN_NOT_SET},
24998
  {'s', TIMELIB_FORMAT_SECOND_TWO_DIGIT},
24999
  {';', TIMELIB_FORMAT_SEPARATOR},
25000
  {':', TIMELIB_FORMAT_SEPARATOR},
25001
  {'/', TIMELIB_FORMAT_SEPARATOR},
25002
  {'.', TIMELIB_FORMAT_SEPARATOR},
25003
  {',', TIMELIB_FORMAT_SEPARATOR},
25004
  {'-', TIMELIB_FORMAT_SEPARATOR},
25005
  {'(', TIMELIB_FORMAT_SEPARATOR},
25006
  {')', TIMELIB_FORMAT_SEPARATOR},
25007
  {'*', TIMELIB_FORMAT_SKIP_TO_SEPARATOR},
25008
  {'D', TIMELIB_FORMAT_TEXTUAL_DAY_3_LETTER},
25009
  {'l', TIMELIB_FORMAT_TEXTUAL_DAY_FULL},
25010
  {'M', TIMELIB_FORMAT_TEXTUAL_MONTH_3_LETTER},
25011
  {'F', TIMELIB_FORMAT_TEXTUAL_MONTH_FULL},
25012
  {'e', TIMELIB_FORMAT_TIMEZONE_OFFSET},
25013
  {'P', TIMELIB_FORMAT_TIMEZONE_OFFSET},
25014
  {'p', TIMELIB_FORMAT_TIMEZONE_OFFSET},
25015
  {'T', TIMELIB_FORMAT_TIMEZONE_OFFSET},
25016
  {'O', TIMELIB_FORMAT_TIMEZONE_OFFSET},
25017
  {' ', TIMELIB_FORMAT_WHITESPACE},
25018
  {'y', TIMELIB_FORMAT_YEAR_TWO_DIGIT},
25019
  {'Y', TIMELIB_FORMAT_YEAR_FOUR_DIGIT},
25020
  {'x', TIMELIB_FORMAT_YEAR_EXPANDED},
25021
  {'X', TIMELIB_FORMAT_YEAR_EXPANDED},
25022
  {'\0', TIMELIB_FORMAT_END}
25023
};
25024
25025
static const timelib_format_config default_format_config = {
25026
  default_format_map,
25027
  // No prefix required by default.
25028
  '\0'
25029
};
25030
25031
static timelib_format_specifier_code timelib_lookup_format(char input, const timelib_format_specifier* format_map)
25032
0
{
25033
0
  while (format_map && format_map->specifier != '\0') {
25034
0
    if (format_map->specifier == input) {
25035
0
      return format_map->code;
25036
0
    }
25037
0
    format_map++;
25038
0
  }
25039
0
  return TIMELIB_FORMAT_LITERAL;
25040
0
}
25041
25042
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)
25043
0
{
25044
0
  return timelib_parse_from_format_with_map(format, string, len, errors, tzdb, tz_get_wrapper, &default_format_config);
25045
0
}
25046
25047
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)
25048
0
{
25049
0
  const char  *fptr = format;
25050
0
  const char  *ptr = string;
25051
0
  const char  *begin;
25052
0
  timelib_sll  tmp;
25053
0
  Scanner      in;
25054
0
  Scanner     *s = &in;
25055
0
  bool         allow_extra = false;
25056
0
  bool         prefix_found = false;
25057
0
  int          iso_year = TIMELIB_UNSET;
25058
0
  int          iso_week_of_year = TIMELIB_UNSET;
25059
0
  int          iso_day_of_week = TIMELIB_UNSET;
25060
0
  char         prefix_char = format_config->prefix_char;
25061
0
  const timelib_format_specifier *format_map = format_config->format_map;
25062
25063
0
  memset(&in, 0, sizeof(in));
25064
0
  in.errors = timelib_malloc(sizeof(timelib_error_container));
25065
0
  in.errors->warning_count = 0;
25066
0
  in.errors->warning_messages = NULL;
25067
0
  in.errors->error_count = 0;
25068
0
  in.errors->error_messages = NULL;
25069
25070
0
  in.time = timelib_time_ctor();
25071
0
  in.time->y = TIMELIB_UNSET;
25072
0
  in.time->d = TIMELIB_UNSET;
25073
0
  in.time->m = TIMELIB_UNSET;
25074
0
  in.time->h = TIMELIB_UNSET;
25075
0
  in.time->i = TIMELIB_UNSET;
25076
0
  in.time->s = TIMELIB_UNSET;
25077
0
  in.time->us = TIMELIB_UNSET;
25078
0
  in.time->z = TIMELIB_UNSET;
25079
0
  in.time->dst = TIMELIB_UNSET;
25080
0
  in.tzdb = tzdb;
25081
0
  in.time->is_localtime = 0;
25082
0
  in.time->zone_type = 0;
25083
25084
  /* Loop over the format string */
25085
0
  while (*fptr && *ptr) {
25086
0
    begin = ptr;
25087
25088
0
    if (prefix_char) {
25089
      /* There are 2 cases where the input string and format string
25090
       * should match the next literal:
25091
       *
25092
       * 1. No prefix has been specified yet in the format, so expect 1:1
25093
       *    match.
25094
       * 2. Sequential prefix characters indicating that the second
25095
       *    prefix is escaped. (e.g. "%%" is expecting literal "%")
25096
       */
25097
0
      if ((!prefix_found && *fptr != prefix_char) ||
25098
0
        (prefix_found && *fptr == prefix_char)) {
25099
0
        if (*fptr != *ptr) {
25100
0
          add_pbf_error(s, TIMELIB_ERR_FORMAT_LITERAL_MISMATCH, "Format literal not found", string, begin);
25101
0
        }
25102
0
        ptr++;
25103
0
        fptr++;
25104
0
        prefix_found = false;
25105
0
        continue;
25106
0
      }
25107
25108
0
      if (*fptr == prefix_char) {
25109
0
        fptr++;
25110
0
        prefix_found = true;
25111
0
        continue;
25112
0
      }
25113
25114
      /* Fall through case is that the prefix has been found and the next
25115
       * character is the format specifier. */
25116
0
      prefix_found = false;
25117
0
    }
25118
25119
0
    switch (timelib_lookup_format(*fptr, format_map)) {
25120
0
      case TIMELIB_FORMAT_TEXTUAL_DAY_3_LETTER: /* three letter day */
25121
0
      case TIMELIB_FORMAT_TEXTUAL_DAY_FULL: /* full day */
25122
0
        {
25123
0
          const timelib_relunit* tmprel = 0;
25124
25125
0
          tmprel = timelib_lookup_relunit(&ptr);
25126
0
          if (!tmprel) {
25127
0
            add_pbf_error(s, TIMELIB_ERR_NO_TEXTUAL_DAY, "A textual day could not be found", string, begin);
25128
0
            break;
25129
0
          } else {
25130
0
            in.time->have_relative = 1;
25131
0
            in.time->relative.have_weekday_relative = 1;
25132
0
            in.time->relative.weekday = tmprel->multiplier;
25133
0
            in.time->relative.weekday_behavior = 1;
25134
0
          }
25135
0
        }
25136
0
        break;
25137
0
      case TIMELIB_FORMAT_DAY_TWO_DIGIT: /* two digit day, without leading zero */
25138
0
      case TIMELIB_FORMAT_DAY_TWO_DIGIT_PADDED: /* two digit day, with leading zero */
25139
0
        TIMELIB_CHECK_NUMBER;
25140
0
        if ((s->time->d = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
25141
0
          add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_DAY, "A two digit day could not be found", string, begin);
25142
0
          break;
25143
0
        }
25144
25145
0
        s->time->have_date = 1;
25146
0
        break;
25147
0
      case TIMELIB_FORMAT_DAY_SUFFIX: /* day suffix, ignored, nor checked */
25148
0
        timelib_skip_day_suffix(&ptr);
25149
0
        break;
25150
0
      case TIMELIB_FORMAT_DAY_OF_YEAR: /* day of year - resets month (0 based) - also initializes everything else to !TIMELIB_UNSET */
25151
0
        TIMELIB_CHECK_NUMBER;
25152
0
        if (s->time->y == TIMELIB_UNSET) {
25153
0
          add_pbf_error(s, TIMELIB_ERR_MERIDIAN_BEFORE_HOUR, "A 'day of year' can only come after a year has been found", string, begin);
25154
0
        }
25155
0
        if ((tmp = timelib_get_nr(&ptr, 3)) == TIMELIB_UNSET) {
25156
0
          add_pbf_error(s, TIMELIB_ERR_NO_THREE_DIGIT_DAY_OF_YEAR, "A three digit day-of-year could not be found", string, begin);
25157
0
          break;
25158
0
        }
25159
25160
0
        if (s->time->y != TIMELIB_UNSET) {
25161
0
          s->time->have_date = 1;
25162
0
          s->time->m = 1;
25163
0
          s->time->d = tmp + 1;
25164
0
          timelib_do_normalize(s->time);
25165
0
        }
25166
0
        break;
25167
25168
0
      case TIMELIB_FORMAT_MONTH_TWO_DIGIT: /* two digit month, without leading zero */
25169
0
      case TIMELIB_FORMAT_MONTH_TWO_DIGIT_PADDED: /* two digit month, with leading zero */
25170
0
        TIMELIB_CHECK_NUMBER;
25171
0
        if ((s->time->m = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
25172
0
          add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_MONTH, "A two digit month could not be found", string, begin);
25173
0
          break;
25174
0
        }
25175
0
        s->time->have_date = 1;
25176
0
        break;
25177
0
      case TIMELIB_FORMAT_TEXTUAL_MONTH_3_LETTER: /* three letter month */
25178
0
      case TIMELIB_FORMAT_TEXTUAL_MONTH_FULL: /* full month */
25179
0
        tmp = timelib_lookup_month(&ptr);
25180
0
        if (!tmp) {
25181
0
          add_pbf_error(s, TIMELIB_ERR_NO_TEXTUAL_MONTH, "A textual month could not be found", string, begin);
25182
0
          break;
25183
0
        }
25184
25185
0
        s->time->have_date = 1;
25186
0
        s->time->m = tmp;
25187
0
        break;
25188
0
      case TIMELIB_FORMAT_YEAR_TWO_DIGIT: /* two digit year */
25189
0
        {
25190
0
          int length = 0;
25191
0
          TIMELIB_CHECK_NUMBER;
25192
0
          if ((s->time->y = timelib_get_nr_ex(&ptr, 2, &length)) == TIMELIB_UNSET) {
25193
0
            add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_YEAR, "A two digit year could not be found", string, begin);
25194
0
            break;
25195
0
          }
25196
          
25197
0
          s->time->have_date = 1;
25198
0
          TIMELIB_PROCESS_YEAR(s->time->y, length);
25199
0
        }
25200
0
        break;
25201
0
      case TIMELIB_FORMAT_YEAR_FOUR_DIGIT: /* four digit year */
25202
0
        TIMELIB_CHECK_NUMBER;
25203
0
        if ((s->time->y = timelib_get_nr(&ptr, 4)) == TIMELIB_UNSET) {
25204
0
          add_pbf_error(s, TIMELIB_ERR_NO_FOUR_DIGIT_YEAR, "A four digit year could not be found", string, begin);
25205
0
          break;
25206
0
        }
25207
25208
0
        s->time->have_date = 1;
25209
0
        break;
25210
0
      case TIMELIB_FORMAT_YEAR_EXPANDED: /* optional symbol, followed by up to 19 digits */
25211
0
        TIMELIB_CHECK_SIGNED_NUMBER;
25212
0
        if ((s->time->y = timelib_get_signed_nr(s, &ptr, 19)) == TIMELIB_UNSET) {
25213
0
          add_pbf_error(s, TIMELIB_ERR_NO_FOUR_DIGIT_YEAR, "An expanded digit year could not be found", string, begin);
25214
0
          break;
25215
0
        }
25216
25217
0
        s->time->have_date = 1;
25218
0
        break;
25219
0
      case TIMELIB_FORMAT_HOUR_TWO_DIGIT_12_MAX: /* two digit hour, without leading zero */
25220
0
      case TIMELIB_FORMAT_HOUR_TWO_DIGIT_12_MAX_PADDED: /* two digit hour, with leading zero */
25221
0
        TIMELIB_CHECK_NUMBER;
25222
0
        if ((s->time->h = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
25223
0
          add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_HOUR, "A two digit hour could not be found", string, begin);
25224
0
          break;
25225
0
        }
25226
0
        if (s->time->h > 12) {
25227
0
          add_pbf_error(s, TIMELIB_ERR_HOUR_LARGER_THAN_12, "Hour cannot be higher than 12", string, begin);
25228
0
          break;
25229
0
        }
25230
25231
0
        s->time->have_time = 1;
25232
0
        break;
25233
0
      case TIMELIB_FORMAT_HOUR_TWO_DIGIT_24_MAX_PADDED: /* two digit hour, with leading zero */
25234
0
      case TIMELIB_FORMAT_HOUR_TWO_DIGIT_24_MAX: /* two digit hour, without leading zero */
25235
0
        TIMELIB_CHECK_NUMBER;
25236
0
        if ((s->time->h = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
25237
0
          add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_HOUR, "A two digit hour could not be found", string, begin);
25238
0
          break;
25239
0
        }
25240
25241
0
        s->time->have_time = 1;
25242
0
        break;
25243
0
      case TIMELIB_FORMAT_MERIDIAN: /* am/pm/a.m./p.m. AM/PM/A.M./P.M. */
25244
0
        if (s->time->h == TIMELIB_UNSET) {
25245
0
          add_pbf_error(s, TIMELIB_ERR_MERIDIAN_BEFORE_HOUR, "Meridian can only come after an hour has been found", string, begin);
25246
0
        }
25247
0
        if ((tmp = timelib_meridian_with_check(&ptr, s->time->h)) == TIMELIB_UNSET) {
25248
0
          add_pbf_error(s, TIMELIB_ERR_NO_MERIDIAN, "A meridian could not be found", string, begin);
25249
0
          break;
25250
0
        }
25251
25252
0
        s->time->have_time = 1;
25253
0
        if (s->time->h != TIMELIB_UNSET) {
25254
0
          s->time->h += tmp;
25255
0
        }
25256
0
        break;
25257
0
      case TIMELIB_FORMAT_MINUTE_TWO_DIGIT: /* two digit minute, with leading zero */
25258
0
        {
25259
0
          int length;
25260
0
          timelib_sll min;
25261
25262
0
          TIMELIB_CHECK_NUMBER;
25263
0
          min = timelib_get_nr_ex(&ptr, 2, &length);
25264
0
          if (min == TIMELIB_UNSET || length != 2) {
25265
0
            add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_MINUTE, "A two digit minute could not be found", string, begin);
25266
0
            break;
25267
0
          }
25268
25269
0
          s->time->have_time = 1;
25270
0
          s->time->i = min;
25271
0
        }
25272
0
        break;
25273
0
      case TIMELIB_FORMAT_SECOND_TWO_DIGIT: /* two digit second, with leading zero */
25274
0
        {
25275
0
          int length;
25276
0
          timelib_sll sec;
25277
25278
0
          TIMELIB_CHECK_NUMBER;
25279
0
          sec = timelib_get_nr_ex(&ptr, 2, &length);
25280
0
          if (sec == TIMELIB_UNSET || length != 2) {
25281
0
            add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_SECOND, "A two digit second could not be found", string, begin);
25282
0
            break;
25283
0
          }
25284
25285
0
          s->time->have_time = 1;
25286
0
          s->time->s = sec;
25287
0
        }
25288
0
        break;
25289
0
      case TIMELIB_FORMAT_MICROSECOND_SIX_DIGIT: /* up to six digit microsecond */
25290
0
        {
25291
0
          double f;
25292
0
          const char *tptr;
25293
25294
0
          TIMELIB_CHECK_NUMBER;
25295
0
          tptr = ptr;
25296
0
          if ((f = timelib_get_nr(&ptr, 6)) == TIMELIB_UNSET || (ptr - tptr < 1)) {
25297
0
            add_pbf_error(s, TIMELIB_ERR_NO_SIX_DIGIT_MICROSECOND, "A six digit microsecond could not be found", string, begin);
25298
0
            break;
25299
0
          }
25300
25301
0
          s->time->us = (f * pow(10, 6 - (ptr - tptr)));
25302
0
        }
25303
0
        break;
25304
0
      case TIMELIB_FORMAT_MILLISECOND_THREE_DIGIT: /* up to three digit millisecond */
25305
0
        {
25306
0
          double f;
25307
0
          const char *tptr;
25308
25309
0
          TIMELIB_CHECK_NUMBER;
25310
0
          tptr = ptr;
25311
0
          if ((f = timelib_get_nr(&ptr, 3)) == TIMELIB_UNSET || (ptr - tptr < 1)) {
25312
0
            add_pbf_error(s, TIMELIB_ERR_NO_THREE_DIGIT_MILLISECOND, "A three digit millisecond could not be found", string, begin);
25313
0
            break;
25314
0
          }
25315
          
25316
0
          s->time->us = (f * pow(10, 3 - (ptr - tptr)) * 1000);
25317
0
        }
25318
0
        break;
25319
0
      case TIMELIB_FORMAT_WHITESPACE: /* any sort of whitespace (' ' and \t) */
25320
0
        timelib_eat_spaces(&ptr);
25321
0
        break;
25322
0
      case TIMELIB_FORMAT_EPOCH_SECONDS: /* epoch seconds */
25323
0
        TIMELIB_CHECK_SIGNED_NUMBER;
25324
0
        tmp = timelib_get_signed_nr(s, &ptr, 24);
25325
0
        s->time->have_zone = 1;
25326
0
        s->time->sse = tmp;
25327
0
        s->time->is_localtime = 1;
25328
0
        s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
25329
0
        s->time->z = 0;
25330
0
        s->time->dst = 0;
25331
0
        timelib_update_from_sse(s->time);
25332
0
        break;
25333
25334
0
      case TIMELIB_FORMAT_ANY_SEPARATOR: /* separation symbol */
25335
0
        if (timelib_lookup_format(*ptr, format_map) != TIMELIB_FORMAT_SEPARATOR) {
25336
0
          add_pbf_error(s, TIMELIB_ERR_NO_SEP_SYMBOL, "The separation symbol ([;:/.,-]) could not be found", string, begin);
25337
0
          break;
25338
0
        }
25339
        
25340
0
        ++ptr;
25341
0
        break;
25342
25343
0
      case TIMELIB_FORMAT_SEPARATOR:
25344
0
        if (*ptr != *fptr) {
25345
0
          add_pbf_error(s, TIMELIB_ERR_NO_SEP_SYMBOL, "The separation symbol could not be found", string, begin);
25346
0
          break;
25347
0
        }
25348
25349
0
        ++ptr;
25350
0
        break;
25351
25352
0
      case TIMELIB_FORMAT_RESET_ALL: /* reset all fields to default */
25353
0
        timelib_time_reset_fields(s->time);
25354
0
        break; /* break intentionally not missing */
25355
25356
0
      case TIMELIB_FORMAT_RESET_ALL_WHEN_NOT_SET: /* reset all fields to default when not set */
25357
0
        timelib_time_reset_unset_fields(s->time);
25358
0
        break; /* break intentionally not missing */
25359
25360
0
      case TIMELIB_FORMAT_RANDOM_CHAR: /* random char */
25361
0
        ++ptr;
25362
0
        break;
25363
25364
0
      case TIMELIB_FORMAT_ESCAPE: /* escaped char */
25365
0
        if (!fptr[1]) {
25366
0
          add_pbf_error(s, TIMELIB_ERR_EXPECTED_ESCAPE_CHAR, "Escaped character expected", string, begin);
25367
0
          break;
25368
0
        }
25369
0
        fptr++;
25370
0
        if (*ptr != *fptr) {
25371
0
          add_pbf_error(s, TIMELIB_ERR_NO_ESCAPED_CHAR, "The escaped character could not be found", string, begin);
25372
0
          break;
25373
0
        }
25374
25375
0
        ++ptr;
25376
0
        break;
25377
25378
0
      case TIMELIB_FORMAT_SKIP_TO_SEPARATOR: /* random chars until a separator or number ([ \t.,:;/-0123456789]) */
25379
0
        timelib_eat_until_separator(&ptr);
25380
0
        break;
25381
25382
0
      case TIMELIB_FORMAT_ALLOW_EXTRA_CHARACTERS: /* allow extra chars in the format */
25383
0
        allow_extra = true;
25384
0
        break;
25385
0
      case TIMELIB_FORMAT_YEAR_ISO:
25386
0
        if ((iso_year = timelib_get_nr(&ptr, 4)) == TIMELIB_UNSET) {
25387
0
          add_pbf_error(s, TIMELIB_ERR_NO_FOUR_DIGIT_YEAR_ISO, "A four digit ISO year could not be found", string, begin);
25388
0
          break;
25389
0
        }
25390
25391
0
        s->time->have_date = 1;
25392
0
        break;
25393
0
      case TIMELIB_FORMAT_WEEK_OF_YEAR_ISO:
25394
0
        if ((iso_week_of_year = timelib_get_nr(&ptr, 2)) == TIMELIB_UNSET) {
25395
0
          add_pbf_error(s, TIMELIB_ERR_NO_TWO_DIGIT_WEEK, "A two digit ISO week could not be found", string, begin);
25396
0
          break;
25397
0
        }
25398
        /* Range is 1 - 53  for ISO week of year */
25399
0
        if (iso_week_of_year < 1 || iso_week_of_year > 53) {
25400
0
          add_pbf_error(s, TIMELIB_ERR_INVALID_WEEK, "ISO Week must be between 1 and 53", string, begin);
25401
0
          break;
25402
0
        }
25403
25404
0
        s->time->have_date = 1;
25405
0
        break;
25406
0
      case TIMELIB_FORMAT_DAY_OF_WEEK_ISO:
25407
0
        if ((iso_day_of_week = timelib_get_nr(&ptr, 1)) == TIMELIB_UNSET) {
25408
0
          add_pbf_error(s, TIMELIB_ERR_NO_DAY_OF_WEEK, "A single digit day of week could not be found", string, begin);
25409
0
          break;
25410
0
        }
25411
0
        if (iso_day_of_week < 1 || iso_day_of_week > 7) {
25412
0
          add_pbf_error(s, TIMELIB_ERR_INVALID_DAY_OF_WEEK, "Day of week must be between 1 and 7", string, begin);
25413
0
          break;
25414
0
        }
25415
25416
0
        s->time->have_date = 1;
25417
0
        break;
25418
0
      case TIMELIB_FORMAT_TIMEZONE_OFFSET: /* timezone */
25419
0
        {
25420
0
          int tz_not_found;
25421
25422
0
          s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
25423
0
          if (tz_not_found) {
25424
0
            add_pbf_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database", string, begin);
25425
0
            break;
25426
0
          }
25427
25428
0
          s->time->have_zone = 1;
25429
0
        }
25430
0
        break;
25431
0
      case TIMELIB_FORMAT_TIMEZONE_OFFSET_MINUTES: /* timezone format +/-mmm */
25432
0
        s->time->z = timelib_parse_tz_minutes(&ptr, s->time);
25433
0
        if (s->time->z == TIMELIB_UNSET) {
25434
0
          add_pbf_error(s, TIMELIB_ERR_INVALID_TZ_OFFSET, "Invalid timezone offset in minutes", string, begin);
25435
0
          break;
25436
0
        }
25437
25438
0
        s->time->have_zone = 1;
25439
0
        break;
25440
0
      case TIMELIB_FORMAT_LITERAL:
25441
0
      default:
25442
0
        if (*fptr != *ptr) {
25443
0
          add_pbf_error(s, TIMELIB_ERR_WRONG_FORMAT_SEP, "The format separator does not match", string, begin);
25444
0
        }
25445
0
        ptr++;
25446
0
    }
25447
0
    fptr++;
25448
0
  }
25449
0
  if (*ptr) {
25450
0
    if (allow_extra) {
25451
0
      add_pbf_warning(s, TIMELIB_WARN_TRAILING_DATA, "Trailing data", string, ptr);
25452
0
    } else {
25453
0
      add_pbf_error(s, TIMELIB_ERR_TRAILING_DATA, "Trailing data", string, ptr);
25454
0
    }
25455
0
  }
25456
25457
0
  if (*fptr) {
25458
    /* Trailing reset specifiers are valid. */
25459
0
    int done = 0;
25460
0
    while (*fptr && !done) {
25461
0
      switch (timelib_lookup_format(*fptr, format_map)) {
25462
0
        case TIMELIB_FORMAT_RESET_ALL: /* reset all fields to default */
25463
0
          timelib_time_reset_fields(s->time);
25464
0
          break;
25465
25466
0
        case TIMELIB_FORMAT_RESET_ALL_WHEN_NOT_SET: /* reset all fields to default when not set */
25467
0
          timelib_time_reset_unset_fields(s->time);
25468
0
          break;
25469
0
        case TIMELIB_FORMAT_ALLOW_EXTRA_CHARACTERS:
25470
0
          break;
25471
25472
0
        default:
25473
0
          add_pbf_error(s, TIMELIB_ERR_DATA_MISSING, "Not enough data available to satisfy format", string, ptr);
25474
0
          done = 1;
25475
0
      }
25476
0
      fptr++;
25477
0
    }
25478
0
  }
25479
25480
  /* clean up a bit */
25481
0
  if (s->time->h != TIMELIB_UNSET || s->time->i != TIMELIB_UNSET || s->time->s != TIMELIB_UNSET || s->time->us != TIMELIB_UNSET) {
25482
0
    if (s->time->h == TIMELIB_UNSET ) {
25483
0
      s->time->h = 0;
25484
0
    }
25485
0
    if (s->time->i == TIMELIB_UNSET ) {
25486
0
      s->time->i = 0;
25487
0
    }
25488
0
    if (s->time->s == TIMELIB_UNSET ) {
25489
0
      s->time->s = 0;
25490
0
    }
25491
0
    if (s->time->us == TIMELIB_UNSET ) {
25492
0
      s->time->us = 0;
25493
0
    }
25494
0
  }
25495
25496
  /* Check for mixing of ISO dates with natural dates. */
25497
0
  if (s->time->y != TIMELIB_UNSET && (iso_week_of_year != TIMELIB_UNSET || iso_year != TIMELIB_UNSET || iso_day_of_week != TIMELIB_UNSET)) {
25498
0
    add_pbf_error(s, TIMELIB_ERR_MIX_ISO_WITH_NATURAL, "Mixing of ISO dates with natural dates is not allowed", string, ptr);
25499
0
  }
25500
0
  if (iso_year != TIMELIB_UNSET && (s->time->y != TIMELIB_UNSET || s->time->m != TIMELIB_UNSET || s->time->d != TIMELIB_UNSET)) {
25501
0
    add_pbf_error(s, TIMELIB_ERR_MIX_ISO_WITH_NATURAL, "Mixing of ISO dates with natural dates is not allowed", string, ptr);
25502
0
  }
25503
25504
  /* Convert ISO values */
25505
0
  if (iso_year != TIMELIB_UNSET) {
25506
    /* Default week of year and day of week to 1. */
25507
0
    if (iso_week_of_year == TIMELIB_UNSET) {
25508
0
      iso_week_of_year = 1;
25509
0
    }
25510
0
    if (iso_day_of_week == TIMELIB_UNSET) {
25511
0
      iso_day_of_week = 1;
25512
0
    }
25513
0
    timelib_date_from_isodate(iso_year, iso_week_of_year, iso_day_of_week, &s->time->y, &s->time->m, &s->time->d);
25514
0
  } else if (iso_week_of_year != TIMELIB_UNSET || iso_day_of_week != TIMELIB_UNSET) {
25515
0
    add_pbf_warning(s, TIMELIB_WARN_INVALID_DATE, "The parsed date was invalid", string, ptr);
25516
0
  }
25517
25518
  /* do funky checking whether the parsed time was valid time */
25519
0
  if (s->time->h != TIMELIB_UNSET && s->time->i != TIMELIB_UNSET &&
25520
0
    s->time->s != TIMELIB_UNSET &&
25521
0
    !timelib_valid_time( s->time->h, s->time->i, s->time->s)) {
25522
0
    add_pbf_warning(s, TIMELIB_WARN_INVALID_TIME, "The parsed time was invalid", string, ptr);
25523
0
  }
25524
  /* do funky checking whether the parsed date was valid date */
25525
0
  if (s->time->y != TIMELIB_UNSET && s->time->m != TIMELIB_UNSET &&
25526
0
    s->time->d != TIMELIB_UNSET &&
25527
0
    !timelib_valid_date( s->time->y, s->time->m, s->time->d)) {
25528
0
    add_pbf_warning(s, TIMELIB_WARN_INVALID_DATE, "The parsed date was invalid", string, ptr);
25529
0
  }
25530
25531
0
  if (errors) {
25532
0
    *errors = in.errors;
25533
0
  } else {
25534
0
    timelib_error_container_dtor(in.errors);
25535
0
  }
25536
0
  return in.time;
25537
0
}
25538
25539
void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options)
25540
295
{
25541
295
  if (!(options & TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) {
25542
16
    parsed->h = 0;
25543
16
    parsed->i = 0;
25544
16
    parsed->s = 0;
25545
16
    parsed->us = 0;
25546
16
  }
25547
295
  if (
25548
295
    parsed->y != TIMELIB_UNSET || parsed->m != TIMELIB_UNSET || parsed->d != TIMELIB_UNSET ||
25549
201
    parsed->h != TIMELIB_UNSET || parsed->i != TIMELIB_UNSET || parsed->s != TIMELIB_UNSET
25550
295
  ) {
25551
271
    if (parsed->us == TIMELIB_UNSET) parsed->us = 0;
25552
271
  } else {
25553
24
    if (parsed->us == TIMELIB_UNSET) parsed->us = now->us != TIMELIB_UNSET ? now->us : 0;
25554
24
  }
25555
295
  if (parsed->y == TIMELIB_UNSET) parsed->y = now->y != TIMELIB_UNSET ? now->y : 0;
25556
295
  if (parsed->m == TIMELIB_UNSET) parsed->m = now->m != TIMELIB_UNSET ? now->m : 0;
25557
295
  if (parsed->d == TIMELIB_UNSET) parsed->d = now->d != TIMELIB_UNSET ? now->d : 0;
25558
295
  if (parsed->h == TIMELIB_UNSET) parsed->h = now->h != TIMELIB_UNSET ? now->h : 0;
25559
295
  if (parsed->i == TIMELIB_UNSET) parsed->i = now->i != TIMELIB_UNSET ? now->i : 0;
25560
295
  if (parsed->s == TIMELIB_UNSET) parsed->s = now->s != TIMELIB_UNSET ? now->s : 0;
25561
25562
295
  if (!parsed->tz_info) {
25563
293
    parsed->tz_info = now->tz_info ? (!(options & TIMELIB_NO_CLONE) ? timelib_tzinfo_clone(now->tz_info) : now->tz_info) : NULL;
25564
25565
293
    if (parsed->z == TIMELIB_UNSET) parsed->z = now->z != TIMELIB_UNSET ? now->z : 0;
25566
293
    if (parsed->dst == TIMELIB_UNSET) parsed->dst = now->dst != TIMELIB_UNSET ? now->dst : 0;
25567
25568
293
    if (!parsed->tz_abbr) {
25569
284
      parsed->tz_abbr = now->tz_abbr ? timelib_strdup(now->tz_abbr) : NULL;
25570
284
    }
25571
293
  }
25572
25573
295
  if (parsed->zone_type == 0 && now->zone_type != 0) {
25574
243
    parsed->zone_type = now->zone_type;
25575
/*    parsed->tz_abbr = now->tz_abbr ? timelib_strdup(now->tz_abbr) : NULL;
25576
    parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL;
25577
243
*/    parsed->is_localtime = 1;
25578
243
  }
25579
/*  timelib_dump_date(parsed, 2);
25580
  timelib_dump_date(now, 2);
25581
*/
25582
295
}
25583
25584
const char *timelib_timezone_id_from_abbr(const char *abbr, timelib_long gmtoffset, int isdst)
25585
0
{
25586
0
  const timelib_tz_lookup_table *tp;
25587
25588
0
  tp = abbr_search(abbr, gmtoffset, isdst);
25589
0
  if (tp) {
25590
0
    return (tp->full_tz_name);
25591
0
  } else {
25592
0
    return NULL;
25593
0
  }
25594
0
}
25595
25596
const timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void)
25597
0
{
25598
0
  return timelib_timezone_lookup;
25599
0
}
25600
25601
#ifdef DEBUG_PARSER_STUB
25602
int main(void)
25603
{
25604
  timelib_time time = timelib_strtotime("May 12");
25605
25606
  printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d",
25607
    time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst);
25608
  if (time.have_relative) {
25609
    printf ("%3dY %3dM %3dD / %3dH %3dM %3dS",
25610
      time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s);
25611
  }
25612
  if (time.have_weekday_relative) {
25613
    printf (" / %d", time.relative.weekday);
25614
  }
25615
  if (time.have_weeknr_day) {
25616
    printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek);
25617
  }
25618
  return 0;
25619
}
25620
#endif
25621
25622
/*
25623
 * vim: syntax=c
25624
 */