Coverage Report

Created: 2026-06-02 06:39

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