Coverage Report

Created: 2025-12-14 06:09

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/php-src/Zend/zend_ini_scanner.c
Line
Count
Source
1
/* Generated by re2c 1.3 */
2
#line 1 "Zend/zend_ini_scanner.l"
3
/*
4
   +----------------------------------------------------------------------+
5
   | Zend Engine                                                          |
6
   +----------------------------------------------------------------------+
7
   | Copyright (c) Zend Technologies Ltd. (http://www.zend.com)           |
8
   +----------------------------------------------------------------------+
9
   | This source file is subject to version 2.00 of the Zend license,     |
10
   | that is bundled with this package in the file LICENSE, and is        |
11
   | available through the world-wide-web at the following url:           |
12
   | http://www.zend.com/license/2_00.txt.                                |
13
   | If you did not receive a copy of the Zend license and are unable to  |
14
   | obtain it through the world-wide-web, please send a note to          |
15
   | license@zend.com so we can mail you a copy immediately.              |
16
   +----------------------------------------------------------------------+
17
   | Authors: Zeev Suraski <zeev@php.net>                                 |
18
   |          Jani Taskinen <jani@php.net>                                |
19
   |          Marcus Boerger <helly@php.net>                              |
20
   |          Nuno Lopes <nlopess@php.net>                                |
21
   |          Scott MacVicar <scottmac@php.net>                           |
22
   +----------------------------------------------------------------------+
23
*/
24
25
#include <errno.h>
26
#include "zend.h"
27
#include "zend_API.h"
28
#include "zend_globals.h"
29
#include <zend_ini_parser.h>
30
#include "zend_ini_scanner.h"
31
32
#ifdef YYDEBUG
33
#undef YYDEBUG
34
#endif
35
36
#if 0
37
# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
38
#else
39
# define YYDEBUG(s, c)
40
#endif
41
42
#include "zend_ini_scanner_defs.h"
43
44
1.95M
#define YYCTYPE   unsigned char
45
/* allow the scanner to read one null byte after the end of the string (from ZEND_MMAP_AHEAD)
46
 * so that if will be able to terminate to match the current token (e.g. non-enclosed string) */
47
15.2M
#define YYFILL(n) { if (YYCURSOR > YYLIMIT) return 0; }
48
53.3M
#define YYCURSOR  SCNG(yy_cursor)
49
21.8M
#define YYLIMIT   SCNG(yy_limit)
50
3.89M
#define YYMARKER  SCNG(yy_marker)
51
52
6.28M
#define YYGETCONDITION()  SCNG(yy_state)
53
1.04M
#define YYSETCONDITION(s) SCNG(yy_state) = s
54
55
23.8k
#define STATE(name)  yyc##name
56
57
/* emulate flex constructs */
58
254k
#define BEGIN(state) YYSETCONDITION(STATE(state))
59
23.8k
#define YYSTATE      YYGETCONDITION()
60
1.99M
#define yytext       ((const char*)SCNG(yy_text))
61
4.05M
#define yyleng       SCNG(yy_leng)
62
2.15k
#define yyless(x)    do { YYCURSOR = (const unsigned char*)yytext + x; \
63
2.15k
              yyleng   = (unsigned int)x; } while(0)
64
65
/* #define yymore()     goto yymore_restart */
66
67
/* perform sanity check. If this message is triggered you should
68
   increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
69
#define YYMAXFILL 6
70
71
#if ZEND_MMAP_AHEAD < (YYMAXFILL + 1)
72
# error ZEND_MMAP_AHEAD should be greater than YYMAXFILL
73
#endif
74
75
76
/* How it works (for the core ini directives):
77
 * ===========================================
78
 *
79
 * 1. Scanner scans file for tokens and passes them to parser.
80
 * 2. Parser parses the tokens and passes the name/value pairs to the callback
81
 *    function which stores them in the configuration hash table.
82
 * 3. Later REGISTER_INI_ENTRIES() is called which triggers the actual
83
 *    registering of ini entries and uses zend_get_configuration_directive()
84
 *    to fetch the previously stored name/value pair from configuration hash table
85
 *    and registers the static ini entries which match the name to the value
86
 *    into EG(ini_directives) hash table.
87
 * 4. PATH section entries are used per-request from down to top, each overriding
88
 *    previous if one exists. zend_alter_ini_entry() is called for each entry.
89
 *    Settings in PATH section are ZEND_INI_SYSTEM accessible and thus mimics the
90
 *    php_admin_* directives used within Apache httpd.conf when PHP is compiled as
91
 *    module for Apache.
92
 * 5. User defined ini files (like .htaccess for apache) are parsed for each request and
93
 *    stored in separate hash defined by SAPI.
94
 */
95
96
/* TODO: (ordered by importance :-)
97
 * ===============================================================================
98
 *
99
 *  - Separate constant lookup totally from plain strings (using CONSTANT pattern)
100
 *  - Add #if .. #else .. #endif and ==, !=, <, > , <=, >= operators
101
 *  - Add #include "some.ini"
102
 *  - Allow variables to refer to options also when using parse_ini_file()
103
 *
104
 */
105
106
/* Globals Macros */
107
101M
#define SCNG  INI_SCNG
108
#ifdef ZTS
109
ZEND_API ts_rsrc_id ini_scanner_globals_id;
110
ZEND_API size_t ini_scanner_globals_offset;
111
#else
112
ZEND_API zend_ini_scanner_globals ini_scanner_globals;
113
#endif
114
115
#define ZEND_SYSTEM_INI CG(ini_parser_unbuffered_errors)
116
117
/* Eat leading whitespace */
118
#define EAT_LEADING_WHITESPACE()                     \
119
257k
  while (yyleng) {                                 \
120
257k
    if (yytext[0] == ' ' || yytext[0] == '\t') { \
121
15.1k
      SCNG(yy_text)++;                         \
122
15.1k
      yyleng--;                                \
123
242k
    } else {                                     \
124
242k
      break;                                   \
125
242k
    }                                            \
126
257k
  }
127
128
/* Eat trailing whitespace + extra char */
129
#define EAT_TRAILING_WHITESPACE_EX(ch)              \
130
301k
  while (yyleng && (                              \
131
301k
    (ch != 'X' && yytext[yyleng - 1] ==  ch) || \
132
301k
    yytext[yyleng - 1] == '\n' ||               \
133
301k
    yytext[yyleng - 1] == '\r' ||               \
134
301k
    yytext[yyleng - 1] == '\t' ||               \
135
301k
    yytext[yyleng - 1] == ' ')                  \
136
242k
  ) {                                             \
137
59.2k
    yyleng--;                                   \
138
59.2k
  }
139
140
/* Eat trailing whitespace */
141
238k
#define EAT_TRAILING_WHITESPACE() EAT_TRAILING_WHITESPACE_EX('X')
142
143
#define zend_ini_copy_value(retval, str, len) \
144
825k
  ZVAL_NEW_STR(retval, zend_string_init(str, len, ZEND_SYSTEM_INI))
145
146
147
617k
#define RETURN_TOKEN(type, str, len) {                             \
148
617k
  if (SCNG(scanner_mode) == ZEND_INI_SCANNER_TYPED &&            \
149
617k
    (YYSTATE == STATE(ST_VALUE) || YYSTATE == STATE(ST_RAW))) {\
150
230
    zend_ini_copy_typed_value(ini_lval, type, str, len);       \
151
230
    Z_EXTRA_P(ini_lval) = 0;                                   \
152
617k
  } else {                                                       \
153
617k
    zend_ini_copy_value(ini_lval, str, len);                   \
154
617k
  }                                                              \
155
617k
  return type;                                                   \
156
617k
}
157
158
static void zend_ini_copy_typed_value(zval *retval, const int type, const char *str, int len)
159
230
{
160
230
  switch (type) {
161
0
    case BOOL_FALSE:
162
68
    case BOOL_TRUE:
163
68
      ZVAL_BOOL(retval, type == BOOL_TRUE);
164
68
      break;
165
166
20
    case NULL_NULL:
167
20
      ZVAL_NULL(retval);
168
20
      break;
169
170
142
    default:
171
142
      zend_ini_copy_value(retval, str, len);
172
230
  }
173
230
}
174
175
static void _yy_push_state(int new_state)
176
397k
{
177
397k
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
178
397k
  YYSETCONDITION(new_state);
179
397k
}
180
181
397k
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
182
183
static void yy_pop_state(void)
184
393k
{
185
393k
  int *stack_state = zend_stack_top(&SCNG(state_stack));
186
393k
  YYSETCONDITION(*stack_state);
187
393k
  zend_stack_del_top(&SCNG(state_stack));
188
393k
}
189
190
static void yy_scan_buffer(const char *str, unsigned int len)
191
29.6k
{
192
29.6k
  YYCURSOR = (const YYCTYPE*)str;
193
29.6k
  SCNG(yy_start) = YYCURSOR;
194
29.6k
  YYLIMIT  = YYCURSOR + len;
195
29.6k
}
196
197
78.8k
#define ini_filename SCNG(filename)
198
199
/* {{{ init_ini_scanner() */
200
static zend_result init_ini_scanner(int scanner_mode, zend_file_handle *fh)
201
29.6k
{
202
  /* Sanity check */
203
29.6k
  if (scanner_mode != ZEND_INI_SCANNER_NORMAL && scanner_mode != ZEND_INI_SCANNER_RAW && scanner_mode != ZEND_INI_SCANNER_TYPED) {
204
2
    zend_error(E_WARNING, "Invalid scanner mode");
205
2
    return FAILURE;
206
2
  }
207
208
29.6k
  SCNG(lineno) = 1;
209
29.6k
  SCNG(scanner_mode) = scanner_mode;
210
29.6k
  SCNG(yy_in) = fh;
211
212
29.6k
  if (fh != NULL) {
213
0
    ini_filename = zend_string_copy(fh->filename);
214
29.6k
  } else {
215
29.6k
    ini_filename = NULL;
216
29.6k
  }
217
218
29.6k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
219
29.6k
  BEGIN(INITIAL);
220
221
29.6k
  return SUCCESS;
222
29.6k
}
223
/* }}} */
224
225
/* {{{ shutdown_ini_scanner() */
226
void shutdown_ini_scanner(void)
227
29.6k
{
228
29.6k
  zend_stack_destroy(&SCNG(state_stack));
229
29.6k
  if (ini_filename) {
230
0
    zend_string_release(ini_filename);
231
0
  }
232
29.6k
}
233
/* }}} */
234
235
/* {{{ zend_ini_scanner_get_lineno() */
236
ZEND_COLD uint32_t zend_ini_scanner_get_lineno(void)
237
19.4k
{
238
19.4k
  return SCNG(lineno);
239
19.4k
}
240
/* }}} */
241
242
/* {{{ zend_ini_scanner_get_filename() */
243
ZEND_COLD const char *zend_ini_scanner_get_filename(void)
244
19.4k
{
245
19.4k
  return ini_filename ? ZSTR_VAL(ini_filename) : "Unknown";
246
19.4k
}
247
/* }}} */
248
249
/* {{{ zend_ini_open_file_for_scanning() */
250
zend_result zend_ini_open_file_for_scanning(zend_file_handle *fh, int scanner_mode)
251
4
{
252
4
  char *buf;
253
4
  size_t size;
254
255
4
  if (zend_stream_fixup(fh, &buf, &size) == FAILURE) {
256
2
    return FAILURE;
257
2
  }
258
259
2
  if (init_ini_scanner(scanner_mode, fh) == FAILURE) {
260
2
    return FAILURE;
261
2
  }
262
263
0
  yy_scan_buffer(buf, (unsigned int)size);
264
265
0
  return SUCCESS;
266
2
}
267
/* }}} */
268
269
/* {{{ zend_ini_prepare_string_for_scanning() */
270
zend_result zend_ini_prepare_string_for_scanning(const char *str, int scanner_mode)
271
29.6k
{
272
29.6k
  int len = (int)strlen(str);
273
274
29.6k
  if (init_ini_scanner(scanner_mode, NULL) == FAILURE) {
275
0
    return FAILURE;
276
0
  }
277
278
29.6k
  yy_scan_buffer(str, len);
279
280
29.6k
  return SUCCESS;
281
29.6k
}
282
/* }}} */
283
284
/* {{{ zend_ini_escape_string() */
285
static void zend_ini_escape_string(zval *lval, const char *str, int len, char quote_type)
286
207k
{
287
207k
  char *s, *t;
288
207k
  char *end;
289
290
207k
  zend_ini_copy_value(lval, str, len);
291
292
  /* convert escape sequences */
293
207k
  s = t = Z_STRVAL_P(lval);
294
207k
  end = s + Z_STRLEN_P(lval);
295
296
4.35M
  while (s < end) {
297
4.15M
    if (*s == '\\') {
298
20.9k
      s++;
299
20.9k
      if (s >= end) {
300
13
        *t++ = '\\';
301
13
        continue;
302
13
      }
303
20.8k
      switch (*s) {
304
392
        case '"':
305
392
          if (*s != quote_type) {
306
0
            *t++ = '\\';
307
0
            *t++ = *s;
308
0
            break;
309
0
          }
310
392
          ZEND_FALLTHROUGH;
311
4.48k
        case '\\':
312
4.56k
        case '$':
313
4.56k
          *t++ = *s;
314
4.56k
          Z_STRLEN_P(lval)--;
315
4.56k
          break;
316
16.3k
        default:
317
16.3k
          *t++ = '\\';
318
16.3k
          *t++ = *s;
319
16.3k
          break;
320
20.8k
      }
321
4.13M
    } else {
322
4.13M
      *t++ = *s;
323
4.13M
    }
324
4.15M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
325
104k
      SCNG(lineno)++;
326
104k
    }
327
4.15M
    s++;
328
4.15M
  }
329
207k
  *t = 0;
330
207k
}
331
/* }}} */
332
333
int ini_lex(zval *ini_lval)
334
1.96M
{
335
1.96M
restart:
336
1.96M
  SCNG(yy_text) = YYCURSOR;
337
338
/* yymore_restart: */
339
  /* detect EOF */
340
1.96M
  if (YYCURSOR >= YYLIMIT) {
341
13.3k
    if (YYSTATE == STATE(ST_VALUE) || YYSTATE == STATE(ST_RAW)) {
342
3.55k
      BEGIN(INITIAL);
343
3.55k
      return END_OF_LINE;
344
3.55k
    }
345
9.76k
    return 0;
346
13.3k
  }
347
348
  /* Eat any UTF-8 BOM we find in the first 3 bytes */
349
1.95M
  if (YYCURSOR == SCNG(yy_start) && YYCURSOR + 3 < YYLIMIT) {
350
28.6k
    if (memcmp(YYCURSOR, "\xef\xbb\xbf", 3) == 0) {
351
529
      YYCURSOR += 3;
352
529
      goto restart;
353
529
    }
354
28.6k
  }
355
356
1.95M
#line 357 "Zend/zend_ini_scanner.c"
357
1.95M
{
358
1.95M
  YYCTYPE yych;
359
1.95M
  unsigned int yyaccept = 0;
360
1.95M
  if (YYGETCONDITION() < 4) {
361
1.35M
    if (YYGETCONDITION() < 2) {
362
791k
      if (YYGETCONDITION() < 1) {
363
494k
        goto yyc_INITIAL;
364
494k
      } else {
365
297k
        goto yyc_ST_OFFSET;
366
297k
      }
367
791k
    } else {
368
561k
      if (YYGETCONDITION() < 3) {
369
50.1k
        goto yyc_ST_SECTION_VALUE;
370
511k
      } else {
371
511k
        goto yyc_ST_VALUE;
372
511k
      }
373
561k
    }
374
1.35M
  } else {
375
601k
    if (YYGETCONDITION() < 6) {
376
601k
      if (YYGETCONDITION() < 5) {
377
32
        goto yyc_ST_SECTION_RAW;
378
601k
      } else {
379
601k
        goto yyc_ST_DOUBLE_QUOTES;
380
601k
      }
381
601k
    } else {
382
140
      if (YYGETCONDITION() < 7) {
383
4
        goto yyc_ST_VAR_FALLBACK;
384
136
      } else {
385
136
        if (YYGETCONDITION() < 8) {
386
4
          goto yyc_ST_VARNAME;
387
132
        } else {
388
132
          goto yyc_ST_RAW;
389
132
        }
390
136
      }
391
140
    }
392
601k
  }
393
/* *********************************** */
394
494k
yyc_INITIAL:
395
494k
  {
396
494k
    static const unsigned char yybm[] = {
397
494k
      128, 144, 144, 144, 144, 144, 144, 144, 
398
494k
      144, 160,   0, 144, 144,   0, 144, 144, 
399
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
400
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
401
494k
      240, 128, 128, 144, 128, 144, 128, 144, 
402
494k
      128, 128, 144, 144, 144, 144, 144, 144, 
403
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
404
494k
      144, 144, 144, 128, 144, 128, 144, 144, 
405
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
406
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
407
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
408
494k
      144, 144, 144, 128, 144, 128, 128, 144, 
409
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
410
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
411
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
412
494k
      144, 144, 144, 128, 128, 128, 128, 144, 
413
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
414
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
415
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
416
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
417
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
418
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
419
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
420
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
421
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
422
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
423
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
424
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
425
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
426
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
427
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
428
494k
      144, 144, 144, 144, 144, 144, 144, 144, 
429
494k
    };
430
494k
    YYDEBUG(1, *YYCURSOR);
431
494k
    YYFILL(5);
432
494k
    yych = *YYCURSOR;
433
494k
    if (yybm[0+yych] & 64) {
434
5.95k
      goto yy14;
435
5.95k
    }
436
488k
    if (yych <= 'M') {
437
337k
      if (yych <= '$') {
438
117k
        if (yych <= '\f') {
439
65.2k
          if (yych <= 0x08) {
440
574
            if (yych >= 0x01) goto yy5;
441
64.6k
          } else {
442
64.6k
            if (yych <= '\t') goto yy8;
443
61.2k
            if (yych <= '\n') goto yy11;
444
13.4k
            goto yy5;
445
61.2k
          }
446
65.2k
        } else {
447
51.9k
          if (yych <= 0x1F) {
448
50.3k
            if (yych <= '\r') goto yy13;
449
1.43k
            goto yy5;
450
50.3k
          } else {
451
1.65k
            if (yych == '#') goto yy5;
452
1.49k
            goto yy16;
453
1.65k
          }
454
51.9k
        }
455
220k
      } else {
456
220k
        if (yych <= ':') {
457
71.7k
          if (yych <= '&') {
458
211
            if (yych <= '%') goto yy5;
459
164
            goto yy16;
460
71.5k
          } else {
461
71.5k
            if (yych <= '\'') goto yy5;
462
71.1k
            if (yych <= ')') goto yy16;
463
70.0k
            goto yy5;
464
71.1k
          }
465
148k
        } else {
466
148k
          if (yych <= '=') {
467
143k
            if (yych <= ';') goto yy18;
468
82.7k
            if (yych <= '<') goto yy5;
469
82.0k
            goto yy20;
470
82.7k
          } else {
471
4.96k
            if (yych == 'F') goto yy23;
472
4.82k
            goto yy5;
473
4.96k
          }
474
148k
        }
475
220k
      }
476
337k
    } else {
477
151k
      if (yych <= 'e') {
478
34.8k
        if (yych <= 'X') {
479
869
          if (yych <= 'O') {
480
305
            if (yych <= 'N') goto yy24;
481
129
            goto yy25;
482
564
          } else {
483
564
            if (yych == 'T') goto yy26;
484
260
            goto yy5;
485
564
          }
486
33.9k
        } else {
487
33.9k
          if (yych <= '[') {
488
4.07k
            if (yych <= 'Y') goto yy27;
489
4.06k
            if (yych <= 'Z') goto yy5;
490
4.06k
            goto yy28;
491
29.8k
          } else {
492
29.8k
            if (yych <= '\\') goto yy5;
493
29.8k
            if (yych <= '^') goto yy16;
494
29.3k
            goto yy5;
495
29.8k
          }
496
33.9k
        }
497
116k
      } else {
498
116k
        if (yych <= 's') {
499
15.2k
          if (yych <= 'm') {
500
2.67k
            if (yych <= 'f') goto yy23;
501
577
            goto yy5;
502
12.6k
          } else {
503
12.6k
            if (yych <= 'n') goto yy24;
504
12.3k
            if (yych <= 'o') goto yy25;
505
2.20k
            goto yy5;
506
12.3k
          }
507
100k
        } else {
508
100k
          if (yych <= 'y') {
509
7.34k
            if (yych <= 't') goto yy26;
510
350
            if (yych <= 'x') goto yy5;
511
102
            goto yy27;
512
93.6k
          } else {
513
93.6k
            if (yych <= 'z') goto yy5;
514
93.0k
            if (yych <= '~') goto yy16;
515
92.0k
            goto yy5;
516
93.0k
          }
517
100k
        }
518
116k
      }
519
151k
    }
520
0
    YYDEBUG(3, *YYCURSOR);
521
0
    ++YYCURSOR;
522
0
    YYDEBUG(4, *YYCURSOR);
523
0
    yyleng = YYCURSOR - SCNG(yy_text);
524
0
#line 686 "Zend/zend_ini_scanner.l"
525
0
    {
526
0
  return 0;
527
488k
}
528
0
#line 529 "Zend/zend_ini_scanner.c"
529
1.50M
yy5:
530
1.50M
    YYDEBUG(5, *YYCURSOR);
531
1.50M
    ++YYCURSOR;
532
1.50M
    YYFILL(1);
533
1.50M
    yych = *YYCURSOR;
534
1.51M
yy6:
535
1.51M
    YYDEBUG(6, *YYCURSOR);
536
1.51M
    if (yybm[0+yych] & 16) {
537
1.27M
      goto yy5;
538
1.27M
    }
539
242k
    if (yych <= '=') goto yy7;
540
5.49k
    if (yych <= '[') goto yy30;
541
237k
yy7:
542
237k
    YYDEBUG(7, *YYCURSOR);
543
237k
    yyleng = YYCURSOR - SCNG(yy_text);
544
237k
#line 503 "Zend/zend_ini_scanner.l"
545
237k
    { /* Get option name */
546
  /* Eat leading whitespace */
547
237k
  EAT_LEADING_WHITESPACE();
548
549
  /* Eat trailing whitespace */
550
237k
  EAT_TRAILING_WHITESPACE();
551
552
237k
  RETURN_TOKEN(TC_LABEL, yytext, yyleng);
553
0
}
554
0
#line 555 "Zend/zend_ini_scanner.c"
555
5.75k
yy8:
556
5.75k
    YYDEBUG(8, *YYCURSOR);
557
5.75k
    ++YYCURSOR;
558
5.75k
    YYFILL(2);
559
5.75k
    yych = *YYCURSOR;
560
5.75k
    YYDEBUG(9, *YYCURSOR);
561
5.75k
    if (yybm[0+yych] & 32) {
562
2.30k
      goto yy8;
563
2.30k
    }
564
3.44k
    if (yych <= '\r') {
565
254
      if (yych <= 0x08) goto yy10;
566
221
      if (yych <= '\n') goto yy11;
567
219
      if (yych >= '\r') goto yy13;
568
3.18k
    } else {
569
3.18k
      if (yych <= ';') {
570
90
        if (yych >= ';') goto yy18;
571
3.09k
      } else {
572
3.09k
        if (yych == '=') goto yy20;
573
3.09k
      }
574
3.18k
    }
575
3.01k
yy10:
576
3.01k
    YYDEBUG(10, *YYCURSOR);
577
3.01k
    yyleng = YYCURSOR - SCNG(yy_text);
578
3.01k
#line 665 "Zend/zend_ini_scanner.l"
579
3.01k
    {
580
  /* eat whitespace */
581
3.01k
  goto restart;
582
3.44k
}
583
0
#line 584 "Zend/zend_ini_scanner.c"
584
58.6k
yy11:
585
58.6k
    YYDEBUG(11, *YYCURSOR);
586
58.6k
    ++YYCURSOR;
587
96.9k
yy12:
588
96.9k
    YYDEBUG(12, *YYCURSOR);
589
96.9k
    yyleng = YYCURSOR - SCNG(yy_text);
590
96.9k
#line 670 "Zend/zend_ini_scanner.l"
591
96.9k
    {
592
96.9k
  SCNG(lineno)++;
593
96.9k
  return END_OF_LINE;
594
58.6k
}
595
0
#line 596 "Zend/zend_ini_scanner.c"
596
49.0k
yy13:
597
49.0k
    YYDEBUG(13, *YYCURSOR);
598
49.0k
    yych = *++YYCURSOR;
599
49.0k
    if (yych == '\n') goto yy11;
600
38.3k
    goto yy12;
601
38.3k
yy14:
602
15.5k
    YYDEBUG(14, *YYCURSOR);
603
15.5k
    ++YYCURSOR;
604
15.5k
    YYFILL(2);
605
15.5k
    yych = *YYCURSOR;
606
15.5k
    YYDEBUG(15, *YYCURSOR);
607
15.5k
    if (yybm[0+yych] & 64) {
608
9.64k
      goto yy14;
609
9.64k
    }
610
5.95k
    if (yych <= '&') {
611
538
      if (yych <= '\r') {
612
381
        if (yych <= '\t') {
613
292
          if (yych <= 0x00) goto yy7;
614
220
          if (yych <= 0x08) goto yy5;
615
47
          goto yy8;
616
220
        } else {
617
89
          if (yych <= '\n') goto yy11;
618
0
          if (yych <= '\f') goto yy5;
619
0
          goto yy13;
620
0
        }
621
381
      } else {
622
157
        if (yych <= '#') {
623
80
          if (yych <= 0x1F) goto yy5;
624
43
          if (yych <= '"') goto yy7;
625
0
          goto yy5;
626
77
        } else {
627
77
          if (yych == '%') goto yy5;
628
77
          goto yy7;
629
77
        }
630
157
      }
631
5.41k
    } else {
632
5.41k
      if (yych <= '=') {
633
2.12k
        if (yych <= ':') {
634
1.39k
          if (yych <= '\'') goto yy5;
635
1.39k
          if (yych <= ')') goto yy7;
636
1.28k
          goto yy5;
637
1.39k
        } else {
638
735
          if (yych <= ';') goto yy18;
639
730
          if (yych <= '<') goto yy5;
640
154
          goto yy20;
641
730
        }
642
3.28k
      } else {
643
3.28k
        if (yych <= '\\') {
644
583
          if (yych == '[') goto yy30;
645
583
          goto yy5;
646
2.70k
        } else {
647
2.70k
          if (yych <= '^') goto yy7;
648
2.60k
          if (yych <= 'z') goto yy5;
649
1.56k
          if (yych <= '~') goto yy7;
650
1.50k
          goto yy5;
651
1.56k
        }
652
3.28k
      }
653
5.41k
    }
654
4.27k
yy16:
655
4.27k
    YYDEBUG(16, *YYCURSOR);
656
4.27k
    ++YYCURSOR;
657
4.27k
    YYDEBUG(17, *YYCURSOR);
658
4.27k
    yyleng = YYCURSOR - SCNG(yy_text);
659
4.27k
#line 584 "Zend/zend_ini_scanner.l"
660
4.27k
    { /* Disallow these chars outside option values */
661
4.27k
  return yytext[0];
662
5.95k
}
663
0
#line 664 "Zend/zend_ini_scanner.c"
664
1.93M
yy18:
665
1.93M
    YYDEBUG(18, *YYCURSOR);
666
1.93M
    ++YYCURSOR;
667
1.93M
    YYFILL(2);
668
1.93M
    yych = *YYCURSOR;
669
1.93M
    YYDEBUG(19, *YYCURSOR);
670
1.93M
    if (yybm[0+yych] & 128) {
671
1.87M
      goto yy18;
672
1.87M
    }
673
59.2k
    if (yych <= '\n') goto yy33;
674
7.85k
    goto yy35;
675
93.6k
yy20:
676
93.6k
    YYDEBUG(20, *YYCURSOR);
677
93.6k
    ++YYCURSOR;
678
93.6k
    YYFILL(1);
679
93.6k
    yych = *YYCURSOR;
680
93.6k
    YYDEBUG(21, *YYCURSOR);
681
93.6k
    if (yych == '\t') goto yy20;
682
93.4k
    if (yych == ' ') goto yy20;
683
82.5k
    YYDEBUG(22, *YYCURSOR);
684
82.5k
    yyleng = YYCURSOR - SCNG(yy_text);
685
82.5k
#line 513 "Zend/zend_ini_scanner.l"
686
82.5k
    { /* Start option value */
687
82.5k
  if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
688
70
    BEGIN(ST_RAW);
689
82.4k
  } else {
690
82.4k
    BEGIN(ST_VALUE);
691
82.4k
  }
692
82.5k
  return '=';
693
93.4k
}
694
0
#line 695 "Zend/zend_ini_scanner.c"
695
2.22k
yy23:
696
2.22k
    YYDEBUG(23, *YYCURSOR);
697
2.22k
    yych = *++YYCURSOR;
698
2.22k
    if (yych == 'A') goto yy36;
699
1.95k
    if (yych == 'a') goto yy36;
700
1.95k
    goto yy6;
701
1.95k
yy24:
702
458
    YYDEBUG(24, *YYCURSOR);
703
458
    yych = *++YYCURSOR;
704
458
    if (yych <= 'U') {
705
45
      if (yych == 'O') goto yy37;
706
45
      if (yych <= 'T') goto yy6;
707
14
      goto yy39;
708
413
    } else {
709
413
      if (yych <= 'o') {
710
303
        if (yych <= 'n') goto yy6;
711
259
        goto yy37;
712
303
      } else {
713
110
        if (yych == 'u') goto yy39;
714
110
        goto yy6;
715
110
      }
716
413
    }
717
10.2k
yy25:
718
10.2k
    YYDEBUG(25, *YYCURSOR);
719
10.2k
    yych = *++YYCURSOR;
720
10.2k
    if (yych <= 'N') {
721
9.56k
      if (yych == 'F') goto yy40;
722
9.56k
      if (yych <= 'M') goto yy6;
723
8.56k
      goto yy41;
724
9.56k
    } else {
725
674
      if (yych <= 'f') {
726
42
        if (yych <= 'e') goto yy6;
727
3
        goto yy40;
728
632
      } else {
729
632
        if (yych == 'n') goto yy41;
730
90
        goto yy6;
731
632
      }
732
674
    }
733
7.29k
yy26:
734
7.29k
    YYDEBUG(26, *YYCURSOR);
735
7.29k
    yych = *++YYCURSOR;
736
7.29k
    if (yych == 'R') goto yy44;
737
7.29k
    if (yych == 'r') goto yy44;
738
7.07k
    goto yy6;
739
7.07k
yy27:
740
110
    YYDEBUG(27, *YYCURSOR);
741
110
    yych = *++YYCURSOR;
742
110
    if (yych == 'E') goto yy45;
743
110
    if (yych == 'e') goto yy45;
744
108
    goto yy6;
745
4.06k
yy28:
746
4.06k
    YYDEBUG(28, *YYCURSOR);
747
4.06k
    ++YYCURSOR;
748
4.06k
    YYDEBUG(29, *YYCURSOR);
749
4.06k
    yyleng = YYCURSOR - SCNG(yy_text);
750
4.06k
#line 379 "Zend/zend_ini_scanner.l"
751
4.06k
    { /* Section start */
752
  /* Enter section data lookup state */
753
4.06k
  if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
754
18
    BEGIN(ST_SECTION_RAW);
755
4.05k
  } else {
756
4.05k
    BEGIN(ST_SECTION_VALUE);
757
4.05k
  }
758
4.06k
  return TC_SECTION;
759
110
}
760
0
#line 761 "Zend/zend_ini_scanner.c"
761
5.32k
yy30:
762
5.32k
    YYDEBUG(30, *YYCURSOR);
763
5.32k
    ++YYCURSOR;
764
5.32k
    YYFILL(1);
765
5.32k
    yych = *YYCURSOR;
766
5.32k
    YYDEBUG(31, *YYCURSOR);
767
5.32k
    if (yych == '\t') goto yy30;
768
5.18k
    if (yych == ' ') goto yy30;
769
4.64k
    YYDEBUG(32, *YYCURSOR);
770
4.64k
    yyleng = YYCURSOR - SCNG(yy_text);
771
4.64k
#line 404 "Zend/zend_ini_scanner.l"
772
4.64k
    { /* Start of option with offset */
773
  /* Eat leading whitespace */
774
4.64k
  EAT_LEADING_WHITESPACE();
775
776
  /* Eat trailing whitespace and [ */
777
4.64k
  EAT_TRAILING_WHITESPACE_EX('[');
778
779
  /* Enter offset lookup state */
780
4.64k
  BEGIN(ST_OFFSET);
781
782
4.64k
  RETURN_TOKEN(TC_OFFSET, yytext, yyleng);
783
0
}
784
0
#line 785 "Zend/zend_ini_scanner.c"
785
57.7k
yy33:
786
57.7k
    YYDEBUG(33, *YYCURSOR);
787
57.7k
    ++YYCURSOR;
788
59.2k
yy34:
789
59.2k
    YYDEBUG(34, *YYCURSOR);
790
59.2k
    yyleng = YYCURSOR - SCNG(yy_text);
791
59.2k
#line 675 "Zend/zend_ini_scanner.l"
792
59.2k
    { /* Comment */
793
59.2k
  BEGIN(INITIAL);
794
59.2k
  SCNG(lineno)++;
795
59.2k
  return END_OF_LINE;
796
57.7k
}
797
0
#line 798 "Zend/zend_ini_scanner.c"
798
7.85k
yy35:
799
7.85k
    YYDEBUG(35, *YYCURSOR);
800
7.85k
    yych = *++YYCURSOR;
801
7.85k
    if (yych == '\n') goto yy33;
802
1.52k
    goto yy34;
803
1.52k
yy36:
804
274
    YYDEBUG(36, *YYCURSOR);
805
274
    yych = *++YYCURSOR;
806
274
    if (yych == 'L') goto yy46;
807
274
    if (yych == 'l') goto yy46;
808
274
    goto yy6;
809
274
yy37:
810
259
    YYDEBUG(37, *YYCURSOR);
811
259
    yych = *++YYCURSOR;
812
259
    if (yych <= '\'') {
813
0
      if (yych <= 0x1F) {
814
0
        if (yych <= '\t') {
815
0
          if (yych <= 0x00) goto yy38;
816
0
          if (yych <= 0x08) goto yy6;
817
0
          goto yy47;
818
0
        } else {
819
0
          if (yych <= '\n') goto yy38;
820
0
          if (yych != '\r') goto yy6;
821
0
        }
822
0
      } else {
823
0
        if (yych <= '#') {
824
0
          if (yych <= ' ') goto yy49;
825
0
          if (yych >= '#') goto yy6;
826
0
        } else {
827
0
          if (yych == '%') goto yy6;
828
0
          if (yych >= '\'') goto yy6;
829
0
        }
830
0
      }
831
259
    } else {
832
259
      if (yych <= 'N') {
833
116
        if (yych <= ';') {
834
35
          if (yych <= ')') goto yy38;
835
35
          if (yych <= ':') goto yy6;
836
81
        } else {
837
81
          if (yych == '=') goto yy38;
838
81
          if (yych <= 'M') goto yy6;
839
0
          goto yy51;
840
81
        }
841
143
      } else {
842
143
        if (yych <= 'm') {
843
87
          if (yych <= '\\') goto yy6;
844
87
          if (yych >= '_') goto yy6;
845
87
        } else {
846
56
          if (yych <= 'n') goto yy51;
847
56
          if (yych <= 'z') goto yy6;
848
54
          if (yych >= 0x7F) goto yy6;
849
54
        }
850
143
      }
851
259
    }
852
35
yy38:
853
35
    YYDEBUG(38, *YYCURSOR);
854
35
    yyleng = YYCURSOR - SCNG(yy_text);
855
35
#line 495 "Zend/zend_ini_scanner.l"
856
35
    { /* FALSE value (when used outside option value/offset this causes parse error!)*/
857
35
  RETURN_TOKEN(BOOL_FALSE, "", 0);
858
0
}
859
0
#line 860 "Zend/zend_ini_scanner.c"
860
14
yy39:
861
14
    YYDEBUG(39, *YYCURSOR);
862
14
    yych = *++YYCURSOR;
863
14
    if (yych == 'L') goto yy52;
864
14
    if (yych == 'l') goto yy52;
865
14
    goto yy6;
866
14
yy40:
867
3
    YYDEBUG(40, *YYCURSOR);
868
3
    yych = *++YYCURSOR;
869
3
    if (yych == 'F') goto yy49;
870
3
    if (yych == 'f') goto yy49;
871
3
    goto yy6;
872
9.10k
yy41:
873
9.10k
    YYDEBUG(41, *YYCURSOR);
874
9.10k
    ++YYCURSOR;
875
9.10k
    YYFILL(1);
876
9.10k
    yych = *YYCURSOR;
877
9.10k
    YYDEBUG(42, *YYCURSOR);
878
9.10k
    if (yych <= '&') {
879
75
      if (yych <= '\r') {
880
33
        if (yych <= '\t') {
881
2
          if (yych <= 0x00) goto yy43;
882
0
          if (yych <= 0x08) goto yy5;
883
0
          goto yy53;
884
31
        } else {
885
31
          if (yych <= '\n') goto yy43;
886
0
          if (yych <= '\f') goto yy5;
887
0
        }
888
42
      } else {
889
42
        if (yych <= '"') {
890
6
          if (yych <= 0x1F) goto yy5;
891
0
          if (yych <= ' ') goto yy41;
892
36
        } else {
893
36
          if (yych == '$') goto yy43;
894
36
          if (yych <= '%') goto yy5;
895
36
        }
896
42
      }
897
9.03k
    } else {
898
9.03k
      if (yych <= '=') {
899
592
        if (yych <= ':') {
900
510
          if (yych <= '\'') goto yy5;
901
375
          if (yych >= '*') goto yy5;
902
375
        } else {
903
82
          if (yych == '<') goto yy5;
904
82
        }
905
8.43k
      } else {
906
8.43k
        if (yych <= '\\') {
907
7.86k
          if (yych == '[') goto yy30;
908
7.86k
          goto yy5;
909
7.86k
        } else {
910
575
          if (yych <= '^') goto yy43;
911
469
          if (yych <= 'z') goto yy5;
912
85
          if (yych >= 0x7F) goto yy5;
913
85
        }
914
8.43k
      }
915
9.03k
    }
916
255
yy43:
917
255
    YYDEBUG(43, *YYCURSOR);
918
255
    yyleng = YYCURSOR - SCNG(yy_text);
919
255
#line 491 "Zend/zend_ini_scanner.l"
920
255
    { /* TRUE value (when used outside option value/offset this causes parse error!) */
921
255
  RETURN_TOKEN(BOOL_TRUE, "1", 1);
922
0
}
923
0
#line 924 "Zend/zend_ini_scanner.c"
924
223
yy44:
925
223
    YYDEBUG(44, *YYCURSOR);
926
223
    yych = *++YYCURSOR;
927
223
    if (yych == 'U') goto yy55;
928
223
    if (yych == 'u') goto yy55;
929
223
    goto yy6;
930
223
yy45:
931
2
    YYDEBUG(45, *YYCURSOR);
932
2
    yych = *++YYCURSOR;
933
2
    if (yych == 'S') goto yy41;
934
2
    if (yych == 's') goto yy41;
935
0
    goto yy6;
936
0
yy46:
937
0
    YYDEBUG(46, *YYCURSOR);
938
0
    yych = *++YYCURSOR;
939
0
    if (yych == 'S') goto yy51;
940
0
    if (yych == 's') goto yy51;
941
0
    goto yy6;
942
0
yy47:
943
0
    YYDEBUG(47, *YYCURSOR);
944
0
    ++YYCURSOR;
945
0
    YYFILL(1);
946
0
    yych = *YYCURSOR;
947
0
    YYDEBUG(48, *YYCURSOR);
948
0
    if (yych == '\t') goto yy47;
949
0
    if (yych == ' ') goto yy47;
950
0
    goto yy38;
951
0
yy49:
952
0
    YYDEBUG(49, *YYCURSOR);
953
0
    ++YYCURSOR;
954
0
    YYFILL(1);
955
0
    yych = *YYCURSOR;
956
0
    YYDEBUG(50, *YYCURSOR);
957
0
    if (yych <= '&') {
958
0
      if (yych <= '\r') {
959
0
        if (yych <= '\t') {
960
0
          if (yych <= 0x00) goto yy38;
961
0
          if (yych <= 0x08) goto yy5;
962
0
          goto yy47;
963
0
        } else {
964
0
          if (yych <= '\n') goto yy38;
965
0
          if (yych <= '\f') goto yy5;
966
0
          goto yy38;
967
0
        }
968
0
      } else {
969
0
        if (yych <= '"') {
970
0
          if (yych <= 0x1F) goto yy5;
971
0
          if (yych <= ' ') goto yy49;
972
0
          goto yy38;
973
0
        } else {
974
0
          if (yych == '$') goto yy38;
975
0
          if (yych <= '%') goto yy5;
976
0
          goto yy38;
977
0
        }
978
0
      }
979
0
    } else {
980
0
      if (yych <= '=') {
981
0
        if (yych <= ':') {
982
0
          if (yych <= '\'') goto yy5;
983
0
          if (yych <= ')') goto yy38;
984
0
          goto yy5;
985
0
        } else {
986
0
          if (yych == '<') goto yy5;
987
0
          goto yy38;
988
0
        }
989
0
      } else {
990
0
        if (yych <= '\\') {
991
0
          if (yych == '[') goto yy30;
992
0
          goto yy5;
993
0
        } else {
994
0
          if (yych <= '^') goto yy38;
995
0
          if (yych <= 'z') goto yy5;
996
0
          if (yych <= '~') goto yy38;
997
0
          goto yy5;
998
0
        }
999
0
      }
1000
0
    }
1001
0
yy51:
1002
0
    YYDEBUG(51, *YYCURSOR);
1003
0
    yych = *++YYCURSOR;
1004
0
    if (yych == 'E') goto yy49;
1005
0
    if (yych == 'e') goto yy49;
1006
0
    goto yy6;
1007
0
yy52:
1008
0
    YYDEBUG(52, *YYCURSOR);
1009
0
    yych = *++YYCURSOR;
1010
0
    if (yych == 'L') goto yy56;
1011
0
    if (yych == 'l') goto yy56;
1012
0
    goto yy6;
1013
0
yy53:
1014
0
    YYDEBUG(53, *YYCURSOR);
1015
0
    ++YYCURSOR;
1016
0
    YYFILL(1);
1017
0
    yych = *YYCURSOR;
1018
0
    YYDEBUG(54, *YYCURSOR);
1019
0
    if (yych == '\t') goto yy53;
1020
0
    if (yych == ' ') goto yy53;
1021
0
    goto yy43;
1022
0
yy55:
1023
0
    YYDEBUG(55, *YYCURSOR);
1024
0
    yych = *++YYCURSOR;
1025
0
    if (yych == 'E') goto yy41;
1026
0
    if (yych == 'e') goto yy41;
1027
0
    goto yy6;
1028
0
yy56:
1029
0
    YYDEBUG(56, *YYCURSOR);
1030
0
    ++YYCURSOR;
1031
0
    YYFILL(1);
1032
0
    yych = *YYCURSOR;
1033
0
    YYDEBUG(57, *YYCURSOR);
1034
0
    if (yych <= '&') {
1035
0
      if (yych <= '\r') {
1036
0
        if (yych <= '\t') {
1037
0
          if (yych <= 0x00) goto yy58;
1038
0
          if (yych <= 0x08) goto yy5;
1039
0
          goto yy59;
1040
0
        } else {
1041
0
          if (yych <= '\n') goto yy58;
1042
0
          if (yych <= '\f') goto yy5;
1043
0
        }
1044
0
      } else {
1045
0
        if (yych <= '"') {
1046
0
          if (yych <= 0x1F) goto yy5;
1047
0
          if (yych <= ' ') goto yy56;
1048
0
        } else {
1049
0
          if (yych == '$') goto yy58;
1050
0
          if (yych <= '%') goto yy5;
1051
0
        }
1052
0
      }
1053
0
    } else {
1054
0
      if (yych <= '=') {
1055
0
        if (yych <= ':') {
1056
0
          if (yych <= '\'') goto yy5;
1057
0
          if (yych >= '*') goto yy5;
1058
0
        } else {
1059
0
          if (yych == '<') goto yy5;
1060
0
        }
1061
0
      } else {
1062
0
        if (yych <= '\\') {
1063
0
          if (yych == '[') goto yy30;
1064
0
          goto yy5;
1065
0
        } else {
1066
0
          if (yych <= '^') goto yy58;
1067
0
          if (yych <= 'z') goto yy5;
1068
0
          if (yych >= 0x7F) goto yy5;
1069
0
        }
1070
0
      }
1071
0
    }
1072
0
yy58:
1073
0
    YYDEBUG(58, *YYCURSOR);
1074
0
    yyleng = YYCURSOR - SCNG(yy_text);
1075
0
#line 499 "Zend/zend_ini_scanner.l"
1076
0
    {
1077
0
  RETURN_TOKEN(NULL_NULL, "", 0);
1078
0
}
1079
0
#line 1080 "Zend/zend_ini_scanner.c"
1080
0
yy59:
1081
0
    YYDEBUG(59, *YYCURSOR);
1082
0
    ++YYCURSOR;
1083
0
    YYFILL(1);
1084
0
    yych = *YYCURSOR;
1085
0
    YYDEBUG(60, *YYCURSOR);
1086
0
    if (yych == '\t') goto yy59;
1087
0
    if (yych == ' ') goto yy59;
1088
0
    goto yy58;
1089
0
  }
1090
/* *********************************** */
1091
297k
yyc_ST_OFFSET:
1092
297k
  {
1093
297k
    static const unsigned char yybm[] = {
1094
297k
      132, 132, 132, 132, 132, 132, 132, 132, 
1095
297k
      132, 140, 128, 132, 132, 128, 132, 132, 
1096
297k
      132, 132, 132, 132, 132, 132, 132, 132, 
1097
297k
      132, 132, 132, 132, 132, 132, 132, 132, 
1098
297k
      140, 132, 128, 132, 192, 132, 132,   0, 
1099
297k
      132, 132, 132, 132, 132, 132, 132, 132, 
1100
297k
      180, 180, 180, 180, 180, 180, 180, 180, 
1101
297k
      180, 180, 132, 128, 132, 132, 132, 132, 
1102
297k
      132, 164, 164, 164, 164, 164, 164, 164, 
1103
297k
      164, 164, 164, 164, 164, 164, 164, 164, 
1104
297k
      164, 164, 164, 164, 164, 164, 164, 164, 
1105
297k
      164, 164, 164, 132, 192, 128, 132, 164, 
1106
297k
      132, 164, 164, 164, 164, 164, 164, 164, 
1107
297k
      164, 164, 164, 164, 164, 164, 164, 164, 
1108
297k
      164, 164, 164, 164, 164, 164, 164, 164, 
1109
297k
      164, 164, 164, 132, 132, 132, 132, 132, 
1110
297k
      132, 132, 132, 132, 132, 132, 132, 132, 
1111
297k
      132, 132, 132, 132, 132, 132, 132, 132, 
1112
297k
      132, 132, 132, 132, 132, 132, 132, 132, 
1113
297k
      132, 132, 132, 132, 132, 132, 132, 132, 
1114
297k
      132, 132, 132, 132, 132, 132, 132, 132, 
1115
297k
      132, 132, 132, 132, 132, 132, 132, 132, 
1116
297k
      132, 132, 132, 132, 132, 132, 132, 132, 
1117
297k
      132, 132, 132, 132, 132, 132, 132, 132, 
1118
297k
      132, 132, 132, 132, 132, 132, 132, 132, 
1119
297k
      132, 132, 132, 132, 132, 132, 132, 132, 
1120
297k
      132, 132, 132, 132, 132, 132, 132, 132, 
1121
297k
      132, 132, 132, 132, 132, 132, 132, 132, 
1122
297k
      132, 132, 132, 132, 132, 132, 132, 132, 
1123
297k
      132, 132, 132, 132, 132, 132, 132, 132, 
1124
297k
      132, 132, 132, 132, 132, 132, 132, 132, 
1125
297k
      132, 132, 132, 132, 132, 132, 132, 132, 
1126
297k
    };
1127
297k
    YYDEBUG(61, *YYCURSOR);
1128
297k
    YYFILL(2);
1129
297k
    yych = *YYCURSOR;
1130
297k
    if (yybm[0+yych] & 8) {
1131
2.61k
      goto yy66;
1132
2.61k
    }
1133
294k
    if (yych <= '/') {
1134
215k
      if (yych <= '"') {
1135
176k
        if (yych <= '\f') {
1136
5.93k
          if (yych <= 0x08) goto yy63;
1137
1.76k
          if (yych <= '\n') goto yy68;
1138
170k
        } else {
1139
170k
          if (yych <= '\r') goto yy68;
1140
169k
          if (yych >= '"') goto yy70;
1141
169k
        }
1142
176k
      } else {
1143
39.2k
        if (yych <= '&') {
1144
4.62k
          if (yych == '$') goto yy72;
1145
34.5k
        } else {
1146
34.5k
          if (yych <= '\'') goto yy73;
1147
14.6k
          if (yych <= ',') goto yy63;
1148
14.2k
          if (yych <= '.') goto yy74;
1149
14.2k
        }
1150
39.2k
      }
1151
215k
    } else {
1152
79.2k
      if (yych <= '[') {
1153
44.4k
        if (yych <= ';') {
1154
39.6k
          if (yych <= '9') goto yy75;
1155
402
          if (yych >= ';') goto yy68;
1156
4.74k
        } else {
1157
4.74k
          if (yych <= '@') goto yy63;
1158
4.69k
          if (yych <= 'Z') goto yy78;
1159
4.69k
        }
1160
44.4k
      } else {
1161
34.8k
        if (yych <= '^') {
1162
1.55k
          if (yych <= '\\') goto yy81;
1163
56
          if (yych <= ']') goto yy82;
1164
33.2k
        } else {
1165
33.2k
          if (yych == '`') goto yy63;
1166
33.2k
          if (yych <= 'z') goto yy78;
1167
33.2k
        }
1168
34.8k
      }
1169
79.2k
    }
1170
1.28M
yy63:
1171
1.28M
    YYDEBUG(63, *YYCURSOR);
1172
1.28M
    yyaccept = 0;
1173
1.28M
    YYMARKER = ++YYCURSOR;
1174
1.28M
    YYFILL(1);
1175
1.28M
    yych = *YYCURSOR;
1176
1.29M
yy64:
1177
1.29M
    YYDEBUG(64, *YYCURSOR);
1178
1.29M
    if (yybm[0+yych] & 4) {
1179
1.14M
      goto yy63;
1180
1.14M
    }
1181
152k
    if (yych <= '"') goto yy65;
1182
80.2k
    if (yych <= '$') goto yy84;
1183
22.9k
    if (yych <= ';') goto yy65;
1184
12.3k
    if (yych <= '\\') goto yy81;
1185
82.6k
yy65:
1186
82.6k
    YYDEBUG(65, *YYCURSOR);
1187
82.6k
    yyleng = YYCURSOR - SCNG(yy_text);
1188
82.6k
#line 606 "Zend/zend_ini_scanner.l"
1189
82.6k
    { /* Get rest as section/offset value */
1190
82.6k
  RETURN_TOKEN(TC_STRING, yytext, yyleng);
1191
0
}
1192
0
#line 1193 "Zend/zend_ini_scanner.c"
1193
7.92k
yy66:
1194
7.92k
    YYDEBUG(66, *YYCURSOR);
1195
7.92k
    yyaccept = 0;
1196
7.92k
    YYMARKER = ++YYCURSOR;
1197
7.92k
    YYFILL(1);
1198
7.92k
    yych = *YYCURSOR;
1199
7.92k
    YYDEBUG(67, *YYCURSOR);
1200
7.92k
    if (yybm[0+yych] & 8) {
1201
5.31k
      goto yy66;
1202
5.31k
    }
1203
2.61k
    if (yych <= '$') {
1204
0
      if (yych <= '\r') {
1205
0
        if (yych <= 0x08) goto yy63;
1206
0
        if (yych <= '\n') goto yy65;
1207
0
        if (yych <= '\f') goto yy63;
1208
0
        goto yy65;
1209
0
      } else {
1210
0
        if (yych == '"') goto yy70;
1211
0
        if (yych <= '#') goto yy63;
1212
0
        goto yy84;
1213
0
      }
1214
2.61k
    } else {
1215
2.61k
      if (yych <= ';') {
1216
45
        if (yych == '\'') goto yy65;
1217
45
        if (yych <= ':') goto yy63;
1218
0
        goto yy65;
1219
2.56k
      } else {
1220
2.56k
        if (yych <= '[') goto yy63;
1221
332
        if (yych <= '\\') goto yy81;
1222
332
        if (yych <= ']') goto yy82;
1223
332
        goto yy63;
1224
332
      }
1225
2.61k
    }
1226
1.60k
yy68:
1227
1.60k
    YYDEBUG(68, *YYCURSOR);
1228
1.60k
    ++YYCURSOR;
1229
1.65k
yy69:
1230
1.65k
    YYDEBUG(69, *YYCURSOR);
1231
1.65k
    yyleng = YYCURSOR - SCNG(yy_text);
1232
1.65k
#line 686 "Zend/zend_ini_scanner.l"
1233
1.65k
    {
1234
1.65k
  return 0;
1235
1.60k
}
1236
0
#line 1237 "Zend/zend_ini_scanner.c"
1237
168k
yy70:
1238
168k
    YYDEBUG(70, *YYCURSOR);
1239
168k
    ++YYCURSOR;
1240
168k
    YYDEBUG(71, *YYCURSOR);
1241
168k
    yyleng = YYCURSOR - SCNG(yy_text);
1242
168k
#line 610 "Zend/zend_ini_scanner.l"
1243
168k
    { /* Double quoted '"' string start */
1244
168k
  yy_push_state(ST_DOUBLE_QUOTES);
1245
168k
  return '"';
1246
1.60k
}
1247
0
#line 1248 "Zend/zend_ini_scanner.c"
1248
2.87k
yy72:
1249
2.87k
    YYDEBUG(72, *YYCURSOR);
1250
2.87k
    yych = *++YYCURSOR;
1251
2.87k
    if (yych <= '\\') {
1252
1.28k
      if (yych <= 0x00) goto yy69;
1253
1.24k
      if (yych <= '[') goto yy63;
1254
0
      goto yy86;
1255
1.59k
    } else {
1256
1.59k
      if (yych == '{') goto yy88;
1257
1.59k
      goto yy63;
1258
1.59k
    }
1259
19.9k
yy73:
1260
19.9k
    YYDEBUG(73, *YYCURSOR);
1261
19.9k
    yych = *++YYCURSOR;
1262
19.9k
    if (yybm[0+yych] & 128) {
1263
19.9k
      goto yy90;
1264
19.9k
    }
1265
7
    goto yy69;
1266
14.0k
yy74:
1267
14.0k
    YYDEBUG(74, *YYCURSOR);
1268
14.0k
    yyaccept = 0;
1269
14.0k
    yych = *(YYMARKER = ++YYCURSOR);
1270
14.0k
    if (yych <= '/') goto yy64;
1271
13.1k
    if (yych <= '9') goto yy92;
1272
10.4k
    goto yy64;
1273
113k
yy75:
1274
113k
    YYDEBUG(75, *YYCURSOR);
1275
113k
    yyaccept = 1;
1276
113k
    YYMARKER = ++YYCURSOR;
1277
113k
    YYFILL(1);
1278
113k
    yych = *YYCURSOR;
1279
113k
    YYDEBUG(76, *YYCURSOR);
1280
113k
    if (yybm[0+yych] & 16) {
1281
74.2k
      goto yy75;
1282
74.2k
    }
1283
39.2k
    if (yych <= '&') {
1284
9.21k
      if (yych <= '\r') {
1285
97
        if (yych == '\n') goto yy77;
1286
55
        if (yych <= '\f') goto yy63;
1287
9.12k
      } else {
1288
9.12k
        if (yych <= '"') {
1289
8.35k
          if (yych <= '!') goto yy63;
1290
8.35k
        } else {
1291
763
          if (yych == '$') goto yy84;
1292
760
          goto yy63;
1293
763
        }
1294
9.12k
      }
1295
30.0k
    } else {
1296
30.0k
      if (yych <= ':') {
1297
24.2k
        if (yych <= '\'') goto yy77;
1298
21.9k
        if (yych == '.') goto yy92;
1299
4.67k
        goto yy63;
1300
21.9k
      } else {
1301
5.78k
        if (yych <= '[') {
1302
1.79k
          if (yych >= '<') goto yy63;
1303
3.98k
        } else {
1304
3.98k
          if (yych <= '\\') goto yy81;
1305
3.88k
          if (yych >= '^') goto yy63;
1306
3.88k
        }
1307
5.78k
      }
1308
30.0k
    }
1309
19.1k
yy77:
1310
19.1k
    YYDEBUG(77, *YYCURSOR);
1311
19.1k
    yyleng = YYCURSOR - SCNG(yy_text);
1312
19.1k
#line 580 "Zend/zend_ini_scanner.l"
1313
19.1k
    { /* Get number option value as string */
1314
19.1k
  RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
1315
0
}
1316
0
#line 1317 "Zend/zend_ini_scanner.c"
1317
62.7k
yy78:
1318
62.7k
    YYDEBUG(78, *YYCURSOR);
1319
62.7k
    yyaccept = 2;
1320
62.7k
    YYMARKER = ++YYCURSOR;
1321
62.7k
    YYFILL(1);
1322
62.7k
    yych = *YYCURSOR;
1323
62.7k
    YYDEBUG(79, *YYCURSOR);
1324
62.7k
    if (yybm[0+yych] & 32) {
1325
31.6k
      goto yy78;
1326
31.6k
    }
1327
31.0k
    if (yych <= '$') {
1328
12.2k
      if (yych <= '\r') {
1329
3.31k
        if (yych == '\n') goto yy80;
1330
3.01k
        if (yych <= '\f') goto yy63;
1331
8.93k
      } else {
1332
8.93k
        if (yych == '"') goto yy80;
1333
6.25k
        if (yych <= '#') goto yy63;
1334
3.15k
        goto yy84;
1335
6.25k
      }
1336
18.8k
    } else {
1337
18.8k
      if (yych <= ';') {
1338
6.89k
        if (yych == '\'') goto yy80;
1339
5.66k
        if (yych <= ':') goto yy63;
1340
11.9k
      } else {
1341
11.9k
        if (yych <= '[') goto yy63;
1342
10.9k
        if (yych <= '\\') goto yy81;
1343
7.42k
        if (yych >= '^') goto yy63;
1344
7.42k
      }
1345
18.8k
    }
1346
4.29k
yy80:
1347
4.29k
    YYDEBUG(80, *YYCURSOR);
1348
4.29k
    yyleng = YYCURSOR - SCNG(yy_text);
1349
4.29k
#line 576 "Zend/zend_ini_scanner.l"
1350
4.29k
    { /* Get constant option value */
1351
4.29k
  RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
1352
0
}
1353
0
#line 1354 "Zend/zend_ini_scanner.c"
1354
17.4k
yy81:
1355
17.4k
    YYDEBUG(81, *YYCURSOR);
1356
17.4k
    ++YYCURSOR;
1357
17.4k
    YYFILL(1);
1358
17.4k
    yych = *YYCURSOR;
1359
17.4k
    goto yy63;
1360
56
yy82:
1361
56
    YYDEBUG(82, *YYCURSOR);
1362
56
    ++YYCURSOR;
1363
56
    YYDEBUG(83, *YYCURSOR);
1364
56
    yyleng = YYCURSOR - SCNG(yy_text);
1365
56
#line 417 "Zend/zend_ini_scanner.l"
1366
56
    { /* End of section or an option offset */
1367
56
  BEGIN(INITIAL);
1368
56
  return ']';
1369
17.4k
}
1370
0
#line 1371 "Zend/zend_ini_scanner.c"
1371
60.6k
yy84:
1372
60.6k
    YYDEBUG(84, *YYCURSOR);
1373
60.6k
    ++YYCURSOR;
1374
60.6k
    YYFILL(1);
1375
60.6k
    yych = *YYCURSOR;
1376
60.6k
    if (yych <= '\\') {
1377
60.6k
      if (yych <= 0x00) goto yy85;
1378
60.5k
      if (yych <= '[') goto yy63;
1379
0
      goto yy86;
1380
60.5k
    } else {
1381
0
      if (yych != '{') goto yy63;
1382
0
    }
1383
42
yy85:
1384
42
    YYDEBUG(85, *YYCURSOR);
1385
42
    YYCURSOR = YYMARKER;
1386
42
    if (yyaccept <= 1) {
1387
42
      if (yyaccept == 0) {
1388
42
        goto yy65;
1389
42
      } else {
1390
0
        goto yy77;
1391
0
      }
1392
42
    } else {
1393
0
      goto yy80;
1394
0
    }
1395
0
yy86:
1396
0
    YYDEBUG(86, *YYCURSOR);
1397
0
    ++YYCURSOR;
1398
0
    YYFILL(1);
1399
0
    yych = *YYCURSOR;
1400
0
    YYDEBUG(87, *YYCURSOR);
1401
0
    if (yybm[0+yych] & 64) {
1402
0
      goto yy86;
1403
0
    }
1404
0
    goto yy63;
1405
0
yy88:
1406
0
    YYDEBUG(88, *YYCURSOR);
1407
0
    ++YYCURSOR;
1408
0
    YYDEBUG(89, *YYCURSOR);
1409
0
    yyleng = YYCURSOR - SCNG(yy_text);
1410
0
#line 422 "Zend/zend_ini_scanner.l"
1411
0
    { /* Variable start */
1412
0
  yy_push_state(ST_VARNAME);
1413
0
  return TC_DOLLAR_CURLY;
1414
0
}
1415
0
#line 1416 "Zend/zend_ini_scanner.c"
1416
986k
yy90:
1417
986k
    YYDEBUG(90, *YYCURSOR);
1418
986k
    ++YYCURSOR;
1419
986k
    YYFILL(1);
1420
985k
    yych = *YYCURSOR;
1421
985k
    YYDEBUG(91, *YYCURSOR);
1422
985k
    if (yybm[0+yych] & 128) {
1423
966k
      goto yy90;
1424
966k
    }
1425
19.4k
    goto yy94;
1426
44.6k
yy92:
1427
44.6k
    YYDEBUG(92, *YYCURSOR);
1428
44.6k
    yyaccept = 1;
1429
44.6k
    YYMARKER = ++YYCURSOR;
1430
44.6k
    YYFILL(1);
1431
44.6k
    yych = *YYCURSOR;
1432
44.6k
    YYDEBUG(93, *YYCURSOR);
1433
44.6k
    if (yych <= '&') {
1434
9.81k
      if (yych <= '\r') {
1435
108
        if (yych == '\n') goto yy77;
1436
94
        if (yych <= '\f') goto yy63;
1437
64
        goto yy77;
1438
9.70k
      } else {
1439
9.70k
        if (yych <= '"') {
1440
9.12k
          if (yych <= '!') goto yy63;
1441
6.71k
          goto yy77;
1442
9.12k
        } else {
1443
583
          if (yych == '$') goto yy84;
1444
469
          goto yy63;
1445
583
        }
1446
9.70k
      }
1447
34.8k
    } else {
1448
34.8k
      if (yych <= ':') {
1449
30.7k
        if (yych <= '\'') goto yy77;
1450
28.2k
        if (yych <= '/') goto yy63;
1451
24.8k
        if (yych <= '9') goto yy92;
1452
72
        goto yy63;
1453
24.8k
      } else {
1454
4.14k
        if (yych <= '[') {
1455
45
          if (yych <= ';') goto yy77;
1456
18
          goto yy63;
1457
4.09k
        } else {
1458
4.09k
          if (yych <= '\\') goto yy81;
1459
4.09k
          if (yych <= ']') goto yy77;
1460
4.09k
          goto yy63;
1461
4.09k
        }
1462
4.14k
      }
1463
34.8k
    }
1464
19.4k
yy94:
1465
19.4k
    YYDEBUG(94, *YYCURSOR);
1466
19.4k
    ++YYCURSOR;
1467
19.4k
    YYDEBUG(95, *YYCURSOR);
1468
19.4k
    yyleng = YYCURSOR - SCNG(yy_text);
1469
19.4k
#line 389 "Zend/zend_ini_scanner.l"
1470
19.4k
    { /* Raw string */
1471
  /* Eat leading and trailing single quotes */
1472
19.4k
  if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
1473
19.4k
    SCNG(yy_text)++;
1474
19.4k
    yyleng = yyleng - 2;
1475
19.4k
  }
1476
19.4k
  RETURN_TOKEN(TC_RAW, yytext, yyleng);
1477
0
}
1478
0
#line 1479 "Zend/zend_ini_scanner.c"
1479
0
  }
1480
/* *********************************** */
1481
50.1k
yyc_ST_SECTION_VALUE:
1482
50.1k
  {
1483
50.1k
    static const unsigned char yybm[] = {
1484
50.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1485
50.1k
      132, 140, 128, 132, 132, 128, 132, 132, 
1486
50.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1487
50.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1488
50.1k
      140, 132, 128, 132, 192, 132, 132,   0, 
1489
50.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1490
50.1k
      180, 180, 180, 180, 180, 180, 180, 180, 
1491
50.1k
      180, 180, 132, 128, 132, 132, 132, 132, 
1492
50.1k
      132, 164, 164, 164, 164, 164, 164, 164, 
1493
50.1k
      164, 164, 164, 164, 164, 164, 164, 164, 
1494
50.1k
      164, 164, 164, 164, 164, 164, 164, 164, 
1495
50.1k
      164, 164, 164, 132, 192, 128, 132, 164, 
1496
50.1k
      132, 164, 164, 164, 164, 164, 164, 164, 
1497
50.1k
      164, 164, 164, 164, 164, 164, 164, 164, 
1498
50.1k
      164, 164, 164, 164, 164, 164, 164, 164, 
1499
50.1k
      164, 164, 164, 132, 132, 132, 132, 132, 
1500
50.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1501
50.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1502
50.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1503
50.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1504
50.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1505
50.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1506
50.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1507
50.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1508
50.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1509
50.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1510
50.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1511
50.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1512
50.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1513
50.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1514
50.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1515
50.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1516
50.1k
    };
1517
50.1k
    YYDEBUG(96, *YYCURSOR);
1518
50.1k
    YYFILL(2);
1519
50.1k
    yych = *YYCURSOR;
1520
50.1k
    if (yybm[0+yych] & 8) {
1521
6.97k
      goto yy101;
1522
6.97k
    }
1523
43.2k
    if (yych <= '/') {
1524
27.5k
      if (yych <= '"') {
1525
12.2k
        if (yych <= '\f') {
1526
579
          if (yych <= 0x08) goto yy98;
1527
576
          if (yych <= '\n') goto yy103;
1528
11.6k
        } else {
1529
11.6k
          if (yych <= '\r') goto yy103;
1530
11.6k
          if (yych >= '"') goto yy105;
1531
11.6k
        }
1532
15.3k
      } else {
1533
15.3k
        if (yych <= '&') {
1534
159
          if (yych == '$') goto yy107;
1535
15.1k
        } else {
1536
15.1k
          if (yych <= '\'') goto yy108;
1537
3.52k
          if (yych <= ',') goto yy98;
1538
3.48k
          if (yych <= '.') goto yy109;
1539
3.48k
        }
1540
15.3k
      }
1541
27.5k
    } else {
1542
15.6k
      if (yych <= '[') {
1543
6.66k
        if (yych <= ';') {
1544
1.96k
          if (yych <= '9') goto yy110;
1545
306
          if (yych >= ';') goto yy103;
1546
4.69k
        } else {
1547
4.69k
          if (yych <= '@') goto yy98;
1548
4.39k
          if (yych <= 'Z') goto yy113;
1549
4.39k
        }
1550
8.95k
      } else {
1551
8.95k
        if (yych <= '^') {
1552
753
          if (yych <= '\\') goto yy116;
1553
654
          if (yych <= ']') goto yy117;
1554
8.20k
        } else {
1555
8.20k
          if (yych == '`') goto yy98;
1556
8.19k
          if (yych <= 'z') goto yy113;
1557
8.19k
        }
1558
8.95k
      }
1559
15.6k
    }
1560
867k
yy98:
1561
867k
    YYDEBUG(98, *YYCURSOR);
1562
867k
    yyaccept = 0;
1563
867k
    YYMARKER = ++YYCURSOR;
1564
867k
    YYFILL(1);
1565
866k
    yych = *YYCURSOR;
1566
869k
yy99:
1567
869k
    YYDEBUG(99, *YYCURSOR);
1568
869k
    if (yybm[0+yych] & 4) {
1569
836k
      goto yy98;
1570
836k
    }
1571
33.6k
    if (yych <= '"') goto yy100;
1572
22.6k
    if (yych <= '$') goto yy120;
1573
11.8k
    if (yych <= ';') goto yy100;
1574
460
    if (yych <= '\\') goto yy116;
1575
22.7k
yy100:
1576
22.7k
    YYDEBUG(100, *YYCURSOR);
1577
22.7k
    yyleng = YYCURSOR - SCNG(yy_text);
1578
22.7k
#line 606 "Zend/zend_ini_scanner.l"
1579
22.7k
    { /* Get rest as section/offset value */
1580
22.7k
  RETURN_TOKEN(TC_STRING, yytext, yyleng);
1581
0
}
1582
0
#line 1583 "Zend/zend_ini_scanner.c"
1583
25.6k
yy101:
1584
25.6k
    YYDEBUG(101, *YYCURSOR);
1585
25.6k
    yyaccept = 0;
1586
25.6k
    YYMARKER = ++YYCURSOR;
1587
25.6k
    YYFILL(1);
1588
25.6k
    yych = *YYCURSOR;
1589
25.6k
    YYDEBUG(102, *YYCURSOR);
1590
25.6k
    if (yybm[0+yych] & 8) {
1591
18.6k
      goto yy101;
1592
18.6k
    }
1593
6.97k
    if (yych <= '$') {
1594
825
      if (yych <= '\r') {
1595
149
        if (yych <= 0x08) goto yy98;
1596
0
        if (yych <= '\n') goto yy100;
1597
0
        if (yych <= '\f') goto yy98;
1598
0
        goto yy100;
1599
676
      } else {
1600
676
        if (yych == '"') goto yy105;
1601
0
        if (yych <= '#') goto yy98;
1602
0
        goto yy120;
1603
0
      }
1604
6.14k
    } else {
1605
6.14k
      if (yych <= ';') {
1606
289
        if (yych == '\'') goto yy100;
1607
289
        if (yych <= ':') goto yy98;
1608
0
        goto yy100;
1609
5.85k
      } else {
1610
5.85k
        if (yych <= '[') goto yy98;
1611
754
        if (yych <= '\\') goto yy116;
1612
754
        if (yych <= ']') goto yy100;
1613
754
        goto yy98;
1614
754
      }
1615
6.14k
    }
1616
944
yy103:
1617
944
    YYDEBUG(103, *YYCURSOR);
1618
944
    ++YYCURSOR;
1619
977
yy104:
1620
977
    YYDEBUG(104, *YYCURSOR);
1621
977
    yyleng = YYCURSOR - SCNG(yy_text);
1622
977
#line 686 "Zend/zend_ini_scanner.l"
1623
977
    {
1624
977
  return 0;
1625
944
}
1626
0
#line 1627 "Zend/zend_ini_scanner.c"
1627
12.2k
yy105:
1628
12.2k
    YYDEBUG(105, *YYCURSOR);
1629
12.2k
    ++YYCURSOR;
1630
12.2k
    YYDEBUG(106, *YYCURSOR);
1631
12.2k
    yyleng = YYCURSOR - SCNG(yy_text);
1632
12.2k
#line 610 "Zend/zend_ini_scanner.l"
1633
12.2k
    { /* Double quoted '"' string start */
1634
12.2k
  yy_push_state(ST_DOUBLE_QUOTES);
1635
12.2k
  return '"';
1636
944
}
1637
0
#line 1638 "Zend/zend_ini_scanner.c"
1638
141
yy107:
1639
141
    YYDEBUG(107, *YYCURSOR);
1640
141
    yych = *++YYCURSOR;
1641
141
    if (yych <= '\\') {
1642
139
      if (yych <= 0x00) goto yy104;
1643
110
      if (yych <= '[') goto yy98;
1644
0
      goto yy122;
1645
110
    } else {
1646
2
      if (yych == '{') goto yy124;
1647
0
      goto yy98;
1648
2
    }
1649
11.6k
yy108:
1650
11.6k
    YYDEBUG(108, *YYCURSOR);
1651
11.6k
    yych = *++YYCURSOR;
1652
11.6k
    if (yybm[0+yych] & 128) {
1653
11.6k
      goto yy126;
1654
11.6k
    }
1655
4
    goto yy104;
1656
3.47k
yy109:
1657
3.47k
    YYDEBUG(109, *YYCURSOR);
1658
3.47k
    yyaccept = 0;
1659
3.47k
    yych = *(YYMARKER = ++YYCURSOR);
1660
3.47k
    if (yych <= '/') goto yy99;
1661
809
    if (yych <= '9') goto yy128;
1662
674
    goto yy99;
1663
4.23k
yy110:
1664
4.23k
    YYDEBUG(110, *YYCURSOR);
1665
4.23k
    yyaccept = 1;
1666
4.23k
    YYMARKER = ++YYCURSOR;
1667
4.23k
    YYFILL(1);
1668
4.23k
    yych = *YYCURSOR;
1669
4.23k
    YYDEBUG(111, *YYCURSOR);
1670
4.23k
    if (yybm[0+yych] & 16) {
1671
2.56k
      goto yy110;
1672
2.56k
    }
1673
1.66k
    if (yych <= '&') {
1674
869
      if (yych <= '\r') {
1675
0
        if (yych == '\n') goto yy112;
1676
0
        if (yych <= '\f') goto yy98;
1677
869
      } else {
1678
869
        if (yych <= '"') {
1679
627
          if (yych <= '!') goto yy98;
1680
627
        } else {
1681
242
          if (yych == '$') goto yy120;
1682
242
          goto yy98;
1683
242
        }
1684
869
      }
1685
869
    } else {
1686
794
      if (yych <= ':') {
1687
620
        if (yych <= '\'') goto yy112;
1688
620
        if (yych == '.') goto yy128;
1689
558
        goto yy98;
1690
620
      } else {
1691
174
        if (yych <= '[') {
1692
115
          if (yych >= '<') goto yy98;
1693
115
        } else {
1694
59
          if (yych <= '\\') goto yy116;
1695
59
          if (yych >= '^') goto yy98;
1696
59
        }
1697
174
      }
1698
794
    }
1699
308
yy112:
1700
308
    YYDEBUG(112, *YYCURSOR);
1701
308
    yyleng = YYCURSOR - SCNG(yy_text);
1702
308
#line 580 "Zend/zend_ini_scanner.l"
1703
308
    { /* Get number option value as string */
1704
308
  RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
1705
0
}
1706
0
#line 1707 "Zend/zend_ini_scanner.c"
1707
10.8k
yy113:
1708
10.8k
    YYDEBUG(113, *YYCURSOR);
1709
10.8k
    yyaccept = 2;
1710
10.8k
    YYMARKER = ++YYCURSOR;
1711
10.8k
    YYFILL(1);
1712
10.8k
    yych = *YYCURSOR;
1713
10.8k
    YYDEBUG(114, *YYCURSOR);
1714
10.8k
    if (yybm[0+yych] & 32) {
1715
6.47k
      goto yy113;
1716
6.47k
    }
1717
4.32k
    if (yych <= '$') {
1718
822
      if (yych <= '\r') {
1719
431
        if (yych == '\n') goto yy115;
1720
164
        if (yych <= '\f') goto yy98;
1721
391
      } else {
1722
391
        if (yych == '"') goto yy115;
1723
274
        if (yych <= '#') goto yy98;
1724
0
        goto yy120;
1725
274
      }
1726
3.50k
    } else {
1727
3.50k
      if (yych <= ';') {
1728
350
        if (yych == '\'') goto yy115;
1729
332
        if (yych <= ':') goto yy98;
1730
3.15k
      } else {
1731
3.15k
        if (yych <= '[') goto yy98;
1732
3.00k
        if (yych <= '\\') goto yy116;
1733
3.00k
        if (yych >= '^') goto yy98;
1734
3.00k
      }
1735
3.50k
    }
1736
461
yy115:
1737
461
    YYDEBUG(115, *YYCURSOR);
1738
461
    yyleng = YYCURSOR - SCNG(yy_text);
1739
461
#line 576 "Zend/zend_ini_scanner.l"
1740
461
    { /* Get constant option value */
1741
461
  RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
1742
0
}
1743
0
#line 1744 "Zend/zend_ini_scanner.c"
1744
171
yy116:
1745
171
    YYDEBUG(116, *YYCURSOR);
1746
171
    ++YYCURSOR;
1747
171
    YYFILL(1);
1748
171
    yych = *YYCURSOR;
1749
171
    goto yy98;
1750
654
yy117:
1751
654
    YYDEBUG(117, *YYCURSOR);
1752
654
    ++YYCURSOR;
1753
654
    YYFILL(2);
1754
654
    yych = *YYCURSOR;
1755
654
    YYDEBUG(118, *YYCURSOR);
1756
654
    if (yych <= '\f') {
1757
320
      if (yych <= 0x08) goto yy119;
1758
178
      if (yych <= '\t') goto yy117;
1759
178
      if (yych <= '\n') goto yy130;
1760
334
    } else {
1761
334
      if (yych <= '\r') goto yy131;
1762
334
      if (yych == ' ') goto yy117;
1763
334
    }
1764
654
yy119:
1765
654
    YYDEBUG(119, *YYCURSOR);
1766
654
    yyleng = YYCURSOR - SCNG(yy_text);
1767
654
#line 398 "Zend/zend_ini_scanner.l"
1768
654
    { /* End of section */
1769
654
  BEGIN(INITIAL);
1770
654
  SCNG(lineno)++;
1771
654
  return ']';
1772
654
}
1773
0
#line 1774 "Zend/zend_ini_scanner.c"
1774
10.8k
yy120:
1775
10.8k
    YYDEBUG(120, *YYCURSOR);
1776
10.8k
    ++YYCURSOR;
1777
10.8k
    YYFILL(1);
1778
10.8k
    yych = *YYCURSOR;
1779
10.8k
    if (yych <= '\\') {
1780
4.90k
      if (yych <= 0x00) goto yy121;
1781
4.87k
      if (yych <= '[') goto yy98;
1782
0
      goto yy122;
1783
5.90k
    } else {
1784
5.90k
      if (yych != '{') goto yy98;
1785
5.90k
    }
1786
29
yy121:
1787
29
    YYDEBUG(121, *YYCURSOR);
1788
29
    YYCURSOR = YYMARKER;
1789
29
    if (yyaccept <= 1) {
1790
29
      if (yyaccept == 0) {
1791
29
        goto yy100;
1792
29
      } else {
1793
0
        goto yy112;
1794
0
      }
1795
29
    } else {
1796
0
      goto yy115;
1797
0
    }
1798
0
yy122:
1799
0
    YYDEBUG(122, *YYCURSOR);
1800
0
    ++YYCURSOR;
1801
0
    YYFILL(1);
1802
0
    yych = *YYCURSOR;
1803
0
    YYDEBUG(123, *YYCURSOR);
1804
0
    if (yybm[0+yych] & 64) {
1805
0
      goto yy122;
1806
0
    }
1807
0
    goto yy98;
1808
2
yy124:
1809
2
    YYDEBUG(124, *YYCURSOR);
1810
2
    ++YYCURSOR;
1811
2
    YYDEBUG(125, *YYCURSOR);
1812
2
    yyleng = YYCURSOR - SCNG(yy_text);
1813
2
#line 422 "Zend/zend_ini_scanner.l"
1814
2
    { /* Variable start */
1815
2
  yy_push_state(ST_VARNAME);
1816
2
  return TC_DOLLAR_CURLY;
1817
0
}
1818
0
#line 1819 "Zend/zend_ini_scanner.c"
1819
682k
yy126:
1820
682k
    YYDEBUG(126, *YYCURSOR);
1821
682k
    ++YYCURSOR;
1822
682k
    YYFILL(1);
1823
682k
    yych = *YYCURSOR;
1824
682k
    YYDEBUG(127, *YYCURSOR);
1825
682k
    if (yybm[0+yych] & 128) {
1826
671k
      goto yy126;
1827
671k
    }
1828
11.2k
    goto yy132;
1829
11.2k
yy128:
1830
197
    YYDEBUG(128, *YYCURSOR);
1831
197
    yyaccept = 1;
1832
197
    YYMARKER = ++YYCURSOR;
1833
197
    YYFILL(1);
1834
197
    yych = *YYCURSOR;
1835
197
    YYDEBUG(129, *YYCURSOR);
1836
197
    if (yych <= '&') {
1837
59
      if (yych <= '\r') {
1838
0
        if (yych == '\n') goto yy112;
1839
0
        if (yych <= '\f') goto yy98;
1840
0
        goto yy112;
1841
59
      } else {
1842
59
        if (yych <= '"') {
1843
59
          if (yych <= '!') goto yy98;
1844
0
          goto yy112;
1845
59
        } else {
1846
0
          if (yych == '$') goto yy120;
1847
0
          goto yy98;
1848
0
        }
1849
59
      }
1850
138
    } else {
1851
138
      if (yych <= ':') {
1852
62
        if (yych <= '\'') goto yy112;
1853
62
        if (yych <= '/') goto yy98;
1854
0
        if (yych <= '9') goto yy128;
1855
0
        goto yy98;
1856
76
      } else {
1857
76
        if (yych <= '[') {
1858
0
          if (yych <= ';') goto yy112;
1859
0
          goto yy98;
1860
76
        } else {
1861
76
          if (yych <= '\\') goto yy116;
1862
76
          if (yych <= ']') goto yy112;
1863
76
          goto yy98;
1864
76
        }
1865
76
      }
1866
138
    }
1867
178
yy130:
1868
178
    YYDEBUG(130, *YYCURSOR);
1869
178
    ++YYCURSOR;
1870
178
    goto yy119;
1871
0
yy131:
1872
0
    YYDEBUG(131, *YYCURSOR);
1873
0
    yych = *++YYCURSOR;
1874
0
    if (yych == '\n') goto yy130;
1875
0
    goto yy119;
1876
11.2k
yy132:
1877
11.2k
    YYDEBUG(132, *YYCURSOR);
1878
11.2k
    ++YYCURSOR;
1879
11.2k
    YYDEBUG(133, *YYCURSOR);
1880
11.2k
    yyleng = YYCURSOR - SCNG(yy_text);
1881
11.2k
#line 389 "Zend/zend_ini_scanner.l"
1882
11.2k
    { /* Raw string */
1883
  /* Eat leading and trailing single quotes */
1884
11.2k
  if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
1885
11.2k
    SCNG(yy_text)++;
1886
11.2k
    yyleng = yyleng - 2;
1887
11.2k
  }
1888
11.2k
  RETURN_TOKEN(TC_RAW, yytext, yyleng);
1889
0
}
1890
0
#line 1891 "Zend/zend_ini_scanner.c"
1891
0
  }
1892
/* *********************************** */
1893
511k
yyc_ST_VALUE:
1894
511k
  {
1895
511k
    static const unsigned char yybm[] = {
1896
511k
       80,  82,  82,  82,  82,  82,  82,  82, 
1897
511k
       82,  84,  64,  82,  82,  64,  82,  82, 
1898
511k
       82,  82,  82,  82,  82,  82,  82,  82, 
1899
511k
       82,  82,  82,  82,  82,  82,  82,  82, 
1900
511k
       84,  80,  80,  82, 208,  82,  80,  16, 
1901
511k
       80,  80,  82,  82,  82,  82,  82,  82, 
1902
511k
      122, 122, 122, 122, 122, 122, 122, 122, 
1903
511k
      122, 122,  82,  80,  82,  80,  82,  82, 
1904
511k
       82, 114, 114, 114, 114, 114, 114, 114, 
1905
511k
      114, 114, 114, 114, 114, 114, 114, 114, 
1906
511k
      114, 114, 114, 114, 114, 114, 114, 114, 
1907
511k
      114, 114, 114,  82,  82,  82,  80, 114, 
1908
511k
       82, 114, 114, 114, 114, 114, 114, 114, 
1909
511k
      114, 114, 114, 114, 114, 114, 114, 114, 
1910
511k
      114, 114, 114, 114, 114, 114, 114, 114, 
1911
511k
      114, 114, 114,  82,  80,  82,  80,  82, 
1912
511k
       82,  82,  82,  82,  82,  82,  82,  82, 
1913
511k
       82,  82,  82,  82,  82,  82,  82,  82, 
1914
511k
       82,  82,  82,  82,  82,  82,  82,  82, 
1915
511k
       82,  82,  82,  82,  82,  82,  82,  82, 
1916
511k
       82,  82,  82,  82,  82,  82,  82,  82, 
1917
511k
       82,  82,  82,  82,  82,  82,  82,  82, 
1918
511k
       82,  82,  82,  82,  82,  82,  82,  82, 
1919
511k
       82,  82,  82,  82,  82,  82,  82,  82, 
1920
511k
       82,  82,  82,  82,  82,  82,  82,  82, 
1921
511k
       82,  82,  82,  82,  82,  82,  82,  82, 
1922
511k
       82,  82,  82,  82,  82,  82,  82,  82, 
1923
511k
       82,  82,  82,  82,  82,  82,  82,  82, 
1924
511k
       82,  82,  82,  82,  82,  82,  82,  82, 
1925
511k
       82,  82,  82,  82,  82,  82,  82,  82, 
1926
511k
       82,  82,  82,  82,  82,  82,  82,  82, 
1927
511k
       82,  82,  82,  82,  82,  82,  82,  82, 
1928
511k
    };
1929
511k
    YYDEBUG(134, *YYCURSOR);
1930
511k
    YYFILL(6);
1931
511k
    yych = *YYCURSOR;
1932
511k
    if (yybm[0+yych] & 4) {
1933
36.7k
      goto yy141;
1934
36.7k
    }
1935
474k
    switch (yych) {
1936
0
    case 0x00:  goto yy136;
1937
0
    case '\t':
1938
13.7k
    case '\n':  goto yy144;
1939
4.33k
    case '\r':  goto yy146;
1940
0
    case ' ':
1941
725
    case '!':
1942
1.42k
    case '&':
1943
2.60k
    case '(':
1944
2.94k
    case ')':
1945
4.27k
    case '^':
1946
6.98k
    case '|':
1947
7.63k
    case '~': goto yy147;
1948
215k
    case '"': goto yy150;
1949
705
    case '$': goto yy152;
1950
9.50k
    case '\'':  goto yy153;
1951
219
    case '-':
1952
403
    case '.': goto yy154;
1953
2.79k
    case '0':
1954
8.30k
    case '1':
1955
34.5k
    case '2':
1956
36.2k
    case '3':
1957
37.7k
    case '4':
1958
40.2k
    case '5':
1959
40.5k
    case '6':
1960
40.9k
    case '7':
1961
41.6k
    case '8':
1962
42.6k
    case '9': goto yy155;
1963
46.7k
    case ';': goto yy158;
1964
2.15k
    case '=': goto yy160;
1965
13.3k
    case 'A':
1966
13.5k
    case 'B':
1967
13.8k
    case 'C':
1968
14.1k
    case 'D':
1969
14.1k
    case 'E':
1970
14.8k
    case 'G':
1971
14.8k
    case 'H':
1972
18.3k
    case 'I':
1973
18.3k
    case 'J':
1974
18.4k
    case 'K':
1975
18.5k
    case 'L':
1976
18.5k
    case 'M':
1977
18.7k
    case 'P':
1978
18.7k
    case 'Q':
1979
18.7k
    case 'R':
1980
18.9k
    case 'S':
1981
19.0k
    case 'U':
1982
19.1k
    case 'V':
1983
19.5k
    case 'W':
1984
20.1k
    case 'X':
1985
20.1k
    case 'Z':
1986
22.0k
    case '_':
1987
24.5k
    case 'a':
1988
25.1k
    case 'b':
1989
26.3k
    case 'c':
1990
26.5k
    case 'd':
1991
27.8k
    case 'e':
1992
29.7k
    case 'g':
1993
29.8k
    case 'h':
1994
31.3k
    case 'i':
1995
32.9k
    case 'j':
1996
33.4k
    case 'k':
1997
33.9k
    case 'l':
1998
34.0k
    case 'm':
1999
36.1k
    case 'p':
2000
36.4k
    case 'q':
2001
38.1k
    case 'r':
2002
38.6k
    case 's':
2003
39.1k
    case 'u':
2004
48.6k
    case 'v':
2005
48.7k
    case 'w':
2006
48.9k
    case 'x':
2007
56.3k
    case 'z': goto yy162;
2008
858
    case 'F':
2009
2.55k
    case 'f': goto yy165;
2010
3.91k
    case 'N':
2011
5.36k
    case 'n': goto yy166;
2012
272
    case 'O':
2013
28.8k
    case 'o': goto yy167;
2014
833
    case 'T':
2015
2.80k
    case 't': goto yy168;
2016
66
    case 'Y':
2017
491
    case 'y': goto yy169;
2018
34.9k
    default:  goto yy138;
2019
474k
    }
2020
0
yy136:
2021
0
    YYDEBUG(136, *YYCURSOR);
2022
0
    ++YYCURSOR;
2023
128
yy137:
2024
128
    YYDEBUG(137, *YYCURSOR);
2025
128
    yyleng = YYCURSOR - SCNG(yy_text);
2026
128
#line 681 "Zend/zend_ini_scanner.l"
2027
128
    { /* End of option value (if EOF is reached before EOL */
2028
128
  BEGIN(INITIAL);
2029
128
  return END_OF_LINE;
2030
0
}
2031
0
#line 2032 "Zend/zend_ini_scanner.c"
2032
1.02M
yy138:
2033
1.02M
    YYDEBUG(138, *YYCURSOR);
2034
1.02M
    yyaccept = 0;
2035
1.02M
    YYMARKER = ++YYCURSOR;
2036
1.02M
    YYFILL(1);
2037
1.02M
    yych = *YYCURSOR;
2038
1.03M
yy139:
2039
1.03M
    YYDEBUG(139, *YYCURSOR);
2040
1.03M
    if (yybm[0+yych] & 2) {
2041
947k
      goto yy138;
2042
947k
    }
2043
91.4k
    if (yych <= '"') goto yy140;
2044
24.8k
    if (yych <= '$') goto yy170;
2045
82.9k
yy140:
2046
82.9k
    YYDEBUG(140, *YYCURSOR);
2047
82.9k
    yyleng = YYCURSOR - SCNG(yy_text);
2048
82.9k
#line 598 "Zend/zend_ini_scanner.l"
2049
82.9k
    { /* Get everything else as option/offset value */
2050
82.9k
  RETURN_TOKEN(TC_STRING, yytext, yyleng);
2051
0
}
2052
0
#line 2053 "Zend/zend_ini_scanner.c"
2053
49.5k
yy141:
2054
49.5k
    YYDEBUG(141, *YYCURSOR);
2055
49.5k
    ++YYCURSOR;
2056
49.5k
    YYFILL(2);
2057
49.5k
    yych = *YYCURSOR;
2058
49.5k
    YYDEBUG(142, *YYCURSOR);
2059
49.5k
    if (yybm[0+yych] & 4) {
2060
12.8k
      goto yy141;
2061
12.8k
    }
2062
36.7k
    if (yych <= '\r') {
2063
229
      if (yych <= 0x08) goto yy143;
2064
60
      if (yych <= '\n') goto yy144;
2065
3
      if (yych >= '\r') goto yy146;
2066
36.5k
    } else {
2067
36.5k
      if (yych <= '"') {
2068
1.89k
        if (yych >= '"') goto yy150;
2069
34.6k
      } else {
2070
34.6k
        if (yych == ';') goto yy158;
2071
34.6k
      }
2072
36.5k
    }
2073
30.5k
yy143:
2074
30.5k
    YYDEBUG(143, *YYCURSOR);
2075
30.5k
    yyleng = YYCURSOR - SCNG(yy_text);
2076
30.5k
#line 661 "Zend/zend_ini_scanner.l"
2077
30.5k
    {
2078
30.5k
  RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng);
2079
0
}
2080
0
#line 2081 "Zend/zend_ini_scanner.c"
2081
14.6k
yy144:
2082
14.6k
    YYDEBUG(144, *YYCURSOR);
2083
14.6k
    ++YYCURSOR;
2084
18.0k
yy145:
2085
18.0k
    YYDEBUG(145, *YYCURSOR);
2086
18.0k
    yyleng = YYCURSOR - SCNG(yy_text);
2087
18.0k
#line 570 "Zend/zend_ini_scanner.l"
2088
18.0k
    { /* End of option value */
2089
18.0k
  BEGIN(INITIAL);
2090
18.0k
  SCNG(lineno)++;
2091
18.0k
  return END_OF_LINE;
2092
14.6k
}
2093
0
#line 2094 "Zend/zend_ini_scanner.c"
2094
4.33k
yy146:
2095
4.33k
    YYDEBUG(146, *YYCURSOR);
2096
4.33k
    yych = *++YYCURSOR;
2097
4.33k
    if (yych == '\n') goto yy144;
2098
3.39k
    goto yy145;
2099
10.3k
yy147:
2100
10.3k
    YYDEBUG(147, *YYCURSOR);
2101
10.3k
    ++YYCURSOR;
2102
10.3k
    YYFILL(1);
2103
10.3k
    yych = *YYCURSOR;
2104
10.3k
    YYDEBUG(148, *YYCURSOR);
2105
10.3k
    if (yych == '\t') goto yy147;
2106
10.3k
    if (yych == ' ') goto yy147;
2107
7.63k
    YYDEBUG(149, *YYCURSOR);
2108
7.63k
    yyleng = YYCURSOR - SCNG(yy_text);
2109
7.63k
#line 588 "Zend/zend_ini_scanner.l"
2110
7.63k
    { /* Boolean operators */
2111
7.63k
  return yytext[0];
2112
10.3k
}
2113
0
#line 2114 "Zend/zend_ini_scanner.c"
2114
216k
yy150:
2115
216k
    YYDEBUG(150, *YYCURSOR);
2116
216k
    ++YYCURSOR;
2117
216k
    YYDEBUG(151, *YYCURSOR);
2118
216k
    yyleng = YYCURSOR - SCNG(yy_text);
2119
216k
#line 610 "Zend/zend_ini_scanner.l"
2120
216k
    { /* Double quoted '"' string start */
2121
216k
  yy_push_state(ST_DOUBLE_QUOTES);
2122
216k
  return '"';
2123
10.3k
}
2124
0
#line 2125 "Zend/zend_ini_scanner.c"
2125
705
yy152:
2126
705
    YYDEBUG(152, *YYCURSOR);
2127
705
    yych = *++YYCURSOR;
2128
705
    if (yych <= '\\') {
2129
676
      if (yych <= 0x00) goto yy137;
2130
587
      if (yych <= '[') goto yy138;
2131
0
      goto yy172;
2132
587
    } else {
2133
29
      if (yych == '{') goto yy173;
2134
29
      goto yy138;
2135
29
    }
2136
9.50k
yy153:
2137
9.50k
    YYDEBUG(153, *YYCURSOR);
2138
9.50k
    yych = *++YYCURSOR;
2139
9.50k
    if (yybm[0+yych] & 64) {
2140
9.47k
      goto yy175;
2141
9.47k
    }
2142
39
    goto yy137;
2143
403
yy154:
2144
403
    YYDEBUG(154, *YYCURSOR);
2145
403
    yyaccept = 0;
2146
403
    yych = *(YYMARKER = ++YYCURSOR);
2147
403
    if (yych <= '/') goto yy139;
2148
251
    if (yych <= '9') goto yy177;
2149
53
    goto yy139;
2150
62.6k
yy155:
2151
62.6k
    YYDEBUG(155, *YYCURSOR);
2152
62.6k
    yyaccept = 1;
2153
62.6k
    YYMARKER = ++YYCURSOR;
2154
62.6k
    YYFILL(1);
2155
62.6k
    yych = *YYCURSOR;
2156
62.6k
    YYDEBUG(156, *YYCURSOR);
2157
62.6k
    if (yybm[0+yych] & 8) {
2158
20.0k
      goto yy155;
2159
20.0k
    }
2160
42.6k
    if (yych <= '-') {
2161
13.2k
      if (yych <= 0x1F) {
2162
766
        if (yych <= '\n') {
2163
581
          if (yych <= 0x00) goto yy157;
2164
459
          if (yych <= 0x08) goto yy138;
2165
459
        } else {
2166
185
          if (yych != '\r') goto yy138;
2167
185
        }
2168
12.4k
      } else {
2169
12.4k
        if (yych <= '$') {
2170
10.2k
          if (yych <= '"') goto yy157;
2171
198
          if (yych <= '#') goto yy138;
2172
140
          goto yy170;
2173
2.26k
        } else {
2174
2.26k
          if (yych <= '%') goto yy138;
2175
2.16k
          if (yych >= '*') goto yy138;
2176
2.16k
        }
2177
12.4k
      }
2178
29.4k
    } else {
2179
29.4k
      if (yych <= ']') {
2180
26.6k
        if (yych <= ';') {
2181
25.7k
          if (yych <= '.') goto yy177;
2182
24.7k
          if (yych <= ':') goto yy138;
2183
24.7k
        } else {
2184
838
          if (yych != '=') goto yy138;
2185
838
        }
2186
26.6k
      } else {
2187
2.80k
        if (yych <= '|') {
2188
575
          if (yych <= '^') goto yy157;
2189
554
          if (yych <= '{') goto yy138;
2190
2.22k
        } else {
2191
2.22k
          if (yych != '~') goto yy138;
2192
2.22k
        }
2193
2.80k
      }
2194
29.4k
    }
2195
36.0k
yy157:
2196
36.0k
    YYDEBUG(157, *YYCURSOR);
2197
36.0k
    yyleng = YYCURSOR - SCNG(yy_text);
2198
36.0k
#line 580 "Zend/zend_ini_scanner.l"
2199
36.0k
    { /* Get number option value as string */
2200
36.0k
  RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
2201
0
}
2202
0
#line 2203 "Zend/zend_ini_scanner.c"
2203
3.09M
yy158:
2204
3.09M
    YYDEBUG(158, *YYCURSOR);
2205
3.09M
    ++YYCURSOR;
2206
3.09M
    YYFILL(2);
2207
3.08M
    yych = *YYCURSOR;
2208
3.08M
    YYDEBUG(159, *YYCURSOR);
2209
3.08M
    if (yybm[0+yych] & 16) {
2210
3.03M
      goto yy158;
2211
3.03M
    }
2212
49.2k
    if (yych <= '\n') goto yy179;
2213
3.26k
    goto yy181;
2214
3.26k
yy160:
2215
2.15k
    YYDEBUG(160, *YYCURSOR);
2216
2.15k
    ++YYCURSOR;
2217
2.15k
    YYDEBUG(161, *YYCURSOR);
2218
2.15k
    yyleng = YYCURSOR - SCNG(yy_text);
2219
2.15k
#line 592 "Zend/zend_ini_scanner.l"
2220
2.15k
    { /* Make = used in option value to trigger error */
2221
2.15k
  yyless(0);
2222
2.15k
  BEGIN(INITIAL);
2223
2.15k
  return END_OF_LINE;
2224
49.2k
}
2225
0
#line 2226 "Zend/zend_ini_scanner.c"
2226
301k
yy162:
2227
301k
    YYDEBUG(162, *YYCURSOR);
2228
301k
    yyaccept = 2;
2229
301k
    YYMARKER = ++YYCURSOR;
2230
301k
    YYFILL(1);
2231
301k
    yych = *YYCURSOR;
2232
301k
    YYDEBUG(163, *YYCURSOR);
2233
301k
    if (yybm[0+yych] & 32) {
2234
225k
      goto yy162;
2235
225k
    }
2236
75.6k
    if (yych <= ')') {
2237
44.9k
      if (yych <= '\r') {
2238
4.06k
        if (yych <= 0x08) {
2239
948
          if (yych >= 0x01) goto yy138;
2240
3.12k
        } else {
2241
3.12k
          if (yych <= '\n') goto yy164;
2242
510
          if (yych <= '\f') goto yy138;
2243
510
        }
2244
40.8k
      } else {
2245
40.8k
        if (yych <= '#') {
2246
39.1k
          if (yych <= 0x1F) goto yy138;
2247
35.3k
          if (yych >= '#') goto yy138;
2248
35.3k
        } else {
2249
1.71k
          if (yych <= '$') goto yy170;
2250
1.63k
          if (yych <= '%') goto yy138;
2251
1.63k
        }
2252
40.8k
      }
2253
44.9k
    } else {
2254
30.6k
      if (yych <= ']') {
2255
22.8k
        if (yych <= ';') {
2256
15.7k
          if (yych <= ':') goto yy138;
2257
15.7k
        } else {
2258
7.04k
          if (yych != '=') goto yy138;
2259
7.04k
        }
2260
22.8k
      } else {
2261
7.82k
        if (yych <= '|') {
2262
349
          if (yych <= '^') goto yy164;
2263
289
          if (yych <= '{') goto yy138;
2264
7.47k
        } else {
2265
7.47k
          if (yych != '~') goto yy138;
2266
7.47k
        }
2267
7.82k
      }
2268
30.6k
    }
2269
54.8k
yy164:
2270
54.8k
    YYDEBUG(164, *YYCURSOR);
2271
54.8k
    yyleng = YYCURSOR - SCNG(yy_text);
2272
54.8k
#line 576 "Zend/zend_ini_scanner.l"
2273
54.8k
    { /* Get constant option value */
2274
54.8k
  RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
2275
0
}
2276
0
#line 2277 "Zend/zend_ini_scanner.c"
2277
2.55k
yy165:
2278
2.55k
    YYDEBUG(165, *YYCURSOR);
2279
2.55k
    yyaccept = 2;
2280
2.55k
    yych = *(YYMARKER = ++YYCURSOR);
2281
2.55k
    if (yych <= '<') {
2282
1.14k
      if (yych <= '"') {
2283
815
        if (yych <= '\n') {
2284
287
          if (yych <= 0x00) goto yy164;
2285
55
          if (yych <= 0x08) goto yy139;
2286
55
          goto yy164;
2287
528
        } else {
2288
528
          if (yych == '\r') goto yy164;
2289
528
          if (yych <= 0x1F) goto yy139;
2290
249
          goto yy164;
2291
528
        }
2292
815
      } else {
2293
328
        if (yych <= '/') {
2294
41
          if (yych <= '%') goto yy139;
2295
41
          if (yych <= ')') goto yy164;
2296
41
          goto yy139;
2297
287
        } else {
2298
287
          if (yych <= '9') goto yy162;
2299
3
          if (yych == ';') goto yy164;
2300
0
          goto yy139;
2301
3
        }
2302
328
      }
2303
1.41k
    } else {
2304
1.41k
      if (yych <= '_') {
2305
242
        if (yych <= 'A') {
2306
0
          if (yych <= '=') goto yy164;
2307
0
          if (yych <= '@') goto yy139;
2308
0
          goto yy182;
2309
242
        } else {
2310
242
          if (yych <= 'Z') goto yy162;
2311
164
          if (yych <= ']') goto yy139;
2312
164
          if (yych <= '^') goto yy164;
2313
164
          goto yy162;
2314
164
        }
2315
1.16k
      } else {
2316
1.16k
        if (yych <= '{') {
2317
632
          if (yych <= '`') goto yy139;
2318
632
          if (yych <= 'a') goto yy182;
2319
632
          if (yych <= 'z') goto yy162;
2320
83
          goto yy139;
2321
632
        } else {
2322
537
          if (yych == '}') goto yy139;
2323
537
          if (yych <= '~') goto yy164;
2324
537
          goto yy139;
2325
537
        }
2326
1.16k
      }
2327
1.41k
    }
2328
5.36k
yy166:
2329
5.36k
    YYDEBUG(166, *YYCURSOR);
2330
5.36k
    yyaccept = 2;
2331
5.36k
    yych = *(YYMARKER = ++YYCURSOR);
2332
5.36k
    if (yych <= 'N') {
2333
3.58k
      if (yych <= '%') {
2334
2.67k
        if (yych <= '\f') {
2335
0
          if (yych <= 0x00) goto yy164;
2336
0
          if (yych <= 0x08) goto yy139;
2337
0
          if (yych <= '\n') goto yy164;
2338
0
          goto yy139;
2339
2.67k
        } else {
2340
2.67k
          if (yych <= '\r') goto yy164;
2341
2.67k
          if (yych <= 0x1F) goto yy139;
2342
2.67k
          if (yych <= '"') goto yy164;
2343
2.67k
          goto yy139;
2344
2.67k
        }
2345
2.67k
      } else {
2346
903
        if (yych <= ':') {
2347
730
          if (yych <= ')') goto yy164;
2348
483
          if (yych <= '/') goto yy139;
2349
355
          if (yych <= '9') goto yy162;
2350
95
          goto yy139;
2351
355
        } else {
2352
173
          if (yych <= '<') {
2353
64
            if (yych <= ';') goto yy164;
2354
64
            goto yy139;
2355
109
          } else {
2356
109
            if (yych <= '=') goto yy164;
2357
16
            if (yych <= '@') goto yy139;
2358
16
            goto yy162;
2359
16
          }
2360
173
        }
2361
903
      }
2362
3.58k
    } else {
2363
1.78k
      if (yych <= 'n') {
2364
82
        if (yych <= 'Z') {
2365
3
          if (yych <= 'O') goto yy183;
2366
3
          if (yych == 'U') goto yy185;
2367
0
          goto yy162;
2368
79
        } else {
2369
79
          if (yych <= '^') {
2370
0
            if (yych <= ']') goto yy139;
2371
0
            goto yy164;
2372
79
          } else {
2373
79
            if (yych == '`') goto yy139;
2374
79
            goto yy162;
2375
79
          }
2376
79
        }
2377
1.70k
      } else {
2378
1.70k
        if (yych <= 'z') {
2379
679
          if (yych <= 'o') goto yy183;
2380
246
          if (yych == 'u') goto yy185;
2381
152
          goto yy162;
2382
1.02k
        } else {
2383
1.02k
          if (yych <= '|') {
2384
0
            if (yych <= '{') goto yy139;
2385
0
            goto yy164;
2386
1.02k
          } else {
2387
1.02k
            if (yych == '~') goto yy164;
2388
1.02k
            goto yy139;
2389
1.02k
          }
2390
1.02k
        }
2391
1.70k
      }
2392
1.78k
    }
2393
28.8k
yy167:
2394
28.8k
    YYDEBUG(167, *YYCURSOR);
2395
28.8k
    yyaccept = 2;
2396
28.8k
    yych = *(YYMARKER = ++YYCURSOR);
2397
28.8k
    if (yych <= 'E') {
2398
8.31k
      if (yych <= '%') {
2399
7.57k
        if (yych <= '\f') {
2400
7.00k
          if (yych <= 0x00) goto yy164;
2401
6.88k
          if (yych <= 0x08) goto yy139;
2402
1
          if (yych <= '\n') goto yy164;
2403
0
          goto yy139;
2404
576
        } else {
2405
576
          if (yych <= '\r') goto yy164;
2406
576
          if (yych <= 0x1F) goto yy139;
2407
543
          if (yych <= '"') goto yy164;
2408
542
          goto yy139;
2409
543
        }
2410
7.57k
      } else {
2411
740
        if (yych <= ':') {
2412
522
          if (yych <= ')') goto yy164;
2413
487
          if (yych <= '/') goto yy139;
2414
300
          if (yych <= '9') goto yy162;
2415
0
          goto yy139;
2416
300
        } else {
2417
218
          if (yych <= '<') {
2418
27
            if (yych <= ';') goto yy164;
2419
27
            goto yy139;
2420
191
          } else {
2421
191
            if (yych <= '=') goto yy164;
2422
155
            if (yych <= '@') goto yy139;
2423
0
            goto yy162;
2424
155
          }
2425
218
        }
2426
740
      }
2427
20.4k
    } else {
2428
20.4k
      if (yych <= 'e') {
2429
7.31k
        if (yych <= 'Z') {
2430
7.06k
          if (yych <= 'F') goto yy186;
2431
6.97k
          if (yych == 'N') goto yy187;
2432
137
          goto yy162;
2433
6.97k
        } else {
2434
244
          if (yych <= '^') {
2435
32
            if (yych <= ']') goto yy139;
2436
0
            goto yy164;
2437
212
          } else {
2438
212
            if (yych == '`') goto yy139;
2439
170
            goto yy162;
2440
212
          }
2441
244
        }
2442
13.1k
      } else {
2443
13.1k
        if (yych <= 'z') {
2444
13.1k
          if (yych <= 'f') goto yy186;
2445
744
          if (yych == 'n') goto yy187;
2446
626
          goto yy162;
2447
744
        } else {
2448
48
          if (yych <= '|') {
2449
2
            if (yych <= '{') goto yy139;
2450
0
            goto yy164;
2451
46
          } else {
2452
46
            if (yych == '~') goto yy164;
2453
46
            goto yy139;
2454
46
          }
2455
48
        }
2456
13.1k
      }
2457
20.4k
    }
2458
2.80k
yy168:
2459
2.80k
    YYDEBUG(168, *YYCURSOR);
2460
2.80k
    yyaccept = 2;
2461
2.80k
    yych = *(YYMARKER = ++YYCURSOR);
2462
2.80k
    if (yych <= '=') {
2463
144
      if (yych <= '"') {
2464
7
        if (yych <= '\n') {
2465
7
          if (yych <= 0x00) goto yy164;
2466
0
          if (yych <= 0x08) goto yy139;
2467
0
          goto yy164;
2468
0
        } else {
2469
0
          if (yych == '\r') goto yy164;
2470
0
          if (yych <= 0x1F) goto yy139;
2471
0
          goto yy164;
2472
0
        }
2473
137
      } else {
2474
137
        if (yych <= '9') {
2475
135
          if (yych <= '%') goto yy139;
2476
135
          if (yych <= ')') goto yy164;
2477
135
          if (yych <= '/') goto yy139;
2478
132
          goto yy162;
2479
135
        } else {
2480
2
          if (yych == ';') goto yy164;
2481
0
          if (yych <= '<') goto yy139;
2482
0
          goto yy164;
2483
0
        }
2484
137
      }
2485
2.65k
    } else {
2486
2.65k
      if (yych <= '`') {
2487
1.10k
        if (yych <= 'Z') {
2488
1
          if (yych <= '@') goto yy139;
2489
1
          if (yych == 'R') goto yy189;
2490
1
          goto yy162;
2491
1.10k
        } else {
2492
1.10k
          if (yych <= ']') goto yy139;
2493
94
          if (yych <= '^') goto yy164;
2494
94
          if (yych <= '_') goto yy162;
2495
0
          goto yy139;
2496
94
        }
2497
1.55k
      } else {
2498
1.55k
        if (yych <= '{') {
2499
894
          if (yych == 'r') goto yy189;
2500
581
          if (yych <= 'z') goto yy162;
2501
0
          goto yy139;
2502
659
        } else {
2503
659
          if (yych == '}') goto yy139;
2504
659
          if (yych <= '~') goto yy164;
2505
659
          goto yy139;
2506
659
        }
2507
1.55k
      }
2508
2.65k
    }
2509
491
yy169:
2510
491
    YYDEBUG(169, *YYCURSOR);
2511
491
    yyaccept = 2;
2512
491
    yych = *(YYMARKER = ++YYCURSOR);
2513
491
    if (yych <= '=') {
2514
147
      if (yych <= '"') {
2515
5
        if (yych <= '\n') {
2516
0
          if (yych <= 0x00) goto yy164;
2517
0
          if (yych <= 0x08) goto yy139;
2518
0
          goto yy164;
2519
5
        } else {
2520
5
          if (yych == '\r') goto yy164;
2521
2
          if (yych <= 0x1F) goto yy139;
2522
2
          goto yy164;
2523
2
        }
2524
142
      } else {
2525
142
        if (yych <= '9') {
2526
0
          if (yych <= '%') goto yy139;
2527
0
          if (yych <= ')') goto yy164;
2528
0
          if (yych <= '/') goto yy139;
2529
0
          goto yy162;
2530
142
        } else {
2531
142
          if (yych == ';') goto yy164;
2532
142
          if (yych <= '<') goto yy139;
2533
0
          goto yy164;
2534
142
        }
2535
142
      }
2536
344
    } else {
2537
344
      if (yych <= '`') {
2538
3
        if (yych <= 'Z') {
2539
3
          if (yych <= '@') goto yy139;
2540
3
          if (yych == 'E') goto yy190;
2541
3
          goto yy162;
2542
3
        } else {
2543
0
          if (yych <= ']') goto yy139;
2544
0
          if (yych <= '^') goto yy164;
2545
0
          if (yych <= '_') goto yy162;
2546
0
          goto yy139;
2547
0
        }
2548
341
      } else {
2549
341
        if (yych <= '{') {
2550
98
          if (yych == 'e') goto yy190;
2551
80
          if (yych <= 'z') goto yy162;
2552
0
          goto yy139;
2553
243
        } else {
2554
243
          if (yych == '}') goto yy139;
2555
243
          if (yych <= '~') goto yy164;
2556
241
          goto yy139;
2557
243
        }
2558
341
      }
2559
344
    }
2560
9.06k
yy170:
2561
9.06k
    YYDEBUG(170, *YYCURSOR);
2562
9.06k
    ++YYCURSOR;
2563
9.06k
    YYFILL(1);
2564
9.06k
    yych = *YYCURSOR;
2565
9.06k
    if (yych <= '\\') {
2566
8.93k
      if (yych <= 0x00) goto yy171;
2567
8.84k
      if (yych <= '[') goto yy138;
2568
0
      goto yy172;
2569
8.84k
    } else {
2570
128
      if (yych != '{') goto yy138;
2571
128
    }
2572
89
yy171:
2573
89
    YYDEBUG(171, *YYCURSOR);
2574
89
    YYCURSOR = YYMARKER;
2575
89
    if (yyaccept <= 2) {
2576
89
      if (yyaccept <= 1) {
2577
89
        if (yyaccept == 0) {
2578
64
          goto yy140;
2579
64
        } else {
2580
25
          goto yy157;
2581
25
        }
2582
89
      } else {
2583
0
        goto yy164;
2584
0
      }
2585
89
    } else {
2586
0
      if (yyaccept <= 4) {
2587
0
        if (yyaccept == 3) {
2588
0
          goto yy184;
2589
0
        } else {
2590
0
          goto yy188;
2591
0
        }
2592
0
      } else {
2593
0
        goto yy205;
2594
0
      }
2595
0
    }
2596
0
yy172:
2597
0
    YYDEBUG(172, *YYCURSOR);
2598
0
    ++YYCURSOR;
2599
0
    YYFILL(1);
2600
0
    yych = *YYCURSOR;
2601
0
    if (yybm[0+yych] & 128) {
2602
0
      goto yy191;
2603
0
    }
2604
0
    goto yy138;
2605
0
yy173:
2606
0
    YYDEBUG(173, *YYCURSOR);
2607
0
    ++YYCURSOR;
2608
0
    YYDEBUG(174, *YYCURSOR);
2609
0
    yyleng = YYCURSOR - SCNG(yy_text);
2610
0
#line 422 "Zend/zend_ini_scanner.l"
2611
0
    { /* Variable start */
2612
0
  yy_push_state(ST_VARNAME);
2613
0
  return TC_DOLLAR_CURLY;
2614
0
}
2615
0
#line 2616 "Zend/zend_ini_scanner.c"
2616
557k
yy175:
2617
557k
    YYDEBUG(175, *YYCURSOR);
2618
557k
    ++YYCURSOR;
2619
557k
    YYFILL(1);
2620
556k
    yych = *YYCURSOR;
2621
556k
    YYDEBUG(176, *YYCURSOR);
2622
556k
    if (yybm[0+yych] & 64) {
2623
547k
      goto yy175;
2624
547k
    }
2625
8.92k
    goto yy193;
2626
8.92k
yy177:
2627
4.72k
    YYDEBUG(177, *YYCURSOR);
2628
4.72k
    yyaccept = 1;
2629
4.72k
    YYMARKER = ++YYCURSOR;
2630
4.72k
    YYFILL(1);
2631
4.72k
    yych = *YYCURSOR;
2632
4.72k
    YYDEBUG(178, *YYCURSOR);
2633
4.72k
    if (yych <= '/') {
2634
809
      if (yych <= 0x1F) {
2635
144
        if (yych <= '\n') {
2636
33
          if (yych <= 0x00) goto yy157;
2637
5
          if (yych <= 0x08) goto yy138;
2638
0
          goto yy157;
2639
111
        } else {
2640
111
          if (yych == '\r') goto yy157;
2641
4
          goto yy138;
2642
111
        }
2643
665
      } else {
2644
665
        if (yych <= '$') {
2645
271
          if (yych <= '"') goto yy157;
2646
229
          if (yych <= '#') goto yy138;
2647
229
          goto yy170;
2648
394
        } else {
2649
394
          if (yych <= '%') goto yy138;
2650
130
          if (yych <= ')') goto yy157;
2651
130
          goto yy138;
2652
130
        }
2653
665
      }
2654
3.91k
    } else {
2655
3.91k
      if (yych <= ']') {
2656
3.52k
        if (yych <= ';') {
2657
3.49k
          if (yych <= '9') goto yy177;
2658
14
          if (yych <= ':') goto yy138;
2659
14
          goto yy157;
2660
34
        } else {
2661
34
          if (yych == '=') goto yy157;
2662
31
          goto yy138;
2663
34
        }
2664
3.52k
      } else {
2665
388
        if (yych <= '|') {
2666
238
          if (yych <= '^') goto yy157;
2667
3
          if (yych <= '{') goto yy138;
2668
0
          goto yy157;
2669
150
        } else {
2670
150
          if (yych == '~') goto yy157;
2671
150
          goto yy138;
2672
150
        }
2673
388
      }
2674
3.91k
    }
2675
47.6k
yy179:
2676
47.6k
    YYDEBUG(179, *YYCURSOR);
2677
47.6k
    ++YYCURSOR;
2678
49.2k
yy180:
2679
49.2k
    YYDEBUG(180, *YYCURSOR);
2680
49.2k
    yyleng = YYCURSOR - SCNG(yy_text);
2681
49.2k
#line 675 "Zend/zend_ini_scanner.l"
2682
49.2k
    { /* Comment */
2683
49.2k
  BEGIN(INITIAL);
2684
49.2k
  SCNG(lineno)++;
2685
49.2k
  return END_OF_LINE;
2686
47.6k
}
2687
0
#line 2688 "Zend/zend_ini_scanner.c"
2688
3.26k
yy181:
2689
3.26k
    YYDEBUG(181, *YYCURSOR);
2690
3.26k
    yych = *++YYCURSOR;
2691
3.26k
    if (yych == '\n') goto yy179;
2692
1.61k
    goto yy180;
2693
1.61k
yy182:
2694
0
    YYDEBUG(182, *YYCURSOR);
2695
0
    yyaccept = 2;
2696
0
    yych = *(YYMARKER = ++YYCURSOR);
2697
0
    if (yych <= '=') {
2698
0
      if (yych <= '"') {
2699
0
        if (yych <= '\n') {
2700
0
          if (yych <= 0x00) goto yy164;
2701
0
          if (yych <= 0x08) goto yy139;
2702
0
          goto yy164;
2703
0
        } else {
2704
0
          if (yych == '\r') goto yy164;
2705
0
          if (yych <= 0x1F) goto yy139;
2706
0
          goto yy164;
2707
0
        }
2708
0
      } else {
2709
0
        if (yych <= '9') {
2710
0
          if (yych <= '%') goto yy139;
2711
0
          if (yych <= ')') goto yy164;
2712
0
          if (yych <= '/') goto yy139;
2713
0
          goto yy162;
2714
0
        } else {
2715
0
          if (yych == ';') goto yy164;
2716
0
          if (yych <= '<') goto yy139;
2717
0
          goto yy164;
2718
0
        }
2719
0
      }
2720
0
    } else {
2721
0
      if (yych <= '`') {
2722
0
        if (yych <= 'Z') {
2723
0
          if (yych <= '@') goto yy139;
2724
0
          if (yych == 'L') goto yy195;
2725
0
          goto yy162;
2726
0
        } else {
2727
0
          if (yych <= ']') goto yy139;
2728
0
          if (yych <= '^') goto yy164;
2729
0
          if (yych <= '_') goto yy162;
2730
0
          goto yy139;
2731
0
        }
2732
0
      } else {
2733
0
        if (yych <= '{') {
2734
0
          if (yych == 'l') goto yy195;
2735
0
          if (yych <= 'z') goto yy162;
2736
0
          goto yy139;
2737
0
        } else {
2738
0
          if (yych == '}') goto yy139;
2739
0
          if (yych <= '~') goto yy164;
2740
0
          goto yy139;
2741
0
        }
2742
0
      }
2743
0
    }
2744
433
yy183:
2745
433
    YYDEBUG(183, *YYCURSOR);
2746
433
    yyaccept = 3;
2747
433
    yych = *(YYMARKER = ++YYCURSOR);
2748
433
    if (yych <= '<') {
2749
416
      if (yych <= ' ') {
2750
416
        if (yych <= '\n') {
2751
416
          if (yych <= 0x00) goto yy184;
2752
416
          if (yych <= 0x08) goto yy139;
2753
351
          if (yych <= '\t') goto yy196;
2754
351
        } else {
2755
0
          if (yych == '\r') goto yy184;
2756
0
          if (yych <= 0x1F) goto yy139;
2757
0
          goto yy196;
2758
0
        }
2759
416
      } else {
2760
0
        if (yych <= '/') {
2761
0
          if (yych <= '"') goto yy184;
2762
0
          if (yych <= '%') goto yy139;
2763
0
          if (yych >= '*') goto yy139;
2764
0
        } else {
2765
0
          if (yych <= '9') goto yy162;
2766
0
          if (yych != ';') goto yy139;
2767
0
        }
2768
0
      }
2769
416
    } else {
2770
17
      if (yych <= '_') {
2771
0
        if (yych <= 'N') {
2772
0
          if (yych <= '=') goto yy184;
2773
0
          if (yych <= '@') goto yy139;
2774
0
          if (yych <= 'M') goto yy162;
2775
0
          goto yy198;
2776
0
        } else {
2777
0
          if (yych <= 'Z') goto yy162;
2778
0
          if (yych <= ']') goto yy139;
2779
0
          if (yych >= '_') goto yy162;
2780
0
        }
2781
17
      } else {
2782
17
        if (yych <= 'z') {
2783
17
          if (yych <= '`') goto yy139;
2784
17
          if (yych == 'n') goto yy198;
2785
0
          goto yy162;
2786
17
        } else {
2787
0
          if (yych <= '|') {
2788
0
            if (yych <= '{') goto yy139;
2789
0
          } else {
2790
0
            if (yych != '~') goto yy139;
2791
0
          }
2792
0
        }
2793
17
      }
2794
17
    }
2795
1.15k
yy184:
2796
1.15k
    YYDEBUG(184, *YYCURSOR);
2797
1.15k
    yyleng = YYCURSOR - SCNG(yy_text);
2798
1.15k
#line 495 "Zend/zend_ini_scanner.l"
2799
1.15k
    { /* FALSE value (when used outside option value/offset this causes parse error!)*/
2800
1.15k
  RETURN_TOKEN(BOOL_FALSE, "", 0);
2801
0
}
2802
0
#line 2803 "Zend/zend_ini_scanner.c"
2803
97
yy185:
2804
97
    YYDEBUG(185, *YYCURSOR);
2805
97
    yyaccept = 2;
2806
97
    yych = *(YYMARKER = ++YYCURSOR);
2807
97
    if (yych <= '=') {
2808
0
      if (yych <= '"') {
2809
0
        if (yych <= '\n') {
2810
0
          if (yych <= 0x00) goto yy164;
2811
0
          if (yych <= 0x08) goto yy139;
2812
0
          goto yy164;
2813
0
        } else {
2814
0
          if (yych == '\r') goto yy164;
2815
0
          if (yych <= 0x1F) goto yy139;
2816
0
          goto yy164;
2817
0
        }
2818
0
      } else {
2819
0
        if (yych <= '9') {
2820
0
          if (yych <= '%') goto yy139;
2821
0
          if (yych <= ')') goto yy164;
2822
0
          if (yych <= '/') goto yy139;
2823
0
          goto yy162;
2824
0
        } else {
2825
0
          if (yych == ';') goto yy164;
2826
0
          if (yych <= '<') goto yy139;
2827
0
          goto yy164;
2828
0
        }
2829
0
      }
2830
97
    } else {
2831
97
      if (yych <= '`') {
2832
3
        if (yych <= 'Z') {
2833
3
          if (yych <= '@') goto yy139;
2834
3
          if (yych == 'L') goto yy199;
2835
0
          goto yy162;
2836
3
        } else {
2837
0
          if (yych <= ']') goto yy139;
2838
0
          if (yych <= '^') goto yy164;
2839
0
          if (yych <= '_') goto yy162;
2840
0
          goto yy139;
2841
0
        }
2842
94
      } else {
2843
94
        if (yych <= '{') {
2844
94
          if (yych == 'l') goto yy199;
2845
72
          if (yych <= 'z') goto yy162;
2846
0
          goto yy139;
2847
72
        } else {
2848
0
          if (yych == '}') goto yy139;
2849
0
          if (yych <= '~') goto yy164;
2850
0
          goto yy139;
2851
0
        }
2852
94
      }
2853
97
    }
2854
12.4k
yy186:
2855
12.4k
    YYDEBUG(186, *YYCURSOR);
2856
12.4k
    yyaccept = 2;
2857
12.4k
    yych = *(YYMARKER = ++YYCURSOR);
2858
12.4k
    if (yych <= '=') {
2859
1.34k
      if (yych <= '"') {
2860
415
        if (yych <= '\n') {
2861
5
          if (yych <= 0x00) goto yy164;
2862
3
          if (yych <= 0x08) goto yy139;
2863
0
          goto yy164;
2864
410
        } else {
2865
410
          if (yych == '\r') goto yy164;
2866
410
          if (yych <= 0x1F) goto yy139;
2867
266
          goto yy164;
2868
410
        }
2869
927
      } else {
2870
927
        if (yych <= '9') {
2871
890
          if (yych <= '%') goto yy139;
2872
890
          if (yych <= ')') goto yy164;
2873
890
          if (yych <= '/') goto yy139;
2874
827
          goto yy162;
2875
890
        } else {
2876
37
          if (yych == ';') goto yy164;
2877
37
          if (yych <= '<') goto yy139;
2878
3
          goto yy164;
2879
37
        }
2880
927
      }
2881
11.1k
    } else {
2882
11.1k
      if (yych <= '`') {
2883
967
        if (yych <= 'Z') {
2884
946
          if (yych <= '@') goto yy139;
2885
946
          if (yych == 'F') goto yy200;
2886
946
          goto yy162;
2887
946
        } else {
2888
21
          if (yych <= ']') goto yy139;
2889
0
          if (yych <= '^') goto yy164;
2890
0
          if (yych <= '_') goto yy162;
2891
0
          goto yy139;
2892
0
        }
2893
10.1k
      } else {
2894
10.1k
        if (yych <= '{') {
2895
9.75k
          if (yych == 'f') goto yy200;
2896
3.18k
          if (yych <= 'z') goto yy162;
2897
55
          goto yy139;
2898
3.18k
        } else {
2899
408
          if (yych == '}') goto yy139;
2900
408
          if (yych <= '~') goto yy164;
2901
408
          goto yy139;
2902
408
        }
2903
10.1k
      }
2904
11.1k
    }
2905
6.99k
yy187:
2906
6.99k
    YYDEBUG(187, *YYCURSOR);
2907
6.99k
    yyaccept = 4;
2908
6.99k
    yych = *(YYMARKER = ++YYCURSOR);
2909
6.99k
    if (yybm[0+yych] & 32) {
2910
5.82k
      goto yy162;
2911
5.82k
    }
2912
1.17k
    if (yych <= ')') {
2913
111
      if (yych <= '\f') {
2914
74
        if (yych <= 0x08) {
2915
12
          if (yych >= 0x01) goto yy139;
2916
62
        } else {
2917
62
          if (yych <= '\t') goto yy201;
2918
62
          if (yych >= '\v') goto yy139;
2919
62
        }
2920
74
      } else {
2921
37
        if (yych <= ' ') {
2922
2
          if (yych <= '\r') goto yy188;
2923
2
          if (yych <= 0x1F) goto yy139;
2924
0
          goto yy201;
2925
35
        } else {
2926
35
          if (yych <= '"') goto yy188;
2927
35
          if (yych <= '%') goto yy139;
2928
35
        }
2929
37
      }
2930
1.06k
    } else {
2931
1.06k
      if (yych <= ']') {
2932
47
        if (yych <= ';') {
2933
0
          if (yych <= ':') goto yy139;
2934
47
        } else {
2935
47
          if (yych != '=') goto yy139;
2936
47
        }
2937
1.01k
      } else {
2938
1.01k
        if (yych <= '|') {
2939
0
          if (yych <= '^') goto yy188;
2940
0
          if (yych <= '{') goto yy139;
2941
1.01k
        } else {
2942
1.01k
          if (yych != '~') goto yy139;
2943
1.01k
        }
2944
1.01k
      }
2945
1.06k
    }
2946
109
yy188:
2947
109
    YYDEBUG(188, *YYCURSOR);
2948
109
    yyleng = YYCURSOR - SCNG(yy_text);
2949
109
#line 491 "Zend/zend_ini_scanner.l"
2950
109
    { /* TRUE value (when used outside option value/offset this causes parse error!) */
2951
109
  RETURN_TOKEN(BOOL_TRUE, "1", 1);
2952
0
}
2953
0
#line 2954 "Zend/zend_ini_scanner.c"
2954
313
yy189:
2955
313
    YYDEBUG(189, *YYCURSOR);
2956
313
    yyaccept = 2;
2957
313
    yych = *(YYMARKER = ++YYCURSOR);
2958
313
    if (yych <= '=') {
2959
0
      if (yych <= '"') {
2960
0
        if (yych <= '\n') {
2961
0
          if (yych <= 0x00) goto yy164;
2962
0
          if (yych <= 0x08) goto yy139;
2963
0
          goto yy164;
2964
0
        } else {
2965
0
          if (yych == '\r') goto yy164;
2966
0
          if (yych <= 0x1F) goto yy139;
2967
0
          goto yy164;
2968
0
        }
2969
0
      } else {
2970
0
        if (yych <= '9') {
2971
0
          if (yych <= '%') goto yy139;
2972
0
          if (yych <= ')') goto yy164;
2973
0
          if (yych <= '/') goto yy139;
2974
0
          goto yy162;
2975
0
        } else {
2976
0
          if (yych == ';') goto yy164;
2977
0
          if (yych <= '<') goto yy139;
2978
0
          goto yy164;
2979
0
        }
2980
0
      }
2981
313
    } else {
2982
313
      if (yych <= '`') {
2983
249
        if (yych <= 'Z') {
2984
247
          if (yych <= '@') goto yy139;
2985
247
          if (yych == 'U') goto yy203;
2986
247
          goto yy162;
2987
247
        } else {
2988
2
          if (yych <= ']') goto yy139;
2989
2
          if (yych <= '^') goto yy164;
2990
2
          if (yych <= '_') goto yy162;
2991
0
          goto yy139;
2992
2
        }
2993
249
      } else {
2994
64
        if (yych <= '{') {
2995
64
          if (yych == 'u') goto yy203;
2996
30
          if (yych <= 'z') goto yy162;
2997
0
          goto yy139;
2998
30
        } else {
2999
0
          if (yych == '}') goto yy139;
3000
0
          if (yych <= '~') goto yy164;
3001
0
          goto yy139;
3002
0
        }
3003
64
      }
3004
313
    }
3005
18
yy190:
3006
18
    YYDEBUG(190, *YYCURSOR);
3007
18
    yyaccept = 2;
3008
18
    yych = *(YYMARKER = ++YYCURSOR);
3009
18
    if (yych <= '=') {
3010
2
      if (yych <= '"') {
3011
0
        if (yych <= '\n') {
3012
0
          if (yych <= 0x00) goto yy164;
3013
0
          if (yych <= 0x08) goto yy139;
3014
0
          goto yy164;
3015
0
        } else {
3016
0
          if (yych == '\r') goto yy164;
3017
0
          if (yych <= 0x1F) goto yy139;
3018
0
          goto yy164;
3019
0
        }
3020
2
      } else {
3021
2
        if (yych <= '9') {
3022
2
          if (yych <= '%') goto yy139;
3023
2
          if (yych <= ')') goto yy164;
3024
2
          if (yych <= '/') goto yy139;
3025
0
          goto yy162;
3026
2
        } else {
3027
0
          if (yych == ';') goto yy164;
3028
0
          if (yych <= '<') goto yy139;
3029
0
          goto yy164;
3030
0
        }
3031
2
      }
3032
16
    } else {
3033
16
      if (yych <= '`') {
3034
0
        if (yych <= 'Z') {
3035
0
          if (yych <= '@') goto yy139;
3036
0
          if (yych == 'S') goto yy187;
3037
0
          goto yy162;
3038
0
        } else {
3039
0
          if (yych <= ']') goto yy139;
3040
0
          if (yych <= '^') goto yy164;
3041
0
          if (yych <= '_') goto yy162;
3042
0
          goto yy139;
3043
0
        }
3044
16
      } else {
3045
16
        if (yych <= '{') {
3046
14
          if (yych == 's') goto yy187;
3047
0
          if (yych <= 'z') goto yy162;
3048
0
          goto yy139;
3049
2
        } else {
3050
2
          if (yych == '}') goto yy139;
3051
2
          if (yych <= '~') goto yy164;
3052
2
          goto yy139;
3053
2
        }
3054
16
      }
3055
16
    }
3056
0
yy191:
3057
0
    YYDEBUG(191, *YYCURSOR);
3058
0
    ++YYCURSOR;
3059
0
    YYFILL(1);
3060
0
    yych = *YYCURSOR;
3061
0
    YYDEBUG(192, *YYCURSOR);
3062
0
    if (yybm[0+yych] & 128) {
3063
0
      goto yy191;
3064
0
    }
3065
0
    if (yych <= 0x00) goto yy140;
3066
0
    if (yych == '\\') goto yy172;
3067
0
    goto yy138;
3068
8.92k
yy193:
3069
8.92k
    YYDEBUG(193, *YYCURSOR);
3070
8.92k
    ++YYCURSOR;
3071
8.92k
    YYDEBUG(194, *YYCURSOR);
3072
8.92k
    yyleng = YYCURSOR - SCNG(yy_text);
3073
8.92k
#line 389 "Zend/zend_ini_scanner.l"
3074
8.92k
    { /* Raw string */
3075
  /* Eat leading and trailing single quotes */
3076
8.92k
  if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
3077
8.92k
    SCNG(yy_text)++;
3078
8.92k
    yyleng = yyleng - 2;
3079
8.92k
  }
3080
8.92k
  RETURN_TOKEN(TC_RAW, yytext, yyleng);
3081
0
}
3082
0
#line 3083 "Zend/zend_ini_scanner.c"
3083
0
yy195:
3084
0
    YYDEBUG(195, *YYCURSOR);
3085
0
    yyaccept = 2;
3086
0
    yych = *(YYMARKER = ++YYCURSOR);
3087
0
    if (yych <= '=') {
3088
0
      if (yych <= '"') {
3089
0
        if (yych <= '\n') {
3090
0
          if (yych <= 0x00) goto yy164;
3091
0
          if (yych <= 0x08) goto yy139;
3092
0
          goto yy164;
3093
0
        } else {
3094
0
          if (yych == '\r') goto yy164;
3095
0
          if (yych <= 0x1F) goto yy139;
3096
0
          goto yy164;
3097
0
        }
3098
0
      } else {
3099
0
        if (yych <= '9') {
3100
0
          if (yych <= '%') goto yy139;
3101
0
          if (yych <= ')') goto yy164;
3102
0
          if (yych <= '/') goto yy139;
3103
0
          goto yy162;
3104
0
        } else {
3105
0
          if (yych == ';') goto yy164;
3106
0
          if (yych <= '<') goto yy139;
3107
0
          goto yy164;
3108
0
        }
3109
0
      }
3110
0
    } else {
3111
0
      if (yych <= '`') {
3112
0
        if (yych <= 'Z') {
3113
0
          if (yych <= '@') goto yy139;
3114
0
          if (yych == 'S') goto yy198;
3115
0
          goto yy162;
3116
0
        } else {
3117
0
          if (yych <= ']') goto yy139;
3118
0
          if (yych <= '^') goto yy164;
3119
0
          if (yych <= '_') goto yy162;
3120
0
          goto yy139;
3121
0
        }
3122
0
      } else {
3123
0
        if (yych <= '{') {
3124
0
          if (yych == 's') goto yy198;
3125
0
          if (yych <= 'z') goto yy162;
3126
0
          goto yy139;
3127
0
        } else {
3128
0
          if (yych == '}') goto yy139;
3129
0
          if (yych <= '~') goto yy164;
3130
0
          goto yy139;
3131
0
        }
3132
0
      }
3133
0
    }
3134
276
yy196:
3135
276
    YYDEBUG(196, *YYCURSOR);
3136
276
    ++YYCURSOR;
3137
276
    YYFILL(1);
3138
276
    yych = *YYCURSOR;
3139
276
    YYDEBUG(197, *YYCURSOR);
3140
276
    if (yych == '\t') goto yy196;
3141
276
    if (yych == ' ') goto yy196;
3142
221
    goto yy184;
3143
221
yy198:
3144
17
    YYDEBUG(198, *YYCURSOR);
3145
17
    yyaccept = 2;
3146
17
    yych = *(YYMARKER = ++YYCURSOR);
3147
17
    if (yych <= '=') {
3148
17
      if (yych <= '"') {
3149
17
        if (yych <= '\n') {
3150
0
          if (yych <= 0x00) goto yy164;
3151
0
          if (yych <= 0x08) goto yy139;
3152
0
          goto yy164;
3153
17
        } else {
3154
17
          if (yych == '\r') goto yy164;
3155
17
          if (yych <= 0x1F) goto yy139;
3156
0
          goto yy164;
3157
17
        }
3158
17
      } else {
3159
0
        if (yych <= '9') {
3160
0
          if (yych <= '%') goto yy139;
3161
0
          if (yych <= ')') goto yy164;
3162
0
          if (yych <= '/') goto yy139;
3163
0
          goto yy162;
3164
0
        } else {
3165
0
          if (yych == ';') goto yy164;
3166
0
          if (yych <= '<') goto yy139;
3167
0
          goto yy164;
3168
0
        }
3169
0
      }
3170
17
    } else {
3171
0
      if (yych <= '`') {
3172
0
        if (yych <= 'Z') {
3173
0
          if (yych <= '@') goto yy139;
3174
0
          if (yych == 'E') goto yy200;
3175
0
          goto yy162;
3176
0
        } else {
3177
0
          if (yych <= ']') goto yy139;
3178
0
          if (yych <= '^') goto yy164;
3179
0
          if (yych <= '_') goto yy162;
3180
0
          goto yy139;
3181
0
        }
3182
0
      } else {
3183
0
        if (yych <= '{') {
3184
0
          if (yych == 'e') goto yy200;
3185
0
          if (yych <= 'z') goto yy162;
3186
0
          goto yy139;
3187
0
        } else {
3188
0
          if (yych == '}') goto yy139;
3189
0
          if (yych <= '~') goto yy164;
3190
0
          goto yy139;
3191
0
        }
3192
0
      }
3193
0
    }
3194
25
yy199:
3195
25
    YYDEBUG(199, *YYCURSOR);
3196
25
    yyaccept = 2;
3197
25
    yych = *(YYMARKER = ++YYCURSOR);
3198
25
    if (yych <= '=') {
3199
0
      if (yych <= '"') {
3200
0
        if (yych <= '\n') {
3201
0
          if (yych <= 0x00) goto yy164;
3202
0
          if (yych <= 0x08) goto yy139;
3203
0
          goto yy164;
3204
0
        } else {
3205
0
          if (yych == '\r') goto yy164;
3206
0
          if (yych <= 0x1F) goto yy139;
3207
0
          goto yy164;
3208
0
        }
3209
0
      } else {
3210
0
        if (yych <= '9') {
3211
0
          if (yych <= '%') goto yy139;
3212
0
          if (yych <= ')') goto yy164;
3213
0
          if (yych <= '/') goto yy139;
3214
0
          goto yy162;
3215
0
        } else {
3216
0
          if (yych == ';') goto yy164;
3217
0
          if (yych <= '<') goto yy139;
3218
0
          goto yy164;
3219
0
        }
3220
0
      }
3221
25
    } else {
3222
25
      if (yych <= '`') {
3223
3
        if (yych <= 'Z') {
3224
3
          if (yych <= '@') goto yy139;
3225
3
          if (yych == 'L') goto yy204;
3226
0
          goto yy162;
3227
3
        } else {
3228
0
          if (yych <= ']') goto yy139;
3229
0
          if (yych <= '^') goto yy164;
3230
0
          if (yych <= '_') goto yy162;
3231
0
          goto yy139;
3232
0
        }
3233
22
      } else {
3234
22
        if (yych <= '{') {
3235
22
          if (yych == 'l') goto yy204;
3236
0
          if (yych <= 'z') goto yy162;
3237
0
          goto yy139;
3238
0
        } else {
3239
0
          if (yych == '}') goto yy139;
3240
0
          if (yych <= '~') goto yy164;
3241
0
          goto yy139;
3242
0
        }
3243
22
      }
3244
25
    }
3245
6.56k
yy200:
3246
6.56k
    YYDEBUG(200, *YYCURSOR);
3247
6.56k
    yyaccept = 3;
3248
6.56k
    yych = *(YYMARKER = ++YYCURSOR);
3249
6.56k
    if (yybm[0+yych] & 32) {
3250
4.45k
      goto yy162;
3251
4.45k
    }
3252
2.11k
    if (yych <= ')') {
3253
1.20k
      if (yych <= '\f') {
3254
853
        if (yych <= 0x08) {
3255
610
          if (yych <= 0x00) goto yy184;
3256
602
          goto yy139;
3257
610
        } else {
3258
243
          if (yych <= '\t') goto yy196;
3259
70
          if (yych <= '\n') goto yy184;
3260
3
          goto yy139;
3261
70
        }
3262
853
      } else {
3263
348
        if (yych <= ' ') {
3264
86
          if (yych <= '\r') goto yy184;
3265
86
          if (yych <= 0x1F) goto yy139;
3266
48
          goto yy196;
3267
262
        } else {
3268
262
          if (yych <= '"') goto yy184;
3269
99
          if (yych <= '%') goto yy139;
3270
81
          goto yy184;
3271
99
        }
3272
348
      }
3273
1.20k
    } else {
3274
909
      if (yych <= ']') {
3275
178
        if (yych <= ';') {
3276
40
          if (yych <= ':') goto yy139;
3277
3
          goto yy184;
3278
138
        } else {
3279
138
          if (yych == '=') goto yy184;
3280
81
          goto yy139;
3281
138
        }
3282
731
      } else {
3283
731
        if (yych <= '|') {
3284
92
          if (yych <= '^') goto yy184;
3285
9
          if (yych <= '{') goto yy139;
3286
0
          goto yy184;
3287
639
        } else {
3288
639
          if (yych == '~') goto yy184;
3289
521
          goto yy139;
3290
639
        }
3291
731
      }
3292
909
    }
3293
0
yy201:
3294
0
    YYDEBUG(201, *YYCURSOR);
3295
0
    ++YYCURSOR;
3296
0
    YYFILL(1);
3297
0
    yych = *YYCURSOR;
3298
0
    YYDEBUG(202, *YYCURSOR);
3299
0
    if (yych == '\t') goto yy201;
3300
0
    if (yych == ' ') goto yy201;
3301
0
    goto yy188;
3302
34
yy203:
3303
34
    YYDEBUG(203, *YYCURSOR);
3304
34
    yyaccept = 2;
3305
34
    yych = *(YYMARKER = ++YYCURSOR);
3306
34
    if (yych <= '=') {
3307
2
      if (yych <= '"') {
3308
2
        if (yych <= '\n') {
3309
2
          if (yych <= 0x00) goto yy164;
3310
2
          if (yych <= 0x08) goto yy139;
3311
2
          goto yy164;
3312
2
        } else {
3313
0
          if (yych == '\r') goto yy164;
3314
0
          if (yych <= 0x1F) goto yy139;
3315
0
          goto yy164;
3316
0
        }
3317
2
      } else {
3318
0
        if (yych <= '9') {
3319
0
          if (yych <= '%') goto yy139;
3320
0
          if (yych <= ')') goto yy164;
3321
0
          if (yych <= '/') goto yy139;
3322
0
          goto yy162;
3323
0
        } else {
3324
0
          if (yych == ';') goto yy164;
3325
0
          if (yych <= '<') goto yy139;
3326
0
          goto yy164;
3327
0
        }
3328
0
      }
3329
32
    } else {
3330
32
      if (yych <= '`') {
3331
0
        if (yych <= 'Z') {
3332
0
          if (yych <= '@') goto yy139;
3333
0
          if (yych == 'E') goto yy187;
3334
0
          goto yy162;
3335
0
        } else {
3336
0
          if (yych <= ']') goto yy139;
3337
0
          if (yych <= '^') goto yy164;
3338
0
          if (yych <= '_') goto yy162;
3339
0
          goto yy139;
3340
0
        }
3341
32
      } else {
3342
32
        if (yych <= '{') {
3343
30
          if (yych == 'e') goto yy187;
3344
4
          if (yych <= 'z') goto yy162;
3345
2
          goto yy139;
3346
4
        } else {
3347
2
          if (yych == '}') goto yy139;
3348
2
          if (yych <= '~') goto yy164;
3349
2
          goto yy139;
3350
2
        }
3351
32
      }
3352
32
    }
3353
25
yy204:
3354
25
    YYDEBUG(204, *YYCURSOR);
3355
25
    yyaccept = 5;
3356
25
    yych = *(YYMARKER = ++YYCURSOR);
3357
25
    if (yybm[0+yych] & 32) {
3358
0
      goto yy162;
3359
0
    }
3360
25
    if (yych <= ')') {
3361
22
      if (yych <= '\f') {
3362
22
        if (yych <= 0x08) {
3363
0
          if (yych >= 0x01) goto yy139;
3364
22
        } else {
3365
22
          if (yych <= '\t') goto yy206;
3366
22
          if (yych >= '\v') goto yy139;
3367
22
        }
3368
22
      } else {
3369
0
        if (yych <= ' ') {
3370
0
          if (yych <= '\r') goto yy205;
3371
0
          if (yych <= 0x1F) goto yy139;
3372
0
          goto yy206;
3373
0
        } else {
3374
0
          if (yych <= '"') goto yy205;
3375
0
          if (yych <= '%') goto yy139;
3376
0
        }
3377
0
      }
3378
22
    } else {
3379
3
      if (yych <= ']') {
3380
3
        if (yych <= ';') {
3381
3
          if (yych <= ':') goto yy139;
3382
3
        } else {
3383
0
          if (yych != '=') goto yy139;
3384
0
        }
3385
3
      } else {
3386
0
        if (yych <= '|') {
3387
0
          if (yych <= '^') goto yy205;
3388
0
          if (yych <= '{') goto yy139;
3389
0
        } else {
3390
0
          if (yych != '~') goto yy139;
3391
0
        }
3392
0
      }
3393
3
    }
3394
22
yy205:
3395
22
    YYDEBUG(205, *YYCURSOR);
3396
22
    yyleng = YYCURSOR - SCNG(yy_text);
3397
22
#line 499 "Zend/zend_ini_scanner.l"
3398
22
    {
3399
22
  RETURN_TOKEN(NULL_NULL, "", 0);
3400
0
}
3401
0
#line 3402 "Zend/zend_ini_scanner.c"
3402
0
yy206:
3403
0
    YYDEBUG(206, *YYCURSOR);
3404
0
    ++YYCURSOR;
3405
0
    YYFILL(1);
3406
0
    yych = *YYCURSOR;
3407
0
    YYDEBUG(207, *YYCURSOR);
3408
0
    if (yych == '\t') goto yy206;
3409
0
    if (yych == ' ') goto yy206;
3410
0
    goto yy205;
3411
0
  }
3412
/* *********************************** */
3413
32
yyc_ST_SECTION_RAW:
3414
32
  {
3415
32
    static const unsigned char yybm[] = {
3416
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3417
32
       64, 192,   0,  64,  64,   0,  64,  64, 
3418
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3419
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3420
32
      192,  64,  64,  64,  64,  64,  64,  64, 
3421
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3422
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3423
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3424
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3425
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3426
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3427
32
       64,  64,  64,  64,  64,   0,  64,  64, 
3428
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3429
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3430
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3431
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3432
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3433
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3434
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3435
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3436
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3437
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3438
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3439
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3440
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3441
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3442
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3443
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3444
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3445
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3446
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3447
32
       64,  64,  64,  64,  64,  64,  64,  64, 
3448
32
    };
3449
32
    YYDEBUG(208, *YYCURSOR);
3450
32
    YYFILL(1);
3451
32
    yych = *YYCURSOR;
3452
32
    if (yybm[0+yych] & 64) {
3453
18
      goto yy210;
3454
18
    }
3455
14
    if (yych <= '\r') goto yy213;
3456
12
    goto yy215;
3457
328
yy210:
3458
328
    YYDEBUG(210, *YYCURSOR);
3459
328
    ++YYCURSOR;
3460
328
    YYFILL(1);
3461
324
    yych = *YYCURSOR;
3462
324
    YYDEBUG(211, *YYCURSOR);
3463
324
    if (yybm[0+yych] & 64) {
3464
310
      goto yy210;
3465
310
    }
3466
14
    YYDEBUG(212, *YYCURSOR);
3467
14
    yyleng = YYCURSOR - SCNG(yy_text);
3468
14
#line 566 "Zend/zend_ini_scanner.l"
3469
14
    { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
3470
14
  RETURN_TOKEN(TC_RAW, yytext, yyleng);
3471
0
}
3472
0
#line 3473 "Zend/zend_ini_scanner.c"
3473
2
yy213:
3474
2
    YYDEBUG(213, *YYCURSOR);
3475
2
    ++YYCURSOR;
3476
2
    YYDEBUG(214, *YYCURSOR);
3477
2
    yyleng = YYCURSOR - SCNG(yy_text);
3478
2
#line 686 "Zend/zend_ini_scanner.l"
3479
2
    {
3480
2
  return 0;
3481
0
}
3482
0
#line 3483 "Zend/zend_ini_scanner.c"
3483
14
yy215:
3484
14
    YYDEBUG(215, *YYCURSOR);
3485
14
    ++YYCURSOR;
3486
14
    YYFILL(2);
3487
14
    yych = *YYCURSOR;
3488
14
    YYDEBUG(216, *YYCURSOR);
3489
14
    if (yybm[0+yych] & 128) {
3490
2
      goto yy215;
3491
2
    }
3492
12
    if (yych <= 0x08) goto yy217;
3493
10
    if (yych <= '\n') goto yy218;
3494
4
    if (yych == '\r') goto yy219;
3495
12
yy217:
3496
12
    YYDEBUG(217, *YYCURSOR);
3497
12
    yyleng = YYCURSOR - SCNG(yy_text);
3498
12
#line 398 "Zend/zend_ini_scanner.l"
3499
12
    { /* End of section */
3500
12
  BEGIN(INITIAL);
3501
12
  SCNG(lineno)++;
3502
12
  return ']';
3503
4
}
3504
0
#line 3505 "Zend/zend_ini_scanner.c"
3505
6
yy218:
3506
6
    YYDEBUG(218, *YYCURSOR);
3507
6
    ++YYCURSOR;
3508
6
    goto yy217;
3509
0
yy219:
3510
0
    YYDEBUG(219, *YYCURSOR);
3511
0
    yych = *++YYCURSOR;
3512
0
    if (yych == '\n') goto yy218;
3513
0
    goto yy217;
3514
0
  }
3515
/* *********************************** */
3516
601k
yyc_ST_DOUBLE_QUOTES:
3517
601k
  {
3518
601k
    static const unsigned char yybm[] = {
3519
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3520
601k
        0, 128,   0,   0,   0,   0,   0,   0, 
3521
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3522
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3523
601k
      128,   0,   0,   0,   0,   0,   0,   0, 
3524
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3525
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3526
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3527
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3528
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3529
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3530
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3531
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3532
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3533
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3534
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3535
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3536
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3537
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3538
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3539
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3540
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3541
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3542
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3543
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3544
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3545
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3546
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3547
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3548
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3549
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3550
601k
        0,   0,   0,   0,   0,   0,   0,   0, 
3551
601k
    };
3552
601k
    YYDEBUG(220, *YYCURSOR);
3553
601k
    YYFILL(2);
3554
601k
    yych = *YYCURSOR;
3555
601k
    if (yych == '"') goto yy224;
3556
207k
    if (yych == '$') goto yy227;
3557
201k
    YYDEBUG(222, *YYCURSOR);
3558
201k
    ++YYCURSOR;
3559
207k
yy223:
3560
207k
    YYDEBUG(223, *YYCURSOR);
3561
207k
    yyleng = YYCURSOR - SCNG(yy_text);
3562
207k
#line 620 "Zend/zend_ini_scanner.l"
3563
207k
    { /* Escape double quoted string contents */
3564
207k
  if (YYCURSOR > YYLIMIT) {
3565
0
    return 0;
3566
0
  }
3567
3568
207k
  const unsigned char *s = SCNG(yy_text);
3569
3570
4.35M
  while (s < YYLIMIT) {
3571
4.35M
    switch (*s++) {
3572
204k
      case '"':
3573
204k
        break;
3574
63.7k
      case '$':
3575
63.7k
        if (s < YYLIMIT && *s == '{') {
3576
0
          break;
3577
0
        }
3578
63.7k
        continue;
3579
63.7k
      case '\\':
3580
20.9k
        if (s < YYLIMIT) {
3581
20.8k
          unsigned char escaped = *s++;
3582
          /* A special case for Windows paths, e.g. key="C:\path\" */
3583
20.8k
          if (escaped == '"' && (s >= YYLIMIT || *s == '\n' || *s == '\r')) {
3584
0
            break;
3585
0
          }
3586
20.8k
        }
3587
20.9k
        ZEND_FALLTHROUGH;
3588
4.08M
      default:
3589
4.08M
        continue;
3590
4.35M
    }
3591
3592
204k
    s--;
3593
204k
    break;
3594
4.35M
  }
3595
3596
207k
  YYCURSOR = s;
3597
207k
  yyleng = YYCURSOR - SCNG(yy_text);
3598
3599
207k
  zend_ini_escape_string(ini_lval, yytext, yyleng, '"');
3600
207k
  Z_EXTRA_P(ini_lval) = 0;
3601
207k
  return TC_QUOTED_STRING;
3602
207k
}
3603
0
#line 3604 "Zend/zend_ini_scanner.c"
3604
406k
yy224:
3605
406k
    YYDEBUG(224, *YYCURSOR);
3606
406k
    ++YYCURSOR;
3607
406k
    YYFILL(1);
3608
406k
    yych = *YYCURSOR;
3609
406k
    YYDEBUG(225, *YYCURSOR);
3610
406k
    if (yybm[0+yych] & 128) {
3611
13.0k
      goto yy224;
3612
13.0k
    }
3613
393k
    YYDEBUG(226, *YYCURSOR);
3614
393k
    yyleng = YYCURSOR - SCNG(yy_text);
3615
393k
#line 615 "Zend/zend_ini_scanner.l"
3616
393k
    { /* Double quoted '"' string ends */
3617
393k
  yy_pop_state();
3618
393k
  return '"';
3619
406k
}
3620
0
#line 3621 "Zend/zend_ini_scanner.c"
3621
6.09k
yy227:
3622
6.09k
    YYDEBUG(227, *YYCURSOR);
3623
6.09k
    yych = *++YYCURSOR;
3624
6.09k
    if (yych != '{') goto yy223;
3625
0
    YYDEBUG(228, *YYCURSOR);
3626
0
    ++YYCURSOR;
3627
0
    YYDEBUG(229, *YYCURSOR);
3628
0
    yyleng = YYCURSOR - SCNG(yy_text);
3629
0
#line 422 "Zend/zend_ini_scanner.l"
3630
0
    { /* Variable start */
3631
0
  yy_push_state(ST_VARNAME);
3632
0
  return TC_DOLLAR_CURLY;
3633
6.09k
}
3634
6.09k
#line 3635 "Zend/zend_ini_scanner.c"
3635
6.09k
  }
3636
/* *********************************** */
3637
4
yyc_ST_VAR_FALLBACK:
3638
4
  {
3639
4
    static const unsigned char yybm[] = {
3640
4
        8,   8,   8,   8,   8,   8,   8,   8, 
3641
4
        8,  24,   0,   8,   8,   0,   8,   8, 
3642
4
        8,   8,   8,   8,   8,   8,   8,   8, 
3643
4
        8,   8,   8,   8,   8,   8,   8,   8, 
3644
4
       24,   8,   0,   8, 128,   8,   8,   0, 
3645
4
        8,   8,   8,   8,   8,   8,   8,   8, 
3646
4
      104, 104, 104, 104, 104, 104, 104, 104, 
3647
4
      104, 104,   8,   0,   8,   8,   8,   8, 
3648
4
        8,  72,  72,  72,  72,  72,  72,  72, 
3649
4
       72,  72,  72,  72,  72,  72,  72,  72, 
3650
4
       72,  72,  72,  72,  72,  72,  72,  72, 
3651
4
       72,  72,  72,   8, 128,   8,   8,  72, 
3652
4
        8,  72,  72,  72,  72,  72,  72,  72, 
3653
4
       72,  72,  72,  72,  72,  72,  72,  72, 
3654
4
       72,  72,  72,  72,  72,  72,  72,  72, 
3655
4
       72,  72,  72,   8,   8,   0,   8,   8, 
3656
4
        8,   8,   8,   8,   8,   8,   8,   8, 
3657
4
        8,   8,   8,   8,   8,   8,   8,   8, 
3658
4
        8,   8,   8,   8,   8,   8,   8,   8, 
3659
4
        8,   8,   8,   8,   8,   8,   8,   8, 
3660
4
        8,   8,   8,   8,   8,   8,   8,   8, 
3661
4
        8,   8,   8,   8,   8,   8,   8,   8, 
3662
4
        8,   8,   8,   8,   8,   8,   8,   8, 
3663
4
        8,   8,   8,   8,   8,   8,   8,   8, 
3664
4
        8,   8,   8,   8,   8,   8,   8,   8, 
3665
4
        8,   8,   8,   8,   8,   8,   8,   8, 
3666
4
        8,   8,   8,   8,   8,   8,   8,   8, 
3667
4
        8,   8,   8,   8,   8,   8,   8,   8, 
3668
4
        8,   8,   8,   8,   8,   8,   8,   8, 
3669
4
        8,   8,   8,   8,   8,   8,   8,   8, 
3670
4
        8,   8,   8,   8,   8,   8,   8,   8, 
3671
4
        8,   8,   8,   8,   8,   8,   8,   8, 
3672
4
    };
3673
4
    YYDEBUG(230, *YYCURSOR);
3674
4
    YYFILL(2);
3675
4
    yych = *YYCURSOR;
3676
4
    if (yybm[0+yych] & 16) {
3677
0
      goto yy235;
3678
0
    }
3679
4
    if (yych <= '/') {
3680
2
      if (yych <= '"') {
3681
2
        if (yych <= '\f') {
3682
2
          if (yych <= 0x08) goto yy232;
3683
2
          if (yych <= '\n') goto yy237;
3684
2
        } else {
3685
0
          if (yych <= '\r') goto yy237;
3686
0
          if (yych >= '"') goto yy239;
3687
0
        }
3688
2
      } else {
3689
0
        if (yych <= '&') {
3690
0
          if (yych == '$') goto yy241;
3691
0
        } else {
3692
0
          if (yych <= '\'') goto yy237;
3693
0
          if (yych <= ',') goto yy232;
3694
0
          if (yych <= '.') goto yy242;
3695
0
        }
3696
0
      }
3697
2
    } else {
3698
2
      if (yych <= '\\') {
3699
0
        if (yych <= ';') {
3700
0
          if (yych <= '9') goto yy243;
3701
0
          if (yych >= ';') goto yy237;
3702
0
        } else {
3703
0
          if (yych <= '@') goto yy232;
3704
0
          if (yych <= 'Z') goto yy246;
3705
0
          if (yych >= '\\') goto yy249;
3706
0
        }
3707
2
      } else {
3708
2
        if (yych <= '`') {
3709
0
          if (yych == '_') goto yy246;
3710
2
        } else {
3711
2
          if (yych <= 'z') goto yy246;
3712
0
          if (yych == '}') goto yy250;
3713
0
        }
3714
2
      }
3715
2
    }
3716
0
yy232:
3717
0
    YYDEBUG(232, *YYCURSOR);
3718
0
    yyaccept = 0;
3719
0
    YYMARKER = ++YYCURSOR;
3720
0
    YYFILL(1);
3721
0
    yych = *YYCURSOR;
3722
0
yy233:
3723
0
    YYDEBUG(233, *YYCURSOR);
3724
0
    if (yybm[0+yych] & 8) {
3725
0
      goto yy232;
3726
0
    }
3727
0
    if (yych <= '"') goto yy234;
3728
0
    if (yych <= '$') goto yy252;
3729
0
    if (yych <= ';') goto yy234;
3730
0
    if (yych <= '\\') goto yy249;
3731
0
yy234:
3732
0
    YYDEBUG(234, *YYCURSOR);
3733
0
    yyleng = YYCURSOR - SCNG(yy_text);
3734
0
#line 602 "Zend/zend_ini_scanner.l"
3735
0
    { /* Same as below, but excluding '}' */
3736
0
  RETURN_TOKEN(TC_STRING, yytext, yyleng);
3737
0
}
3738
0
#line 3739 "Zend/zend_ini_scanner.c"
3739
0
yy235:
3740
0
    YYDEBUG(235, *YYCURSOR);
3741
0
    yyaccept = 0;
3742
0
    YYMARKER = ++YYCURSOR;
3743
0
    YYFILL(1);
3744
0
    yych = *YYCURSOR;
3745
0
    YYDEBUG(236, *YYCURSOR);
3746
0
    if (yybm[0+yych] & 16) {
3747
0
      goto yy235;
3748
0
    }
3749
0
    if (yych <= '$') {
3750
0
      if (yych <= '\r') {
3751
0
        if (yych <= 0x08) goto yy232;
3752
0
        if (yych <= '\n') goto yy234;
3753
0
        if (yych <= '\f') goto yy232;
3754
0
        goto yy234;
3755
0
      } else {
3756
0
        if (yych == '"') goto yy239;
3757
0
        if (yych <= '#') goto yy232;
3758
0
        goto yy252;
3759
0
      }
3760
0
    } else {
3761
0
      if (yych <= ';') {
3762
0
        if (yych == '\'') goto yy234;
3763
0
        if (yych <= ':') goto yy232;
3764
0
        goto yy234;
3765
0
      } else {
3766
0
        if (yych <= '\\') {
3767
0
          if (yych <= '[') goto yy232;
3768
0
          goto yy249;
3769
0
        } else {
3770
0
          if (yych == '}') goto yy234;
3771
0
          goto yy232;
3772
0
        }
3773
0
      }
3774
0
    }
3775
2
yy237:
3776
2
    YYDEBUG(237, *YYCURSOR);
3777
2
    ++YYCURSOR;
3778
2
yy238:
3779
2
    YYDEBUG(238, *YYCURSOR);
3780
2
    yyleng = YYCURSOR - SCNG(yy_text);
3781
2
#line 686 "Zend/zend_ini_scanner.l"
3782
2
    {
3783
2
  return 0;
3784
2
}
3785
0
#line 3786 "Zend/zend_ini_scanner.c"
3786
0
yy239:
3787
0
    YYDEBUG(239, *YYCURSOR);
3788
0
    ++YYCURSOR;
3789
0
    YYDEBUG(240, *YYCURSOR);
3790
0
    yyleng = YYCURSOR - SCNG(yy_text);
3791
0
#line 610 "Zend/zend_ini_scanner.l"
3792
0
    { /* Double quoted '"' string start */
3793
0
  yy_push_state(ST_DOUBLE_QUOTES);
3794
0
  return '"';
3795
2
}
3796
0
#line 3797 "Zend/zend_ini_scanner.c"
3797
0
yy241:
3798
0
    YYDEBUG(241, *YYCURSOR);
3799
0
    yych = *++YYCURSOR;
3800
0
    if (yych <= '\\') {
3801
0
      if (yych <= 0x00) goto yy238;
3802
0
      if (yych <= '[') goto yy232;
3803
0
      goto yy254;
3804
0
    } else {
3805
0
      if (yych == '{') goto yy256;
3806
0
      goto yy232;
3807
0
    }
3808
0
yy242:
3809
0
    YYDEBUG(242, *YYCURSOR);
3810
0
    yyaccept = 0;
3811
0
    yych = *(YYMARKER = ++YYCURSOR);
3812
0
    if (yych <= '/') goto yy233;
3813
0
    if (yych <= '9') goto yy258;
3814
0
    goto yy233;
3815
0
yy243:
3816
0
    YYDEBUG(243, *YYCURSOR);
3817
0
    yyaccept = 1;
3818
0
    YYMARKER = ++YYCURSOR;
3819
0
    YYFILL(1);
3820
0
    yych = *YYCURSOR;
3821
0
    YYDEBUG(244, *YYCURSOR);
3822
0
    if (yybm[0+yych] & 32) {
3823
0
      goto yy243;
3824
0
    }
3825
0
    if (yych <= '&') {
3826
0
      if (yych <= '\r') {
3827
0
        if (yych == '\n') goto yy245;
3828
0
        if (yych <= '\f') goto yy232;
3829
0
      } else {
3830
0
        if (yych <= '"') {
3831
0
          if (yych <= '!') goto yy232;
3832
0
        } else {
3833
0
          if (yych == '$') goto yy252;
3834
0
          goto yy232;
3835
0
        }
3836
0
      }
3837
0
    } else {
3838
0
      if (yych <= ';') {
3839
0
        if (yych <= '-') {
3840
0
          if (yych >= '(') goto yy232;
3841
0
        } else {
3842
0
          if (yych <= '.') goto yy258;
3843
0
          if (yych <= ':') goto yy232;
3844
0
        }
3845
0
      } else {
3846
0
        if (yych <= '\\') {
3847
0
          if (yych <= '[') goto yy232;
3848
0
          goto yy249;
3849
0
        } else {
3850
0
          if (yych != '}') goto yy232;
3851
0
        }
3852
0
      }
3853
0
    }
3854
0
yy245:
3855
0
    YYDEBUG(245, *YYCURSOR);
3856
0
    yyleng = YYCURSOR - SCNG(yy_text);
3857
0
#line 580 "Zend/zend_ini_scanner.l"
3858
0
    { /* Get number option value as string */
3859
0
  RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
3860
0
}
3861
0
#line 3862 "Zend/zend_ini_scanner.c"
3862
2
yy246:
3863
2
    YYDEBUG(246, *YYCURSOR);
3864
2
    yyaccept = 2;
3865
2
    YYMARKER = ++YYCURSOR;
3866
2
    YYFILL(1);
3867
2
    yych = *YYCURSOR;
3868
2
    YYDEBUG(247, *YYCURSOR);
3869
2
    if (yybm[0+yych] & 64) {
3870
0
      goto yy246;
3871
0
    }
3872
2
    if (yych <= '$') {
3873
2
      if (yych <= '\r') {
3874
2
        if (yych == '\n') goto yy248;
3875
0
        if (yych <= '\f') goto yy232;
3876
0
      } else {
3877
0
        if (yych == '"') goto yy248;
3878
0
        if (yych <= '#') goto yy232;
3879
0
        goto yy252;
3880
0
      }
3881
2
    } else {
3882
0
      if (yych <= ';') {
3883
0
        if (yych == '\'') goto yy248;
3884
0
        if (yych <= ':') goto yy232;
3885
0
      } else {
3886
0
        if (yych <= '\\') {
3887
0
          if (yych <= '[') goto yy232;
3888
0
          goto yy249;
3889
0
        } else {
3890
0
          if (yych != '}') goto yy232;
3891
0
        }
3892
0
      }
3893
0
    }
3894
2
yy248:
3895
2
    YYDEBUG(248, *YYCURSOR);
3896
2
    yyleng = YYCURSOR - SCNG(yy_text);
3897
2
#line 576 "Zend/zend_ini_scanner.l"
3898
2
    { /* Get constant option value */
3899
2
  RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
3900
0
}
3901
0
#line 3902 "Zend/zend_ini_scanner.c"
3902
0
yy249:
3903
0
    YYDEBUG(249, *YYCURSOR);
3904
0
    ++YYCURSOR;
3905
0
    YYFILL(1);
3906
0
    yych = *YYCURSOR;
3907
0
    goto yy232;
3908
0
yy250:
3909
0
    YYDEBUG(250, *YYCURSOR);
3910
0
    ++YYCURSOR;
3911
0
    YYDEBUG(251, *YYCURSOR);
3912
0
    yyleng = YYCURSOR - SCNG(yy_text);
3913
0
#line 486 "Zend/zend_ini_scanner.l"
3914
0
    { /* Variable/fallback end */
3915
0
  yy_pop_state();
3916
0
  return '}';
3917
0
}
3918
0
#line 3919 "Zend/zend_ini_scanner.c"
3919
0
yy252:
3920
0
    YYDEBUG(252, *YYCURSOR);
3921
0
    ++YYCURSOR;
3922
0
    YYFILL(1);
3923
0
    yych = *YYCURSOR;
3924
0
    if (yych <= '\\') {
3925
0
      if (yych <= 0x00) goto yy253;
3926
0
      if (yych <= '[') goto yy232;
3927
0
      goto yy254;
3928
0
    } else {
3929
0
      if (yych != '{') goto yy232;
3930
0
    }
3931
0
yy253:
3932
0
    YYDEBUG(253, *YYCURSOR);
3933
0
    YYCURSOR = YYMARKER;
3934
0
    if (yyaccept <= 1) {
3935
0
      if (yyaccept == 0) {
3936
0
        goto yy234;
3937
0
      } else {
3938
0
        goto yy245;
3939
0
      }
3940
0
    } else {
3941
0
      goto yy248;
3942
0
    }
3943
0
yy254:
3944
0
    YYDEBUG(254, *YYCURSOR);
3945
0
    ++YYCURSOR;
3946
0
    YYFILL(1);
3947
0
    yych = *YYCURSOR;
3948
0
    YYDEBUG(255, *YYCURSOR);
3949
0
    if (yybm[0+yych] & 128) {
3950
0
      goto yy254;
3951
0
    }
3952
0
    goto yy232;
3953
0
yy256:
3954
0
    YYDEBUG(256, *YYCURSOR);
3955
0
    ++YYCURSOR;
3956
0
    YYDEBUG(257, *YYCURSOR);
3957
0
    yyleng = YYCURSOR - SCNG(yy_text);
3958
0
#line 422 "Zend/zend_ini_scanner.l"
3959
0
    { /* Variable start */
3960
0
  yy_push_state(ST_VARNAME);
3961
0
  return TC_DOLLAR_CURLY;
3962
0
}
3963
0
#line 3964 "Zend/zend_ini_scanner.c"
3964
0
yy258:
3965
0
    YYDEBUG(258, *YYCURSOR);
3966
0
    yyaccept = 1;
3967
0
    YYMARKER = ++YYCURSOR;
3968
0
    YYFILL(1);
3969
0
    yych = *YYCURSOR;
3970
0
    YYDEBUG(259, *YYCURSOR);
3971
0
    if (yych <= '&') {
3972
0
      if (yych <= '\r') {
3973
0
        if (yych == '\n') goto yy245;
3974
0
        if (yych <= '\f') goto yy232;
3975
0
        goto yy245;
3976
0
      } else {
3977
0
        if (yych <= '"') {
3978
0
          if (yych <= '!') goto yy232;
3979
0
          goto yy245;
3980
0
        } else {
3981
0
          if (yych == '$') goto yy252;
3982
0
          goto yy232;
3983
0
        }
3984
0
      }
3985
0
    } else {
3986
0
      if (yych <= ';') {
3987
0
        if (yych <= '/') {
3988
0
          if (yych <= '\'') goto yy245;
3989
0
          goto yy232;
3990
0
        } else {
3991
0
          if (yych <= '9') goto yy258;
3992
0
          if (yych <= ':') goto yy232;
3993
0
          goto yy245;
3994
0
        }
3995
0
      } else {
3996
0
        if (yych <= '\\') {
3997
0
          if (yych <= '[') goto yy232;
3998
0
          goto yy249;
3999
0
        } else {
4000
0
          if (yych == '}') goto yy245;
4001
0
          goto yy232;
4002
0
        }
4003
0
      }
4004
0
    }
4005
0
  }
4006
/* *********************************** */
4007
4
yyc_ST_VARNAME:
4008
4
  YYDEBUG(260, *YYCURSOR);
4009
4
  YYFILL(2);
4010
4
  yych = *YYCURSOR;
4011
4
  if (yych <= ')') {
4012
0
    if (yych <= ' ') {
4013
0
      if (yych <= '\n') {
4014
0
        if (yych <= 0x00) goto yy262;
4015
0
        if (yych <= 0x08) goto yy264;
4016
0
      } else {
4017
0
        if (yych != '\r') goto yy264;
4018
0
      }
4019
0
    } else {
4020
0
      if (yych <= '$') {
4021
0
        if (yych == '#') goto yy264;
4022
0
      } else {
4023
0
        if (yych == '&') goto yy262;
4024
0
        if (yych <= '\'') goto yy264;
4025
0
      }
4026
0
    }
4027
4
  } else {
4028
4
    if (yych <= '[') {
4029
2
      if (yych <= ';') {
4030
2
        if (yych <= '9') goto yy264;
4031
2
        if (yych <= ':') goto yy266;
4032
2
      } else {
4033
0
        if (yych == '=') goto yy262;
4034
0
        if (yych <= 'Z') goto yy264;
4035
0
      }
4036
2
    } else {
4037
2
      if (yych <= 'z') {
4038
2
        if (yych <= '\\') goto yy264;
4039
2
        if (yych >= '_') goto yy264;
4040
2
      } else {
4041
0
        if (yych == '}') goto yy267;
4042
0
        if (yych >= 0x7F) goto yy264;
4043
0
      }
4044
2
    }
4045
4
  }
4046
0
yy262:
4047
0
  YYDEBUG(262, *YYCURSOR);
4048
0
  ++YYCURSOR;
4049
0
  YYDEBUG(263, *YYCURSOR);
4050
0
  yyleng = YYCURSOR - SCNG(yy_text);
4051
0
#line 686 "Zend/zend_ini_scanner.l"
4052
0
  {
4053
0
  return 0;
4054
4
}
4055
0
#line 4056 "Zend/zend_ini_scanner.c"
4056
2
yy264:
4057
2
  YYDEBUG(264, *YYCURSOR);
4058
2
  ++YYCURSOR;
4059
2
yy265:
4060
2
  YYDEBUG(265, *YYCURSOR);
4061
2
  yyleng = YYCURSOR - SCNG(yy_text);
4062
2
#line 434 "Zend/zend_ini_scanner.l"
4063
2
  { /* Variable name */
4064
2
  if (YYCURSOR[0] == ':' && YYCURSOR[1] == '-') {
4065
0
    YYCURSOR++;
4066
0
    goto fallback_lexing;
4067
0
  }
4068
4069
4
  while (YYCURSOR < YYLIMIT) {
4070
4
    switch (*YYCURSOR++) {
4071
0
      case '=':
4072
0
      case '\n':
4073
0
      case '\r':
4074
0
      case '\t':
4075
0
      case ';':
4076
0
      case '&':
4077
0
      case '|':
4078
0
      case '^':
4079
0
      case '$':
4080
0
      case '~':
4081
0
      case '(':
4082
0
      case ')':
4083
0
      case '{':
4084
0
      case '}':
4085
0
      case '!':
4086
0
      case '"':
4087
0
      case '[':
4088
0
      case ']':
4089
0
        break;
4090
      /* ':' is only allowed if it isn't followed by '-'. */
4091
2
      case ':':
4092
2
        if (YYCURSOR[0] == '-') {
4093
2
          break;
4094
2
        } else {
4095
0
          continue;
4096
0
        }
4097
2
      default:
4098
2
        continue;
4099
4
    }
4100
4101
2
    YYCURSOR--;
4102
2
    yyleng = YYCURSOR - SCNG(yy_text);
4103
2
    break;
4104
4
  }
4105
4106
  /* Eat leading whitespace */
4107
2
  EAT_LEADING_WHITESPACE();
4108
4109
  /* Eat trailing whitespace */
4110
2
  EAT_TRAILING_WHITESPACE();
4111
4112
2
  RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
4113
0
}
4114
0
#line 4115 "Zend/zend_ini_scanner.c"
4115
2
yy266:
4116
2
  YYDEBUG(266, *YYCURSOR);
4117
2
  yych = *++YYCURSOR;
4118
2
  if (yych == '-') goto yy269;
4119
0
  goto yy265;
4120
0
yy267:
4121
0
  YYDEBUG(267, *YYCURSOR);
4122
0
  ++YYCURSOR;
4123
0
  YYDEBUG(268, *YYCURSOR);
4124
0
  yyleng = YYCURSOR - SCNG(yy_text);
4125
0
#line 486 "Zend/zend_ini_scanner.l"
4126
0
  { /* Variable/fallback end */
4127
0
  yy_pop_state();
4128
0
  return '}';
4129
2
}
4130
0
#line 4131 "Zend/zend_ini_scanner.c"
4131
2
yy269:
4132
2
  YYDEBUG(269, *YYCURSOR);
4133
2
  ++YYCURSOR;
4134
2
  YYDEBUG(270, *YYCURSOR);
4135
2
  yyleng = YYCURSOR - SCNG(yy_text);
4136
2
#line 427 "Zend/zend_ini_scanner.l"
4137
2
  { /* End Variable name, fallback start */
4138
2
fallback_lexing:
4139
2
  yy_pop_state();
4140
2
  yy_push_state(ST_VAR_FALLBACK);
4141
2
  return TC_FALLBACK;
4142
2
}
4143
0
#line 4144 "Zend/zend_ini_scanner.c"
4144
/* *********************************** */
4145
132
yyc_ST_RAW:
4146
132
  {
4147
132
    static const unsigned char yybm[] = {
4148
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4149
132
       64, 192,   0,  64,  64,   0,  64,  64, 
4150
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4151
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4152
132
      192,  64,  64,  64,  64,  64,  64,  64, 
4153
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4154
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4155
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4156
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4157
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4158
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4159
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4160
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4161
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4162
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4163
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4164
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4165
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4166
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4167
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4168
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4169
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4170
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4171
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4172
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4173
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4174
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4175
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4176
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4177
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4178
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4179
132
       64,  64,  64,  64,  64,  64,  64,  64, 
4180
132
    };
4181
132
    YYDEBUG(271, *YYCURSOR);
4182
132
    YYFILL(3);
4183
132
    yych = *YYCURSOR;
4184
132
    if (yych <= '\f') {
4185
62
      if (yych <= 0x08) {
4186
0
        if (yych >= 0x01) goto yy275;
4187
62
      } else {
4188
62
        if (yych <= '\t') goto yy277;
4189
62
        if (yych <= '\n') goto yy278;
4190
0
        goto yy275;
4191
62
      }
4192
70
    } else {
4193
70
      if (yych <= ' ') {
4194
0
        if (yych <= '\r') goto yy280;
4195
0
        if (yych <= 0x1F) goto yy275;
4196
0
        goto yy277;
4197
70
      } else {
4198
70
        if (yych == ';') goto yy281;
4199
70
        goto yy275;
4200
70
      }
4201
70
    }
4202
0
    YYDEBUG(273, *YYCURSOR);
4203
0
    ++YYCURSOR;
4204
0
    YYDEBUG(274, *YYCURSOR);
4205
0
    yyleng = YYCURSOR - SCNG(yy_text);
4206
0
#line 681 "Zend/zend_ini_scanner.l"
4207
0
    { /* End of option value (if EOF is reached before EOL */
4208
0
  BEGIN(INITIAL);
4209
0
  return END_OF_LINE;
4210
132
}
4211
0
#line 4212 "Zend/zend_ini_scanner.c"
4212
70
yy275:
4213
70
    YYDEBUG(275, *YYCURSOR);
4214
70
    ++YYCURSOR;
4215
70
yy276:
4216
70
    YYDEBUG(276, *YYCURSOR);
4217
70
    yyleng = YYCURSOR - SCNG(yy_text);
4218
70
#line 522 "Zend/zend_ini_scanner.l"
4219
70
    { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
4220
70
  const unsigned char *sc = NULL;
4221
70
  EAT_LEADING_WHITESPACE();
4222
674
  while (YYCURSOR < YYLIMIT) {
4223
666
    switch (*YYCURSOR) {
4224
62
      case '\n':
4225
62
      case '\r':
4226
62
        goto end_raw_value_chars;
4227
0
        break;
4228
50
      case ';':
4229
50
        if (sc == NULL) {
4230
44
          sc = YYCURSOR;
4231
44
        }
4232
50
        YYCURSOR++;
4233
50
        break;
4234
64
      case '"':
4235
64
        if (yytext[0] == '"') {
4236
38
          sc = NULL;
4237
38
        }
4238
64
        YYCURSOR++;
4239
64
        break;
4240
490
      default:
4241
490
        YYCURSOR++;
4242
490
        break;
4243
666
    }
4244
666
  }
4245
70
end_raw_value_chars:
4246
70
  if (sc) {
4247
30
    yyleng = sc - SCNG(yy_text);
4248
40
  } else {
4249
40
    yyleng = YYCURSOR - SCNG(yy_text);
4250
40
  }
4251
4252
70
  EAT_TRAILING_WHITESPACE();
4253
4254
  /* Eat leading and trailing double quotes */
4255
70
  if (yyleng > 1 && yytext[0] == '"' && yytext[yyleng - 1] == '"') {
4256
38
    SCNG(yy_text)++;
4257
38
    yyleng = yyleng - 2;
4258
38
  }
4259
4260
70
  RETURN_TOKEN(TC_RAW, yytext, yyleng);
4261
0
}
4262
0
#line 4263 "Zend/zend_ini_scanner.c"
4263
0
yy277:
4264
0
    YYDEBUG(277, *YYCURSOR);
4265
0
    yych = *++YYCURSOR;
4266
0
    if (yych <= '\r') {
4267
0
      if (yych <= 0x08) goto yy276;
4268
0
      if (yych <= '\n') goto yy284;
4269
0
      if (yych <= '\f') goto yy276;
4270
0
      goto yy284;
4271
0
    } else {
4272
0
      if (yych <= ' ') {
4273
0
        if (yych <= 0x1F) goto yy276;
4274
0
        goto yy284;
4275
0
      } else {
4276
0
        if (yych == ';') goto yy284;
4277
0
        goto yy276;
4278
0
      }
4279
0
    }
4280
62
yy278:
4281
62
    YYDEBUG(278, *YYCURSOR);
4282
62
    ++YYCURSOR;
4283
62
yy279:
4284
62
    YYDEBUG(279, *YYCURSOR);
4285
62
    yyleng = YYCURSOR - SCNG(yy_text);
4286
62
#line 570 "Zend/zend_ini_scanner.l"
4287
62
    { /* End of option value */
4288
62
  BEGIN(INITIAL);
4289
62
  SCNG(lineno)++;
4290
62
  return END_OF_LINE;
4291
62
}
4292
0
#line 4293 "Zend/zend_ini_scanner.c"
4293
0
yy280:
4294
0
    YYDEBUG(280, *YYCURSOR);
4295
0
    yych = *++YYCURSOR;
4296
0
    if (yych == '\n') goto yy278;
4297
0
    goto yy279;
4298
0
yy281:
4299
0
    YYDEBUG(281, *YYCURSOR);
4300
0
    ++YYCURSOR;
4301
0
    YYFILL(2);
4302
0
    yych = *YYCURSOR;
4303
0
    YYDEBUG(282, *YYCURSOR);
4304
0
    if (yybm[0+yych] & 64) {
4305
0
      goto yy281;
4306
0
    }
4307
0
    if (yych <= '\n') goto yy286;
4308
0
    goto yy288;
4309
0
yy283:
4310
0
    YYDEBUG(283, *YYCURSOR);
4311
0
    ++YYCURSOR;
4312
0
    YYFILL(2);
4313
0
    yych = *YYCURSOR;
4314
0
yy284:
4315
0
    YYDEBUG(284, *YYCURSOR);
4316
0
    if (yybm[0+yych] & 128) {
4317
0
      goto yy283;
4318
0
    }
4319
0
    if (yych <= '\f') {
4320
0
      if (yych <= 0x08) goto yy285;
4321
0
      if (yych <= '\n') goto yy278;
4322
0
    } else {
4323
0
      if (yych <= '\r') goto yy280;
4324
0
      if (yych == ';') goto yy281;
4325
0
    }
4326
0
yy285:
4327
0
    YYDEBUG(285, *YYCURSOR);
4328
0
    yyleng = YYCURSOR - SCNG(yy_text);
4329
0
#line 665 "Zend/zend_ini_scanner.l"
4330
0
    {
4331
  /* eat whitespace */
4332
0
  goto restart;
4333
0
}
4334
0
#line 4335 "Zend/zend_ini_scanner.c"
4335
0
yy286:
4336
0
    YYDEBUG(286, *YYCURSOR);
4337
0
    ++YYCURSOR;
4338
0
yy287:
4339
0
    YYDEBUG(287, *YYCURSOR);
4340
0
    yyleng = YYCURSOR - SCNG(yy_text);
4341
0
#line 675 "Zend/zend_ini_scanner.l"
4342
0
    { /* Comment */
4343
0
  BEGIN(INITIAL);
4344
0
  SCNG(lineno)++;
4345
0
  return END_OF_LINE;
4346
0
}
4347
0
#line 4348 "Zend/zend_ini_scanner.c"
4348
0
yy288:
4349
0
    YYDEBUG(288, *YYCURSOR);
4350
0
    yych = *++YYCURSOR;
4351
0
    if (yych == '\n') goto yy286;
4352
0
    goto yy287;
4353
0
  }
4354
0
}
4355
0
#line 690 "Zend/zend_ini_scanner.l"
4356
4357
0
}