Coverage Report

Created: 2025-12-31 07:28

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