Coverage Report

Created: 2025-12-14 06:05

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
878k
#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
5.14M
#define YYFILL(n) { if (YYCURSOR > YYLIMIT) return 0; }
48
18.6M
#define YYCURSOR  SCNG(yy_cursor)
49
7.81M
#define YYLIMIT   SCNG(yy_limit)
50
1.62M
#define YYMARKER  SCNG(yy_marker)
51
52
2.71M
#define YYGETCONDITION()  SCNG(yy_state)
53
324k
#define YYSETCONDITION(s) SCNG(yy_state) = s
54
55
13.9k
#define STATE(name)  yyc##name
56
57
/* emulate flex constructs */
58
196k
#define BEGIN(state) YYSETCONDITION(STATE(state))
59
13.9k
#define YYSTATE      YYGETCONDITION()
60
1.04M
#define yytext       ((const char*)SCNG(yy_text))
61
1.87M
#define yyleng       SCNG(yy_leng)
62
1.65k
#define yyless(x)    do { YYCURSOR = (const unsigned char*)yytext + x; \
63
1.65k
              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
37.8M
#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
147k
  while (yyleng) {                                 \
120
147k
    if (yytext[0] == ' ' || yytext[0] == '\t') { \
121
5.33k
      SCNG(yy_text)++;                         \
122
5.33k
      yyleng--;                                \
123
142k
    } else {                                     \
124
142k
      break;                                   \
125
142k
    }                                            \
126
147k
  }
127
128
/* Eat trailing whitespace + extra char */
129
#define EAT_TRAILING_WHITESPACE_EX(ch)              \
130
156k
  while (yyleng && (                              \
131
156k
    (ch != 'X' && yytext[yyleng - 1] ==  ch) || \
132
156k
    yytext[yyleng - 1] == '\n' ||               \
133
156k
    yytext[yyleng - 1] == '\r' ||               \
134
156k
    yytext[yyleng - 1] == '\t' ||               \
135
156k
    yytext[yyleng - 1] == ' ')                  \
136
142k
  ) {                                             \
137
14.1k
    yyleng--;                                   \
138
14.1k
  }
139
140
/* Eat trailing whitespace */
141
141k
#define EAT_TRAILING_WHITESPACE() EAT_TRAILING_WHITESPACE_EX('X')
142
143
#define zend_ini_copy_value(retval, str, len) \
144
487k
  ZVAL_NEW_STR(retval, zend_string_init(str, len, ZEND_SYSTEM_INI))
145
146
147
431k
#define RETURN_TOKEN(type, str, len) {                             \
148
431k
  if (SCNG(scanner_mode) == ZEND_INI_SCANNER_TYPED &&            \
149
431k
    (YYSTATE == STATE(ST_VALUE) || YYSTATE == STATE(ST_RAW))) {\
150
115
    zend_ini_copy_typed_value(ini_lval, type, str, len);       \
151
115
    Z_EXTRA_P(ini_lval) = 0;                                   \
152
431k
  } else {                                                       \
153
431k
    zend_ini_copy_value(ini_lval, str, len);                   \
154
431k
  }                                                              \
155
431k
  return type;                                                   \
156
431k
}
157
158
static void zend_ini_copy_typed_value(zval *retval, const int type, const char *str, int len)
159
115
{
160
115
  switch (type) {
161
2
    case BOOL_FALSE:
162
15
    case BOOL_TRUE:
163
15
      ZVAL_BOOL(retval, type == BOOL_TRUE);
164
15
      break;
165
166
3
    case NULL_NULL:
167
3
      ZVAL_NULL(retval);
168
3
      break;
169
170
97
    default:
171
97
      zend_ini_copy_value(retval, str, len);
172
115
  }
173
115
}
174
175
static void _yy_push_state(int new_state)
176
64.9k
{
177
64.9k
  zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
178
64.9k
  YYSETCONDITION(new_state);
179
64.9k
}
180
181
64.9k
#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
182
183
static void yy_pop_state(void)
184
63.1k
{
185
63.1k
  int *stack_state = zend_stack_top(&SCNG(state_stack));
186
63.1k
  YYSETCONDITION(*stack_state);
187
63.1k
  zend_stack_del_top(&SCNG(state_stack));
188
63.1k
}
189
190
static void yy_scan_buffer(const char *str, unsigned int len)
191
13.7k
{
192
13.7k
  YYCURSOR = (const YYCTYPE*)str;
193
13.7k
  SCNG(yy_start) = YYCURSOR;
194
13.7k
  YYLIMIT  = YYCURSOR + len;
195
13.7k
}
196
197
35.9k
#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
13.7k
{
202
  /* Sanity check */
203
13.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
13.7k
  SCNG(lineno) = 1;
209
13.7k
  SCNG(scanner_mode) = scanner_mode;
210
13.7k
  SCNG(yy_in) = fh;
211
212
13.7k
  if (fh != NULL) {
213
0
    ini_filename = zend_string_copy(fh->filename);
214
13.7k
  } else {
215
13.7k
    ini_filename = NULL;
216
13.7k
  }
217
218
13.7k
  zend_stack_init(&SCNG(state_stack), sizeof(int));
219
13.7k
  BEGIN(INITIAL);
220
221
13.7k
  return SUCCESS;
222
13.7k
}
223
/* }}} */
224
225
/* {{{ shutdown_ini_scanner() */
226
void shutdown_ini_scanner(void)
227
13.7k
{
228
13.7k
  zend_stack_destroy(&SCNG(state_stack));
229
13.7k
  if (ini_filename) {
230
0
    zend_string_release(ini_filename);
231
0
  }
232
13.7k
}
233
/* }}} */
234
235
/* {{{ zend_ini_scanner_get_lineno() */
236
ZEND_COLD uint32_t zend_ini_scanner_get_lineno(void)
237
8.35k
{
238
8.35k
  return SCNG(lineno);
239
8.35k
}
240
/* }}} */
241
242
/* {{{ zend_ini_scanner_get_filename() */
243
ZEND_COLD const char *zend_ini_scanner_get_filename(void)
244
8.35k
{
245
8.35k
  return ini_filename ? ZSTR_VAL(ini_filename) : "Unknown";
246
8.35k
}
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
13.7k
{
272
13.7k
  int len = (int)strlen(str);
273
274
13.7k
  if (init_ini_scanner(scanner_mode, NULL) == FAILURE) {
275
0
    return FAILURE;
276
0
  }
277
278
13.7k
  yy_scan_buffer(str, len);
279
280
13.7k
  return SUCCESS;
281
13.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
56.6k
{
287
56.6k
  char *s, *t;
288
56.6k
  char *end;
289
290
56.6k
  zend_ini_copy_value(lval, str, len);
291
292
  /* convert escape sequences */
293
56.6k
  s = t = Z_STRVAL_P(lval);
294
56.6k
  end = s + Z_STRLEN_P(lval);
295
296
1.68M
  while (s < end) {
297
1.62M
    if (*s == '\\') {
298
12.7k
      s++;
299
12.7k
      if (s >= end) {
300
0
        *t++ = '\\';
301
0
        continue;
302
0
      }
303
12.7k
      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
267
        case '\\':
312
267
        case '$':
313
267
          *t++ = *s;
314
267
          Z_STRLEN_P(lval)--;
315
267
          break;
316
12.4k
        default:
317
12.4k
          *t++ = '\\';
318
12.4k
          *t++ = *s;
319
12.4k
          break;
320
12.7k
      }
321
1.61M
    } else {
322
1.61M
      *t++ = *s;
323
1.61M
    }
324
1.62M
    if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
325
47.2k
      SCNG(lineno)++;
326
47.2k
    }
327
1.62M
    s++;
328
1.62M
  }
329
56.6k
  *t = 0;
330
56.6k
}
331
/* }}} */
332
333
int ini_lex(zval *ini_lval)
334
858k
{
335
887k
restart:
336
887k
  SCNG(yy_text) = YYCURSOR;
337
338
/* yymore_restart: */
339
  /* detect EOF */
340
887k
  if (YYCURSOR >= YYLIMIT) {
341
7.42k
    if (YYSTATE == STATE(ST_VALUE) || YYSTATE == STATE(ST_RAW)) {
342
1.89k
      BEGIN(INITIAL);
343
1.89k
      return END_OF_LINE;
344
1.89k
    }
345
5.53k
    return 0;
346
7.42k
  }
347
348
  /* Eat any UTF-8 BOM we find in the first 3 bytes */
349
880k
  if (YYCURSOR == SCNG(yy_start) && YYCURSOR + 3 < YYLIMIT) {
350
12.6k
    if (memcmp(YYCURSOR, "\xef\xbb\xbf", 3) == 0) {
351
1.21k
      YYCURSOR += 3;
352
1.21k
      goto restart;
353
1.21k
    }
354
12.6k
  }
355
356
878k
#line 357 "Zend/zend_ini_scanner.c"
357
878k
{
358
878k
  YYCTYPE yych;
359
878k
  unsigned int yyaccept = 0;
360
878k
  if (YYGETCONDITION() < 4) {
361
759k
    if (YYGETCONDITION() < 2) {
362
322k
      if (YYGETCONDITION() < 1) {
363
306k
        goto yyc_INITIAL;
364
306k
      } else {
365
15.6k
        goto yyc_ST_OFFSET;
366
15.6k
      }
367
437k
    } else {
368
437k
      if (YYGETCONDITION() < 3) {
369
10.1k
        goto yyc_ST_SECTION_VALUE;
370
426k
      } else {
371
426k
        goto yyc_ST_VALUE;
372
426k
      }
373
437k
    }
374
759k
  } else {
375
119k
    if (YYGETCONDITION() < 6) {
376
119k
      if (YYGETCONDITION() < 5) {
377
6
        goto yyc_ST_SECTION_RAW;
378
119k
      } else {
379
119k
        goto yyc_ST_DOUBLE_QUOTES;
380
119k
      }
381
119k
    } else {
382
34
      if (YYGETCONDITION() < 7) {
383
12
        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
34
    }
392
119k
  }
393
/* *********************************** */
394
306k
yyc_INITIAL:
395
306k
  {
396
306k
    static const unsigned char yybm[] = {
397
306k
      128, 144, 144, 144, 144, 144, 144, 144, 
398
306k
      144, 160,   0, 144, 144,   0, 144, 144, 
399
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
400
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
401
306k
      240, 128, 128, 144, 128, 144, 128, 144, 
402
306k
      128, 128, 144, 144, 144, 144, 144, 144, 
403
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
404
306k
      144, 144, 144, 128, 144, 128, 144, 144, 
405
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
406
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
407
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
408
306k
      144, 144, 144, 128, 144, 128, 128, 144, 
409
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
410
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
411
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
412
306k
      144, 144, 144, 128, 128, 128, 128, 144, 
413
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
414
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
415
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
416
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
417
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
418
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
419
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
420
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
421
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
422
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
423
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
424
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
425
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
426
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
427
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
428
306k
      144, 144, 144, 144, 144, 144, 144, 144, 
429
306k
    };
430
306k
    YYDEBUG(1, *YYCURSOR);
431
306k
    YYFILL(5);
432
306k
    yych = *YYCURSOR;
433
306k
    if (yybm[0+yych] & 64) {
434
3.54k
      goto yy14;
435
3.54k
    }
436
302k
    if (yych <= 'M') {
437
219k
      if (yych <= '$') {
438
72.7k
        if (yych <= '\f') {
439
47.3k
          if (yych <= 0x08) {
440
6
            if (yych >= 0x01) goto yy5;
441
47.3k
          } else {
442
47.3k
            if (yych <= '\t') goto yy8;
443
19.7k
            if (yych <= '\n') goto yy11;
444
0
            goto yy5;
445
19.7k
          }
446
47.3k
        } else {
447
25.4k
          if (yych <= 0x1F) {
448
23.8k
            if (yych <= '\r') goto yy13;
449
5.22k
            goto yy5;
450
23.8k
          } else {
451
1.57k
            if (yych == '#') goto yy5;
452
760
            goto yy16;
453
1.57k
          }
454
25.4k
        }
455
146k
      } else {
456
146k
        if (yych <= ':') {
457
52.8k
          if (yych <= '&') {
458
198
            if (yych <= '%') goto yy5;
459
99
            goto yy16;
460
52.6k
          } else {
461
52.6k
            if (yych <= '\'') goto yy5;
462
52.4k
            if (yych <= ')') goto yy16;
463
51.8k
            goto yy5;
464
52.4k
          }
465
93.5k
        } else {
466
93.5k
          if (yych <= '=') {
467
91.3k
            if (yych <= ';') goto yy18;
468
86.7k
            if (yych <= '<') goto yy5;
469
86.4k
            goto yy20;
470
86.7k
          } else {
471
2.26k
            if (yych == 'F') goto yy23;
472
2.18k
            goto yy5;
473
2.26k
          }
474
93.5k
        }
475
146k
      }
476
219k
    } else {
477
83.6k
      if (yych <= 'e') {
478
9.73k
        if (yych <= 'X') {
479
387
          if (yych <= 'O') {
480
286
            if (yych <= 'N') goto yy24;
481
0
            goto yy25;
482
286
          } else {
483
101
            if (yych == 'T') goto yy26;
484
101
            goto yy5;
485
101
          }
486
9.35k
        } else {
487
9.35k
          if (yych <= '[') {
488
5.06k
            if (yych <= 'Y') goto yy27;
489
4.97k
            if (yych <= 'Z') goto yy5;
490
4.92k
            goto yy28;
491
4.97k
          } else {
492
4.28k
            if (yych <= '\\') goto yy5;
493
3.91k
            if (yych <= '^') goto yy16;
494
3.84k
            goto yy5;
495
3.91k
          }
496
9.35k
        }
497
73.9k
      } else {
498
73.9k
        if (yych <= 's') {
499
7.57k
          if (yych <= 'm') {
500
4.14k
            if (yych <= 'f') goto yy23;
501
3.89k
            goto yy5;
502
4.14k
          } else {
503
3.42k
            if (yych <= 'n') goto yy24;
504
3.21k
            if (yych <= 'o') goto yy25;
505
3.11k
            goto yy5;
506
3.21k
          }
507
66.3k
        } else {
508
66.3k
          if (yych <= 'y') {
509
3.71k
            if (yych <= 't') goto yy26;
510
3.40k
            if (yych <= 'x') goto yy5;
511
5
            goto yy27;
512
62.6k
          } else {
513
62.6k
            if (yych <= 'z') goto yy5;
514
62.3k
            if (yych <= '~') goto yy16;
515
61.9k
            goto yy5;
516
62.3k
          }
517
66.3k
        }
518
73.9k
      }
519
83.6k
    }
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
302k
}
528
0
#line 529 "Zend/zend_ini_scanner.c"
529
951k
yy5:
530
951k
    YYDEBUG(5, *YYCURSOR);
531
951k
    ++YYCURSOR;
532
951k
    YYFILL(1);
533
951k
    yych = *YYCURSOR;
534
952k
yy6:
535
952k
    YYDEBUG(6, *YYCURSOR);
536
952k
    if (yybm[0+yych] & 16) {
537
810k
      goto yy5;
538
810k
    }
539
141k
    if (yych <= '=') goto yy7;
540
1.76k
    if (yych <= '[') goto yy30;
541
141k
yy7:
542
141k
    YYDEBUG(7, *YYCURSOR);
543
141k
    yyleng = YYCURSOR - SCNG(yy_text);
544
141k
#line 503 "Zend/zend_ini_scanner.l"
545
141k
    { /* Get option name */
546
  /* Eat leading whitespace */
547
141k
  EAT_LEADING_WHITESPACE();
548
549
  /* Eat trailing whitespace */
550
141k
  EAT_TRAILING_WHITESPACE();
551
552
141k
  RETURN_TOKEN(TC_LABEL, yytext, yyleng);
553
0
}
554
0
#line 555 "Zend/zend_ini_scanner.c"
555
62.1k
yy8:
556
62.1k
    YYDEBUG(8, *YYCURSOR);
557
62.1k
    ++YYCURSOR;
558
62.1k
    YYFILL(2);
559
62.1k
    yych = *YYCURSOR;
560
62.1k
    YYDEBUG(9, *YYCURSOR);
561
62.1k
    if (yybm[0+yych] & 32) {
562
34.5k
      goto yy8;
563
34.5k
    }
564
27.6k
    if (yych <= '\r') {
565
144
      if (yych <= 0x08) goto yy10;
566
2
      if (yych <= '\n') goto yy11;
567
0
      if (yych >= '\r') goto yy13;
568
27.4k
    } else {
569
27.4k
      if (yych <= ';') {
570
5.56k
        if (yych >= ';') goto yy18;
571
21.8k
      } else {
572
21.8k
        if (yych == '=') goto yy20;
573
21.8k
      }
574
27.4k
    }
575
27.6k
yy10:
576
27.6k
    YYDEBUG(10, *YYCURSOR);
577
27.6k
    yyleng = YYCURSOR - SCNG(yy_text);
578
27.6k
#line 665 "Zend/zend_ini_scanner.l"
579
27.6k
    {
580
  /* eat whitespace */
581
27.6k
  goto restart;
582
27.6k
}
583
0
#line 584 "Zend/zend_ini_scanner.c"
584
19.8k
yy11:
585
19.8k
    YYDEBUG(11, *YYCURSOR);
586
19.8k
    ++YYCURSOR;
587
38.3k
yy12:
588
38.3k
    YYDEBUG(12, *YYCURSOR);
589
38.3k
    yyleng = YYCURSOR - SCNG(yy_text);
590
38.3k
#line 670 "Zend/zend_ini_scanner.l"
591
38.3k
    {
592
38.3k
  SCNG(lineno)++;
593
38.3k
  return END_OF_LINE;
594
19.8k
}
595
0
#line 596 "Zend/zend_ini_scanner.c"
596
18.6k
yy13:
597
18.6k
    YYDEBUG(13, *YYCURSOR);
598
18.6k
    yych = *++YYCURSOR;
599
18.6k
    if (yych == '\n') goto yy11;
600
18.5k
    goto yy12;
601
18.5k
yy14:
602
5.41k
    YYDEBUG(14, *YYCURSOR);
603
5.41k
    ++YYCURSOR;
604
5.41k
    YYFILL(2);
605
5.41k
    yych = *YYCURSOR;
606
5.41k
    YYDEBUG(15, *YYCURSOR);
607
5.41k
    if (yybm[0+yych] & 64) {
608
1.87k
      goto yy14;
609
1.87k
    }
610
3.54k
    if (yych <= '&') {
611
413
      if (yych <= '\r') {
612
170
        if (yych <= '\t') {
613
166
          if (yych <= 0x00) goto yy7;
614
0
          if (yych <= 0x08) goto yy5;
615
0
          goto yy8;
616
4
        } else {
617
4
          if (yych <= '\n') goto yy11;
618
0
          if (yych <= '\f') goto yy5;
619
0
          goto yy13;
620
0
        }
621
243
      } else {
622
243
        if (yych <= '#') {
623
167
          if (yych <= 0x1F) goto yy5;
624
167
          if (yych <= '"') goto yy7;
625
0
          goto yy5;
626
167
        } else {
627
76
          if (yych == '%') goto yy5;
628
0
          goto yy7;
629
76
        }
630
243
      }
631
3.13k
    } else {
632
3.13k
      if (yych <= '=') {
633
1.62k
        if (yych <= ':') {
634
1.44k
          if (yych <= '\'') goto yy5;
635
1.44k
          if (yych <= ')') goto yy7;
636
1.44k
          goto yy5;
637
1.44k
        } else {
638
176
          if (yych <= ';') goto yy18;
639
99
          if (yych <= '<') goto yy5;
640
0
          goto yy20;
641
99
        }
642
1.62k
      } else {
643
1.51k
        if (yych <= '\\') {
644
142
          if (yych == '[') goto yy30;
645
0
          goto yy5;
646
1.36k
        } else {
647
1.36k
          if (yych <= '^') goto yy7;
648
1.36k
          if (yych <= 'z') goto yy5;
649
925
          if (yych <= '~') goto yy7;
650
925
          goto yy5;
651
925
        }
652
1.51k
      }
653
3.13k
    }
654
1.94k
yy16:
655
1.94k
    YYDEBUG(16, *YYCURSOR);
656
1.94k
    ++YYCURSOR;
657
1.94k
    YYDEBUG(17, *YYCURSOR);
658
1.94k
    yyleng = YYCURSOR - SCNG(yy_text);
659
1.94k
#line 584 "Zend/zend_ini_scanner.l"
660
1.94k
    { /* Disallow these chars outside option values */
661
1.94k
  return yytext[0];
662
3.54k
}
663
0
#line 664 "Zend/zend_ini_scanner.c"
664
89.1k
yy18:
665
89.1k
    YYDEBUG(18, *YYCURSOR);
666
89.1k
    ++YYCURSOR;
667
89.1k
    YYFILL(2);
668
88.8k
    yych = *YYCURSOR;
669
88.8k
    YYDEBUG(19, *YYCURSOR);
670
88.8k
    if (yybm[0+yych] & 128) {
671
84.4k
      goto yy18;
672
84.4k
    }
673
4.37k
    if (yych <= '\n') goto yy33;
674
3.90k
    goto yy35;
675
97.0k
yy20:
676
97.0k
    YYDEBUG(20, *YYCURSOR);
677
97.0k
    ++YYCURSOR;
678
97.0k
    YYFILL(1);
679
97.0k
    yych = *YYCURSOR;
680
97.0k
    YYDEBUG(21, *YYCURSOR);
681
97.0k
    if (yych == '\t') goto yy20;
682
96.5k
    if (yych == ' ') goto yy20;
683
86.4k
    YYDEBUG(22, *YYCURSOR);
684
86.4k
    yyleng = YYCURSOR - SCNG(yy_text);
685
86.4k
#line 513 "Zend/zend_ini_scanner.l"
686
86.4k
    { /* Start option value */
687
86.4k
  if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
688
2
    BEGIN(ST_RAW);
689
86.4k
  } else {
690
86.4k
    BEGIN(ST_VALUE);
691
86.4k
  }
692
86.4k
  return '=';
693
96.5k
}
694
0
#line 695 "Zend/zend_ini_scanner.c"
695
335
yy23:
696
335
    YYDEBUG(23, *YYCURSOR);
697
335
    yych = *++YYCURSOR;
698
335
    if (yych == 'A') goto yy36;
699
335
    if (yych == 'a') goto yy36;
700
236
    goto yy6;
701
498
yy24:
702
498
    YYDEBUG(24, *YYCURSOR);
703
498
    yych = *++YYCURSOR;
704
498
    if (yych <= 'U') {
705
285
      if (yych == 'O') goto yy37;
706
285
      if (yych <= 'T') goto yy6;
707
0
      goto yy39;
708
285
    } else {
709
213
      if (yych <= 'o') {
710
0
        if (yych <= 'n') goto yy6;
711
0
        goto yy37;
712
213
      } else {
713
213
        if (yych == 'u') goto yy39;
714
213
        goto yy6;
715
213
      }
716
213
    }
717
105
yy25:
718
105
    YYDEBUG(25, *YYCURSOR);
719
105
    yych = *++YYCURSOR;
720
105
    if (yych <= 'N') {
721
0
      if (yych == 'F') goto yy40;
722
0
      if (yych <= 'M') goto yy6;
723
0
      goto yy41;
724
105
    } else {
725
105
      if (yych <= 'f') {
726
25
        if (yych <= 'e') goto yy6;
727
0
        goto yy40;
728
80
      } else {
729
80
        if (yych == 'n') goto yy41;
730
4
        goto yy6;
731
80
      }
732
105
    }
733
308
yy26:
734
308
    YYDEBUG(26, *YYCURSOR);
735
308
    yych = *++YYCURSOR;
736
308
    if (yych == 'R') goto yy44;
737
308
    if (yych == 'r') goto yy44;
738
142
    goto yy6;
739
142
yy27:
740
95
    YYDEBUG(27, *YYCURSOR);
741
95
    yych = *++YYCURSOR;
742
95
    if (yych == 'E') goto yy45;
743
95
    if (yych == 'e') goto yy45;
744
92
    goto yy6;
745
4.92k
yy28:
746
4.92k
    YYDEBUG(28, *YYCURSOR);
747
4.92k
    ++YYCURSOR;
748
4.92k
    YYDEBUG(29, *YYCURSOR);
749
4.92k
    yyleng = YYCURSOR - SCNG(yy_text);
750
4.92k
#line 379 "Zend/zend_ini_scanner.l"
751
4.92k
    { /* Section start */
752
  /* Enter section data lookup state */
753
4.92k
  if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
754
3
    BEGIN(ST_SECTION_RAW);
755
4.92k
  } else {
756
4.92k
    BEGIN(ST_SECTION_VALUE);
757
4.92k
  }
758
4.92k
  return TC_SECTION;
759
95
}
760
0
#line 761 "Zend/zend_ini_scanner.c"
761
2.26k
yy30:
762
2.26k
    YYDEBUG(30, *YYCURSOR);
763
2.26k
    ++YYCURSOR;
764
2.26k
    YYFILL(1);
765
2.26k
    yych = *YYCURSOR;
766
2.26k
    YYDEBUG(31, *YYCURSOR);
767
2.26k
    if (yych == '\t') goto yy30;
768
2.26k
    if (yych == ' ') goto yy30;
769
1.43k
    YYDEBUG(32, *YYCURSOR);
770
1.43k
    yyleng = YYCURSOR - SCNG(yy_text);
771
1.43k
#line 404 "Zend/zend_ini_scanner.l"
772
1.43k
    { /* Start of option with offset */
773
  /* Eat leading whitespace */
774
1.43k
  EAT_LEADING_WHITESPACE();
775
776
  /* Eat trailing whitespace and [ */
777
1.43k
  EAT_TRAILING_WHITESPACE_EX('[');
778
779
  /* Enter offset lookup state */
780
1.43k
  BEGIN(ST_OFFSET);
781
782
1.43k
  RETURN_TOKEN(TC_OFFSET, yytext, yyleng);
783
0
}
784
0
#line 785 "Zend/zend_ini_scanner.c"
785
478
yy33:
786
478
    YYDEBUG(33, *YYCURSOR);
787
478
    ++YYCURSOR;
788
4.37k
yy34:
789
4.37k
    YYDEBUG(34, *YYCURSOR);
790
4.37k
    yyleng = YYCURSOR - SCNG(yy_text);
791
4.37k
#line 675 "Zend/zend_ini_scanner.l"
792
4.37k
    { /* Comment */
793
4.37k
  BEGIN(INITIAL);
794
4.37k
  SCNG(lineno)++;
795
4.37k
  return END_OF_LINE;
796
478
}
797
0
#line 798 "Zend/zend_ini_scanner.c"
798
3.90k
yy35:
799
3.90k
    YYDEBUG(35, *YYCURSOR);
800
3.90k
    yych = *++YYCURSOR;
801
3.90k
    if (yych == '\n') goto yy33;
802
3.90k
    goto yy34;
803
3.90k
yy36:
804
99
    YYDEBUG(36, *YYCURSOR);
805
99
    yych = *++YYCURSOR;
806
99
    if (yych == 'L') goto yy46;
807
99
    if (yych == 'l') goto yy46;
808
99
    goto yy6;
809
99
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
155
yy41:
873
155
    YYDEBUG(41, *YYCURSOR);
874
155
    ++YYCURSOR;
875
155
    YYFILL(1);
876
155
    yych = *YYCURSOR;
877
155
    YYDEBUG(42, *YYCURSOR);
878
155
    if (yych <= '&') {
879
154
      if (yych <= '\r') {
880
78
        if (yych <= '\t') {
881
2
          if (yych <= 0x00) goto yy43;
882
0
          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
78
      } else {
889
76
        if (yych <= '"') {
890
76
          if (yych <= 0x1F) goto yy5;
891
76
          if (yych <= ' ') goto yy41;
892
76
        } else {
893
0
          if (yych == '$') goto yy43;
894
0
          if (yych <= '%') goto yy5;
895
0
        }
896
76
      }
897
154
    } else {
898
1
      if (yych <= '=') {
899
0
        if (yych <= ':') {
900
0
          if (yych <= '\'') goto yy5;
901
0
          if (yych >= '*') goto yy5;
902
0
        } else {
903
0
          if (yych == '<') goto yy5;
904
0
        }
905
1
      } else {
906
1
        if (yych <= '\\') {
907
1
          if (yych == '[') goto yy30;
908
0
          goto yy5;
909
1
        } else {
910
0
          if (yych <= '^') goto yy43;
911
0
          if (yych <= 'z') goto yy5;
912
0
          if (yych >= 0x7F) goto yy5;
913
0
        }
914
1
      }
915
1
    }
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
3
    YYDEBUG(45, *YYCURSOR);
932
3
    yych = *++YYCURSOR;
933
3
    if (yych == 'S') goto yy41;
934
3
    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
15.6k
yyc_ST_OFFSET:
1092
15.6k
  {
1093
15.6k
    static const unsigned char yybm[] = {
1094
15.6k
      132, 132, 132, 132, 132, 132, 132, 132, 
1095
15.6k
      132, 140, 128, 132, 132, 128, 132, 132, 
1096
15.6k
      132, 132, 132, 132, 132, 132, 132, 132, 
1097
15.6k
      132, 132, 132, 132, 132, 132, 132, 132, 
1098
15.6k
      140, 132, 128, 132, 192, 132, 132,   0, 
1099
15.6k
      132, 132, 132, 132, 132, 132, 132, 132, 
1100
15.6k
      180, 180, 180, 180, 180, 180, 180, 180, 
1101
15.6k
      180, 180, 132, 128, 132, 132, 132, 132, 
1102
15.6k
      132, 164, 164, 164, 164, 164, 164, 164, 
1103
15.6k
      164, 164, 164, 164, 164, 164, 164, 164, 
1104
15.6k
      164, 164, 164, 164, 164, 164, 164, 164, 
1105
15.6k
      164, 164, 164, 132, 192, 128, 132, 164, 
1106
15.6k
      132, 164, 164, 164, 164, 164, 164, 164, 
1107
15.6k
      164, 164, 164, 164, 164, 164, 164, 164, 
1108
15.6k
      164, 164, 164, 164, 164, 164, 164, 164, 
1109
15.6k
      164, 164, 164, 132, 132, 132, 132, 132, 
1110
15.6k
      132, 132, 132, 132, 132, 132, 132, 132, 
1111
15.6k
      132, 132, 132, 132, 132, 132, 132, 132, 
1112
15.6k
      132, 132, 132, 132, 132, 132, 132, 132, 
1113
15.6k
      132, 132, 132, 132, 132, 132, 132, 132, 
1114
15.6k
      132, 132, 132, 132, 132, 132, 132, 132, 
1115
15.6k
      132, 132, 132, 132, 132, 132, 132, 132, 
1116
15.6k
      132, 132, 132, 132, 132, 132, 132, 132, 
1117
15.6k
      132, 132, 132, 132, 132, 132, 132, 132, 
1118
15.6k
      132, 132, 132, 132, 132, 132, 132, 132, 
1119
15.6k
      132, 132, 132, 132, 132, 132, 132, 132, 
1120
15.6k
      132, 132, 132, 132, 132, 132, 132, 132, 
1121
15.6k
      132, 132, 132, 132, 132, 132, 132, 132, 
1122
15.6k
      132, 132, 132, 132, 132, 132, 132, 132, 
1123
15.6k
      132, 132, 132, 132, 132, 132, 132, 132, 
1124
15.6k
      132, 132, 132, 132, 132, 132, 132, 132, 
1125
15.6k
      132, 132, 132, 132, 132, 132, 132, 132, 
1126
15.6k
    };
1127
15.6k
    YYDEBUG(61, *YYCURSOR);
1128
15.6k
    YYFILL(2);
1129
15.6k
    yych = *YYCURSOR;
1130
15.6k
    if (yybm[0+yych] & 8) {
1131
3
      goto yy66;
1132
3
    }
1133
15.6k
    if (yych <= '/') {
1134
9.56k
      if (yych <= '"') {
1135
4.18k
        if (yych <= '\f') {
1136
399
          if (yych <= 0x08) goto yy63;
1137
399
          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
5.37k
      } else {
1143
5.37k
        if (yych <= '&') {
1144
6
          if (yych == '$') goto yy72;
1145
5.36k
        } else {
1146
5.36k
          if (yych <= '\'') goto yy73;
1147
1.94k
          if (yych <= ',') goto yy63;
1148
2
          if (yych <= '.') goto yy74;
1149
2
        }
1150
5.37k
      }
1151
9.56k
    } else {
1152
6.08k
      if (yych <= '[') {
1153
4.99k
        if (yych <= ';') {
1154
4.64k
          if (yych <= '9') goto yy75;
1155
126
          if (yych >= ';') goto yy68;
1156
346
        } else {
1157
346
          if (yych <= '@') goto yy63;
1158
346
          if (yych <= 'Z') goto yy78;
1159
346
        }
1160
4.99k
      } else {
1161
1.09k
        if (yych <= '^') {
1162
100
          if (yych <= '\\') goto yy81;
1163
99
          if (yych <= ']') goto yy82;
1164
996
        } else {
1165
996
          if (yych == '`') goto yy63;
1166
996
          if (yych <= 'z') goto yy78;
1167
996
        }
1168
1.09k
      }
1169
6.08k
    }
1170
54.0k
yy63:
1171
54.0k
    YYDEBUG(63, *YYCURSOR);
1172
54.0k
    yyaccept = 0;
1173
54.0k
    YYMARKER = ++YYCURSOR;
1174
54.0k
    YYFILL(1);
1175
53.9k
    yych = *YYCURSOR;
1176
53.9k
yy64:
1177
53.9k
    YYDEBUG(64, *YYCURSOR);
1178
53.9k
    if (yybm[0+yych] & 4) {
1179
47.2k
      goto yy63;
1180
47.2k
    }
1181
6.74k
    if (yych <= '"') goto yy65;
1182
2.98k
    if (yych <= '$') goto yy84;
1183
2.91k
    if (yych <= ';') goto yy65;
1184
1
    if (yych <= '\\') goto yy81;
1185
6.66k
yy65:
1186
6.66k
    YYDEBUG(65, *YYCURSOR);
1187
6.66k
    yyleng = YYCURSOR - SCNG(yy_text);
1188
6.66k
#line 606 "Zend/zend_ini_scanner.l"
1189
6.66k
    { /* Get rest as section/offset value */
1190
6.66k
  RETURN_TOKEN(TC_STRING, yytext, yyleng);
1191
0
}
1192
0
#line 1193 "Zend/zend_ini_scanner.c"
1193
11
yy66:
1194
11
    YYDEBUG(66, *YYCURSOR);
1195
11
    yyaccept = 0;
1196
11
    YYMARKER = ++YYCURSOR;
1197
11
    YYFILL(1);
1198
11
    yych = *YYCURSOR;
1199
11
    YYDEBUG(67, *YYCURSOR);
1200
11
    if (yybm[0+yych] & 8) {
1201
8
      goto yy66;
1202
8
    }
1203
3
    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
3
    } else {
1215
3
      if (yych <= ';') {
1216
1
        if (yych == '\'') goto yy65;
1217
1
        if (yych <= ':') goto yy63;
1218
0
        goto yy65;
1219
2
      } else {
1220
2
        if (yych <= '[') goto yy63;
1221
0
        if (yych <= '\\') goto yy81;
1222
0
        if (yych <= ']') goto yy82;
1223
0
        goto yy63;
1224
0
      }
1225
3
    }
1226
635
yy68:
1227
635
    YYDEBUG(68, *YYCURSOR);
1228
635
    ++YYCURSOR;
1229
635
yy69:
1230
635
    YYDEBUG(69, *YYCURSOR);
1231
635
    yyleng = YYCURSOR - SCNG(yy_text);
1232
635
#line 686 "Zend/zend_ini_scanner.l"
1233
635
    {
1234
635
  return 0;
1235
635
}
1236
0
#line 1237 "Zend/zend_ini_scanner.c"
1237
3.67k
yy70:
1238
3.67k
    YYDEBUG(70, *YYCURSOR);
1239
3.67k
    ++YYCURSOR;
1240
3.67k
    YYDEBUG(71, *YYCURSOR);
1241
3.67k
    yyleng = YYCURSOR - SCNG(yy_text);
1242
3.67k
#line 610 "Zend/zend_ini_scanner.l"
1243
3.67k
    { /* Double quoted '"' string start */
1244
3.67k
  yy_push_state(ST_DOUBLE_QUOTES);
1245
3.67k
  return '"';
1246
635
}
1247
0
#line 1248 "Zend/zend_ini_scanner.c"
1248
6
yy72:
1249
6
    YYDEBUG(72, *YYCURSOR);
1250
6
    yych = *++YYCURSOR;
1251
6
    if (yych <= '\\') {
1252
6
      if (yych <= 0x00) goto yy69;
1253
6
      if (yych <= '[') goto yy63;
1254
0
      goto yy86;
1255
6
    } else {
1256
0
      if (yych == '{') goto yy88;
1257
0
      goto yy63;
1258
0
    }
1259
3.42k
yy73:
1260
3.42k
    YYDEBUG(73, *YYCURSOR);
1261
3.42k
    yych = *++YYCURSOR;
1262
3.42k
    if (yybm[0+yych] & 128) {
1263
3.42k
      goto yy90;
1264
3.42k
    }
1265
0
    goto yy69;
1266
2
yy74:
1267
2
    YYDEBUG(74, *YYCURSOR);
1268
2
    yyaccept = 0;
1269
2
    yych = *(YYMARKER = ++YYCURSOR);
1270
2
    if (yych <= '/') goto yy64;
1271
0
    if (yych <= '9') goto yy92;
1272
0
    goto yy64;
1273
5.12k
yy75:
1274
5.12k
    YYDEBUG(75, *YYCURSOR);
1275
5.12k
    yyaccept = 1;
1276
5.12k
    YYMARKER = ++YYCURSOR;
1277
5.12k
    YYFILL(1);
1278
5.12k
    yych = *YYCURSOR;
1279
5.12k
    YYDEBUG(76, *YYCURSOR);
1280
5.12k
    if (yybm[0+yych] & 16) {
1281
603
      goto yy75;
1282
603
    }
1283
4.52k
    if (yych <= '&') {
1284
108
      if (yych <= '\r') {
1285
1
        if (yych == '\n') goto yy77;
1286
1
        if (yych <= '\f') goto yy63;
1287
107
      } else {
1288
107
        if (yych <= '"') {
1289
107
          if (yych <= '!') goto yy63;
1290
107
        } else {
1291
0
          if (yych == '$') goto yy84;
1292
0
          goto yy63;
1293
0
        }
1294
107
      }
1295
4.41k
    } else {
1296
4.41k
      if (yych <= ':') {
1297
1.06k
        if (yych <= '\'') goto yy77;
1298
1.06k
        if (yych == '.') goto yy92;
1299
1.06k
        goto yy63;
1300
3.35k
      } else {
1301
3.35k
        if (yych <= '[') {
1302
222
          if (yych >= '<') goto yy63;
1303
3.13k
        } else {
1304
3.13k
          if (yych <= '\\') goto yy81;
1305
3.13k
          if (yych >= '^') goto yy63;
1306
3.13k
        }
1307
3.35k
      }
1308
4.41k
    }
1309
201
yy77:
1310
201
    YYDEBUG(77, *YYCURSOR);
1311
201
    yyleng = YYCURSOR - SCNG(yy_text);
1312
201
#line 580 "Zend/zend_ini_scanner.l"
1313
201
    { /* Get number option value as string */
1314
201
  RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
1315
0
}
1316
0
#line 1317 "Zend/zend_ini_scanner.c"
1317
3.25k
yy78:
1318
3.25k
    YYDEBUG(78, *YYCURSOR);
1319
3.25k
    yyaccept = 2;
1320
3.25k
    YYMARKER = ++YYCURSOR;
1321
3.25k
    YYFILL(1);
1322
3.25k
    yych = *YYCURSOR;
1323
3.25k
    YYDEBUG(79, *YYCURSOR);
1324
3.25k
    if (yybm[0+yych] & 32) {
1325
2.05k
      goto yy78;
1326
2.05k
    }
1327
1.19k
    if (yych <= '$') {
1328
359
      if (yych <= '\r') {
1329
76
        if (yych == '\n') goto yy80;
1330
0
        if (yych <= '\f') goto yy63;
1331
283
      } else {
1332
283
        if (yych == '"') goto yy80;
1333
154
        if (yych <= '#') goto yy63;
1334
12
        goto yy84;
1335
154
      }
1336
840
    } else {
1337
840
      if (yych <= ';') {
1338
641
        if (yych == '\'') goto yy80;
1339
104
        if (yych <= ':') goto yy63;
1340
199
      } else {
1341
199
        if (yych <= '[') goto yy63;
1342
109
        if (yych <= '\\') goto yy81;
1343
0
        if (yych >= '^') goto yy63;
1344
0
      }
1345
840
    }
1346
842
yy80:
1347
842
    YYDEBUG(80, *YYCURSOR);
1348
842
    yyleng = YYCURSOR - SCNG(yy_text);
1349
842
#line 576 "Zend/zend_ini_scanner.l"
1350
842
    { /* Get constant option value */
1351
842
  RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
1352
0
}
1353
0
#line 1354 "Zend/zend_ini_scanner.c"
1354
111
yy81:
1355
111
    YYDEBUG(81, *YYCURSOR);
1356
111
    ++YYCURSOR;
1357
111
    YYFILL(1);
1358
111
    yych = *YYCURSOR;
1359
111
    goto yy63;
1360
99
yy82:
1361
99
    YYDEBUG(82, *YYCURSOR);
1362
99
    ++YYCURSOR;
1363
99
    YYDEBUG(83, *YYCURSOR);
1364
99
    yyleng = YYCURSOR - SCNG(yy_text);
1365
99
#line 417 "Zend/zend_ini_scanner.l"
1366
99
    { /* End of section or an option offset */
1367
99
  BEGIN(INITIAL);
1368
99
  return ']';
1369
111
}
1370
0
#line 1371 "Zend/zend_ini_scanner.c"
1371
84
yy84:
1372
84
    YYDEBUG(84, *YYCURSOR);
1373
84
    ++YYCURSOR;
1374
84
    YYFILL(1);
1375
84
    yych = *YYCURSOR;
1376
84
    if (yych <= '\\') {
1377
84
      if (yych <= 0x00) goto yy85;
1378
84
      if (yych <= '[') goto yy63;
1379
0
      goto yy86;
1380
84
    } else {
1381
0
      if (yych != '{') goto yy63;
1382
0
    }
1383
0
yy85:
1384
0
    YYDEBUG(85, *YYCURSOR);
1385
0
    YYCURSOR = YYMARKER;
1386
0
    if (yyaccept <= 1) {
1387
0
      if (yyaccept == 0) {
1388
0
        goto yy65;
1389
0
      } else {
1390
0
        goto yy77;
1391
0
      }
1392
0
    } 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
67.3k
yy90:
1417
67.3k
    YYDEBUG(90, *YYCURSOR);
1418
67.3k
    ++YYCURSOR;
1419
67.3k
    YYFILL(1);
1420
67.1k
    yych = *YYCURSOR;
1421
67.1k
    YYDEBUG(91, *YYCURSOR);
1422
67.1k
    if (yybm[0+yych] & 128) {
1423
63.9k
      goto yy90;
1424
63.9k
    }
1425
3.19k
    goto yy94;
1426
3.19k
yy92:
1427
0
    YYDEBUG(92, *YYCURSOR);
1428
0
    yyaccept = 1;
1429
0
    YYMARKER = ++YYCURSOR;
1430
0
    YYFILL(1);
1431
0
    yych = *YYCURSOR;
1432
0
    YYDEBUG(93, *YYCURSOR);
1433
0
    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
0
    } else {
1448
0
      if (yych <= ':') {
1449
0
        if (yych <= '\'') goto yy77;
1450
0
        if (yych <= '/') goto yy63;
1451
0
        if (yych <= '9') goto yy92;
1452
0
        goto yy63;
1453
0
      } else {
1454
0
        if (yych <= '[') {
1455
0
          if (yych <= ';') goto yy77;
1456
0
          goto yy63;
1457
0
        } else {
1458
0
          if (yych <= '\\') goto yy81;
1459
0
          if (yych <= ']') goto yy77;
1460
0
          goto yy63;
1461
0
        }
1462
0
      }
1463
0
    }
1464
3.19k
yy94:
1465
3.19k
    YYDEBUG(94, *YYCURSOR);
1466
3.19k
    ++YYCURSOR;
1467
3.19k
    YYDEBUG(95, *YYCURSOR);
1468
3.19k
    yyleng = YYCURSOR - SCNG(yy_text);
1469
3.19k
#line 389 "Zend/zend_ini_scanner.l"
1470
3.19k
    { /* Raw string */
1471
  /* Eat leading and trailing single quotes */
1472
3.19k
  if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
1473
3.19k
    SCNG(yy_text)++;
1474
3.19k
    yyleng = yyleng - 2;
1475
3.19k
  }
1476
3.19k
  RETURN_TOKEN(TC_RAW, yytext, yyleng);
1477
0
}
1478
0
#line 1479 "Zend/zend_ini_scanner.c"
1479
0
  }
1480
/* *********************************** */
1481
10.1k
yyc_ST_SECTION_VALUE:
1482
10.1k
  {
1483
10.1k
    static const unsigned char yybm[] = {
1484
10.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1485
10.1k
      132, 140, 128, 132, 132, 128, 132, 132, 
1486
10.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1487
10.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1488
10.1k
      140, 132, 128, 132, 192, 132, 132,   0, 
1489
10.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1490
10.1k
      180, 180, 180, 180, 180, 180, 180, 180, 
1491
10.1k
      180, 180, 132, 128, 132, 132, 132, 132, 
1492
10.1k
      132, 164, 164, 164, 164, 164, 164, 164, 
1493
10.1k
      164, 164, 164, 164, 164, 164, 164, 164, 
1494
10.1k
      164, 164, 164, 164, 164, 164, 164, 164, 
1495
10.1k
      164, 164, 164, 132, 192, 128, 132, 164, 
1496
10.1k
      132, 164, 164, 164, 164, 164, 164, 164, 
1497
10.1k
      164, 164, 164, 164, 164, 164, 164, 164, 
1498
10.1k
      164, 164, 164, 164, 164, 164, 164, 164, 
1499
10.1k
      164, 164, 164, 132, 132, 132, 132, 132, 
1500
10.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1501
10.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1502
10.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1503
10.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1504
10.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1505
10.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1506
10.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1507
10.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1508
10.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1509
10.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1510
10.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1511
10.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1512
10.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1513
10.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1514
10.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1515
10.1k
      132, 132, 132, 132, 132, 132, 132, 132, 
1516
10.1k
    };
1517
10.1k
    YYDEBUG(96, *YYCURSOR);
1518
10.1k
    YYFILL(2);
1519
10.1k
    yych = *YYCURSOR;
1520
10.1k
    if (yybm[0+yych] & 8) {
1521
0
      goto yy101;
1522
0
    }
1523
10.1k
    if (yych <= '/') {
1524
546
      if (yych <= '"') {
1525
511
        if (yych <= '\f') {
1526
122
          if (yych <= 0x08) goto yy98;
1527
119
          if (yych <= '\n') goto yy103;
1528
389
        } else {
1529
389
          if (yych <= '\r') goto yy103;
1530
388
          if (yych >= '"') goto yy105;
1531
388
        }
1532
511
      } else {
1533
35
        if (yych <= '&') {
1534
4
          if (yych == '$') goto yy107;
1535
31
        } else {
1536
31
          if (yych <= '\'') goto yy108;
1537
2
          if (yych <= ',') goto yy98;
1538
2
          if (yych <= '.') goto yy109;
1539
2
        }
1540
35
      }
1541
9.58k
    } else {
1542
9.58k
      if (yych <= '[') {
1543
5.12k
        if (yych <= ';') {
1544
4.70k
          if (yych <= '9') goto yy110;
1545
99
          if (yych >= ';') goto yy103;
1546
427
        } else {
1547
427
          if (yych <= '@') goto yy98;
1548
261
          if (yych <= 'Z') goto yy113;
1549
261
        }
1550
5.12k
      } else {
1551
4.45k
        if (yych <= '^') {
1552
4.37k
          if (yych <= '\\') goto yy116;
1553
4.37k
          if (yych <= ']') goto yy117;
1554
4.37k
        } else {
1555
80
          if (yych == '`') goto yy98;
1556
79
          if (yych <= 'z') goto yy113;
1557
79
        }
1558
4.45k
      }
1559
9.58k
    }
1560
193k
yy98:
1561
193k
    YYDEBUG(98, *YYCURSOR);
1562
193k
    yyaccept = 0;
1563
193k
    YYMARKER = ++YYCURSOR;
1564
193k
    YYFILL(1);
1565
192k
    yych = *YYCURSOR;
1566
192k
yy99:
1567
192k
    YYDEBUG(99, *YYCURSOR);
1568
192k
    if (yybm[0+yych] & 4) {
1569
188k
      goto yy98;
1570
188k
    }
1571
4.35k
    if (yych <= '"') goto yy100;
1572
4.20k
    if (yych <= '$') goto yy120;
1573
4.20k
    if (yych <= ';') goto yy100;
1574
4.17k
    if (yych <= '\\') goto yy116;
1575
4.35k
yy100:
1576
4.35k
    YYDEBUG(100, *YYCURSOR);
1577
4.35k
    yyleng = YYCURSOR - SCNG(yy_text);
1578
4.35k
#line 606 "Zend/zend_ini_scanner.l"
1579
4.35k
    { /* Get rest as section/offset value */
1580
4.35k
  RETURN_TOKEN(TC_STRING, yytext, yyleng);
1581
0
}
1582
0
#line 1583 "Zend/zend_ini_scanner.c"
1583
0
yy101:
1584
0
    YYDEBUG(101, *YYCURSOR);
1585
0
    yyaccept = 0;
1586
0
    YYMARKER = ++YYCURSOR;
1587
0
    YYFILL(1);
1588
0
    yych = *YYCURSOR;
1589
0
    YYDEBUG(102, *YYCURSOR);
1590
0
    if (yybm[0+yych] & 8) {
1591
0
      goto yy101;
1592
0
    }
1593
0
    if (yych <= '$') {
1594
0
      if (yych <= '\r') {
1595
0
        if (yych <= 0x08) goto yy98;
1596
0
        if (yych <= '\n') goto yy100;
1597
0
        if (yych <= '\f') goto yy98;
1598
0
        goto yy100;
1599
0
      } else {
1600
0
        if (yych == '"') goto yy105;
1601
0
        if (yych <= '#') goto yy98;
1602
0
        goto yy120;
1603
0
      }
1604
0
    } 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
219
yy103:
1617
219
    YYDEBUG(103, *YYCURSOR);
1618
219
    ++YYCURSOR;
1619
219
yy104:
1620
219
    YYDEBUG(104, *YYCURSOR);
1621
219
    yyleng = YYCURSOR - SCNG(yy_text);
1622
219
#line 686 "Zend/zend_ini_scanner.l"
1623
219
    {
1624
219
  return 0;
1625
219
}
1626
0
#line 1627 "Zend/zend_ini_scanner.c"
1627
387
yy105:
1628
387
    YYDEBUG(105, *YYCURSOR);
1629
387
    ++YYCURSOR;
1630
387
    YYDEBUG(106, *YYCURSOR);
1631
387
    yyleng = YYCURSOR - SCNG(yy_text);
1632
387
#line 610 "Zend/zend_ini_scanner.l"
1633
387
    { /* Double quoted '"' string start */
1634
387
  yy_push_state(ST_DOUBLE_QUOTES);
1635
387
  return '"';
1636
219
}
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
29
yy108:
1650
29
    YYDEBUG(108, *YYCURSOR);
1651
29
    yych = *++YYCURSOR;
1652
29
    if (yybm[0+yych] & 128) {
1653
29
      goto yy126;
1654
29
    }
1655
0
    goto yy104;
1656
1
yy109:
1657
1
    YYDEBUG(109, *YYCURSOR);
1658
1
    yyaccept = 0;
1659
1
    yych = *(YYMARKER = ++YYCURSOR);
1660
1
    if (yych <= '/') goto yy99;
1661
1
    if (yych <= '9') goto yy128;
1662
0
    goto yy99;
1663
4.89k
yy110:
1664
4.89k
    YYDEBUG(110, *YYCURSOR);
1665
4.89k
    yyaccept = 1;
1666
4.89k
    YYMARKER = ++YYCURSOR;
1667
4.89k
    YYFILL(1);
1668
4.89k
    yych = *YYCURSOR;
1669
4.89k
    YYDEBUG(111, *YYCURSOR);
1670
4.89k
    if (yybm[0+yych] & 16) {
1671
293
      goto yy110;
1672
293
    }
1673
4.60k
    if (yych <= '&') {
1674
183
      if (yych <= '\r') {
1675
92
        if (yych == '\n') goto yy112;
1676
91
        if (yych <= '\f') goto yy98;
1677
91
      } else {
1678
91
        if (yych <= '"') {
1679
91
          if (yych <= '!') goto yy98;
1680
91
        } else {
1681
0
          if (yych == '$') goto yy120;
1682
0
          goto yy98;
1683
0
        }
1684
91
      }
1685
4.42k
    } else {
1686
4.42k
      if (yych <= ':') {
1687
2
        if (yych <= '\'') goto yy112;
1688
2
        if (yych == '.') goto yy128;
1689
2
        goto yy98;
1690
4.41k
      } else {
1691
4.41k
        if (yych <= '[') {
1692
101
          if (yych >= '<') goto yy98;
1693
4.31k
        } else {
1694
4.31k
          if (yych <= '\\') goto yy116;
1695
4.31k
          if (yych >= '^') goto yy98;
1696
4.31k
        }
1697
4.41k
      }
1698
4.42k
    }
1699
385
yy112:
1700
385
    YYDEBUG(112, *YYCURSOR);
1701
385
    yyleng = YYCURSOR - SCNG(yy_text);
1702
385
#line 580 "Zend/zend_ini_scanner.l"
1703
385
    { /* Get number option value as string */
1704
385
  RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
1705
0
}
1706
0
#line 1707 "Zend/zend_ini_scanner.c"
1707
3.06k
yy113:
1708
3.06k
    YYDEBUG(113, *YYCURSOR);
1709
3.06k
    yyaccept = 2;
1710
3.06k
    YYMARKER = ++YYCURSOR;
1711
3.06k
    YYFILL(1);
1712
3.06k
    yych = *YYCURSOR;
1713
3.06k
    YYDEBUG(114, *YYCURSOR);
1714
3.06k
    if (yybm[0+yych] & 32) {
1715
2.75k
      goto yy113;
1716
2.75k
    }
1717
314
    if (yych <= '$') {
1718
166
      if (yych <= '\r') {
1719
25
        if (yych == '\n') goto yy115;
1720
0
        if (yych <= '\f') goto yy98;
1721
141
      } else {
1722
141
        if (yych == '"') goto yy115;
1723
115
        if (yych <= '#') goto yy98;
1724
0
        goto yy120;
1725
115
      }
1726
166
    } else {
1727
148
      if (yych <= ';') {
1728
1
        if (yych == '\'') goto yy115;
1729
1
        if (yych <= ':') goto yy98;
1730
147
      } else {
1731
147
        if (yych <= '[') goto yy98;
1732
5
        if (yych <= '\\') goto yy116;
1733
5
        if (yych >= '^') goto yy98;
1734
5
      }
1735
148
    }
1736
55
yy115:
1737
55
    YYDEBUG(115, *YYCURSOR);
1738
55
    yyleng = YYCURSOR - SCNG(yy_text);
1739
55
#line 576 "Zend/zend_ini_scanner.l"
1740
55
    { /* Get constant option value */
1741
55
  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.37k
yy117:
1751
4.37k
    YYDEBUG(117, *YYCURSOR);
1752
4.37k
    ++YYCURSOR;
1753
4.37k
    YYFILL(2);
1754
4.37k
    yych = *YYCURSOR;
1755
4.37k
    YYDEBUG(118, *YYCURSOR);
1756
4.37k
    if (yych <= '\f') {
1757
4.20k
      if (yych <= 0x08) goto yy119;
1758
4.20k
      if (yych <= '\t') goto yy117;
1759
4.20k
      if (yych <= '\n') goto yy130;
1760
4.20k
    } else {
1761
168
      if (yych <= '\r') goto yy131;
1762
168
      if (yych == ' ') goto yy117;
1763
168
    }
1764
4.37k
yy119:
1765
4.37k
    YYDEBUG(119, *YYCURSOR);
1766
4.37k
    yyleng = YYCURSOR - SCNG(yy_text);
1767
4.37k
#line 398 "Zend/zend_ini_scanner.l"
1768
4.37k
    { /* End of section */
1769
4.37k
  BEGIN(INITIAL);
1770
4.37k
  SCNG(lineno)++;
1771
4.37k
  return ']';
1772
4.37k
}
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
1.31k
yy126:
1820
1.31k
    YYDEBUG(126, *YYCURSOR);
1821
1.31k
    ++YYCURSOR;
1822
1.31k
    YYFILL(1);
1823
1.31k
    yych = *YYCURSOR;
1824
1.31k
    YYDEBUG(127, *YYCURSOR);
1825
1.31k
    if (yybm[0+yych] & 128) {
1826
1.28k
      goto yy126;
1827
1.28k
    }
1828
29
    goto yy132;
1829
29
yy128:
1830
1
    YYDEBUG(128, *YYCURSOR);
1831
1
    yyaccept = 1;
1832
1
    YYMARKER = ++YYCURSOR;
1833
1
    YYFILL(1);
1834
1
    yych = *YYCURSOR;
1835
1
    YYDEBUG(129, *YYCURSOR);
1836
1
    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
1
    } else {
1851
1
      if (yych <= ':') {
1852
1
        if (yych <= '\'') goto yy112;
1853
1
        if (yych <= '/') goto yy98;
1854
0
        if (yych <= '9') goto yy128;
1855
0
        goto yy98;
1856
0
      } else {
1857
0
        if (yych <= '[') {
1858
0
          if (yych <= ';') goto yy112;
1859
0
          goto yy98;
1860
0
        } else {
1861
0
          if (yych <= '\\') goto yy116;
1862
0
          if (yych <= ']') goto yy112;
1863
0
          goto yy98;
1864
0
        }
1865
0
      }
1866
1
    }
1867
4.20k
yy130:
1868
4.20k
    YYDEBUG(130, *YYCURSOR);
1869
4.20k
    ++YYCURSOR;
1870
4.20k
    goto yy119;
1871
0
yy131:
1872
0
    YYDEBUG(131, *YYCURSOR);
1873
0
    yych = *++YYCURSOR;
1874
0
    if (yych == '\n') goto yy130;
1875
0
    goto yy119;
1876
29
yy132:
1877
29
    YYDEBUG(132, *YYCURSOR);
1878
29
    ++YYCURSOR;
1879
29
    YYDEBUG(133, *YYCURSOR);
1880
29
    yyleng = YYCURSOR - SCNG(yy_text);
1881
29
#line 389 "Zend/zend_ini_scanner.l"
1882
29
    { /* Raw string */
1883
  /* Eat leading and trailing single quotes */
1884
29
  if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
1885
29
    SCNG(yy_text)++;
1886
29
    yyleng = yyleng - 2;
1887
29
  }
1888
29
  RETURN_TOKEN(TC_RAW, yytext, yyleng);
1889
0
}
1890
0
#line 1891 "Zend/zend_ini_scanner.c"
1891
0
  }
1892
/* *********************************** */
1893
426k
yyc_ST_VALUE:
1894
426k
  {
1895
426k
    static const unsigned char yybm[] = {
1896
426k
       80,  82,  82,  82,  82,  82,  82,  82, 
1897
426k
       82,  84,  64,  82,  82,  64,  82,  82, 
1898
426k
       82,  82,  82,  82,  82,  82,  82,  82, 
1899
426k
       82,  82,  82,  82,  82,  82,  82,  82, 
1900
426k
       84,  80,  80,  82, 208,  82,  80,  16, 
1901
426k
       80,  80,  82,  82,  82,  82,  82,  82, 
1902
426k
      122, 122, 122, 122, 122, 122, 122, 122, 
1903
426k
      122, 122,  82,  80,  82,  80,  82,  82, 
1904
426k
       82, 114, 114, 114, 114, 114, 114, 114, 
1905
426k
      114, 114, 114, 114, 114, 114, 114, 114, 
1906
426k
      114, 114, 114, 114, 114, 114, 114, 114, 
1907
426k
      114, 114, 114,  82,  82,  82,  80, 114, 
1908
426k
       82, 114, 114, 114, 114, 114, 114, 114, 
1909
426k
      114, 114, 114, 114, 114, 114, 114, 114, 
1910
426k
      114, 114, 114, 114, 114, 114, 114, 114, 
1911
426k
      114, 114, 114,  82,  80,  82,  80,  82, 
1912
426k
       82,  82,  82,  82,  82,  82,  82,  82, 
1913
426k
       82,  82,  82,  82,  82,  82,  82,  82, 
1914
426k
       82,  82,  82,  82,  82,  82,  82,  82, 
1915
426k
       82,  82,  82,  82,  82,  82,  82,  82, 
1916
426k
       82,  82,  82,  82,  82,  82,  82,  82, 
1917
426k
       82,  82,  82,  82,  82,  82,  82,  82, 
1918
426k
       82,  82,  82,  82,  82,  82,  82,  82, 
1919
426k
       82,  82,  82,  82,  82,  82,  82,  82, 
1920
426k
       82,  82,  82,  82,  82,  82,  82,  82, 
1921
426k
       82,  82,  82,  82,  82,  82,  82,  82, 
1922
426k
       82,  82,  82,  82,  82,  82,  82,  82, 
1923
426k
       82,  82,  82,  82,  82,  82,  82,  82, 
1924
426k
       82,  82,  82,  82,  82,  82,  82,  82, 
1925
426k
       82,  82,  82,  82,  82,  82,  82,  82, 
1926
426k
       82,  82,  82,  82,  82,  82,  82,  82, 
1927
426k
       82,  82,  82,  82,  82,  82,  82,  82, 
1928
426k
    };
1929
426k
    YYDEBUG(134, *YYCURSOR);
1930
426k
    YYFILL(6);
1931
426k
    yych = *YYCURSOR;
1932
426k
    if (yybm[0+yych] & 4) {
1933
56.3k
      goto yy141;
1934
56.3k
    }
1935
370k
    switch (yych) {
1936
0
    case 0x00:  goto yy136;
1937
0
    case '\t':
1938
50.9k
    case '\n':  goto yy144;
1939
4.55k
    case '\r':  goto yy146;
1940
0
    case ' ':
1941
1.61k
    case '!':
1942
1.61k
    case '&':
1943
2.43k
    case '(':
1944
2.88k
    case ')':
1945
8.68k
    case '^':
1946
12.9k
    case '|':
1947
12.9k
    case '~': goto yy147;
1948
60.3k
    case '"': goto yy150;
1949
3.08k
    case '$': goto yy152;
1950
25.8k
    case '\'':  goto yy153;
1951
67
    case '-':
1952
233
    case '.': goto yy154;
1953
1.22k
    case '0':
1954
2.25k
    case '1':
1955
6.02k
    case '2':
1956
6.02k
    case '3':
1957
12.3k
    case '4':
1958
12.3k
    case '5':
1959
17.8k
    case '6':
1960
23.0k
    case '7':
1961
27.4k
    case '8':
1962
38.0k
    case '9': goto yy155;
1963
20.5k
    case ';': goto yy158;
1964
1.65k
    case '=': goto yy160;
1965
1
    case 'A':
1966
112
    case 'B':
1967
117
    case 'C':
1968
119
    case 'D':
1969
119
    case 'E':
1970
119
    case 'G':
1971
4.83k
    case 'H':
1972
5.24k
    case 'I':
1973
5.24k
    case 'J':
1974
5.24k
    case 'K':
1975
7.31k
    case 'L':
1976
7.36k
    case 'M':
1977
7.36k
    case 'P':
1978
7.36k
    case 'Q':
1979
7.36k
    case 'R':
1980
7.36k
    case 'S':
1981
7.48k
    case 'U':
1982
7.57k
    case 'V':
1983
7.57k
    case 'W':
1984
7.67k
    case 'X':
1985
7.89k
    case 'Z':
1986
7.89k
    case '_':
1987
8.43k
    case 'a':
1988
8.51k
    case 'b':
1989
17.7k
    case 'c':
1990
17.7k
    case 'd':
1991
18.4k
    case 'e':
1992
18.7k
    case 'g':
1993
22.1k
    case 'h':
1994
33.9k
    case 'i':
1995
34.0k
    case 'j':
1996
34.0k
    case 'k':
1997
34.7k
    case 'l':
1998
36.6k
    case 'm':
1999
40.6k
    case 'p':
2000
40.6k
    case 'q':
2001
43.4k
    case 'r':
2002
48.4k
    case 's':
2003
48.6k
    case 'u':
2004
48.6k
    case 'v':
2005
48.7k
    case 'w':
2006
48.7k
    case 'x':
2007
49.1k
    case 'z': goto yy162;
2008
90
    case 'F':
2009
3.92k
    case 'f': goto yy165;
2010
4.41k
    case 'N':
2011
15.3k
    case 'n': goto yy166;
2012
34
    case 'O':
2013
839
    case 'o': goto yy167;
2014
4
    case 'T':
2015
54
    case 't': goto yy168;
2016
0
    case 'Y':
2017
2.09k
    case 'y': goto yy169;
2018
80.9k
    default:  goto yy138;
2019
370k
    }
2020
0
yy136:
2021
0
    YYDEBUG(136, *YYCURSOR);
2022
0
    ++YYCURSOR;
2023
241
yy137:
2024
241
    YYDEBUG(137, *YYCURSOR);
2025
241
    yyleng = YYCURSOR - SCNG(yy_text);
2026
241
#line 681 "Zend/zend_ini_scanner.l"
2027
241
    { /* End of option value (if EOF is reached before EOL */
2028
241
  BEGIN(INITIAL);
2029
241
  return END_OF_LINE;
2030
0
}
2031
0
#line 2032 "Zend/zend_ini_scanner.c"
2032
995k
yy138:
2033
995k
    YYDEBUG(138, *YYCURSOR);
2034
995k
    yyaccept = 0;
2035
995k
    YYMARKER = ++YYCURSOR;
2036
995k
    YYFILL(1);
2037
995k
    yych = *YYCURSOR;
2038
1.00M
yy139:
2039
1.00M
    YYDEBUG(139, *YYCURSOR);
2040
1.00M
    if (yybm[0+yych] & 2) {
2041
859k
      goto yy138;
2042
859k
    }
2043
144k
    if (yych <= '"') goto yy140;
2044
36.9k
    if (yych <= '$') goto yy170;
2045
143k
yy140:
2046
143k
    YYDEBUG(140, *YYCURSOR);
2047
143k
    yyleng = YYCURSOR - SCNG(yy_text);
2048
143k
#line 598 "Zend/zend_ini_scanner.l"
2049
143k
    { /* Get everything else as option/offset value */
2050
143k
  RETURN_TOKEN(TC_STRING, yytext, yyleng);
2051
0
}
2052
0
#line 2053 "Zend/zend_ini_scanner.c"
2053
72.9k
yy141:
2054
72.9k
    YYDEBUG(141, *YYCURSOR);
2055
72.9k
    ++YYCURSOR;
2056
72.9k
    YYFILL(2);
2057
72.9k
    yych = *YYCURSOR;
2058
72.9k
    YYDEBUG(142, *YYCURSOR);
2059
72.9k
    if (yybm[0+yych] & 4) {
2060
16.6k
      goto yy141;
2061
16.6k
    }
2062
56.3k
    if (yych <= '\r') {
2063
1.48k
      if (yych <= 0x08) goto yy143;
2064
1.12k
      if (yych <= '\n') goto yy144;
2065
0
      if (yych >= '\r') goto yy146;
2066
54.8k
    } else {
2067
54.8k
      if (yych <= '"') {
2068
4.81k
        if (yych >= '"') goto yy150;
2069
50.0k
      } else {
2070
50.0k
        if (yych == ';') goto yy158;
2071
50.0k
      }
2072
54.8k
    }
2073
54.7k
yy143:
2074
54.7k
    YYDEBUG(143, *YYCURSOR);
2075
54.7k
    yyleng = YYCURSOR - SCNG(yy_text);
2076
54.7k
#line 661 "Zend/zend_ini_scanner.l"
2077
54.7k
    {
2078
54.7k
  RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng);
2079
0
}
2080
0
#line 2081 "Zend/zend_ini_scanner.c"
2081
52.1k
yy144:
2082
52.1k
    YYDEBUG(144, *YYCURSOR);
2083
52.1k
    ++YYCURSOR;
2084
56.6k
yy145:
2085
56.6k
    YYDEBUG(145, *YYCURSOR);
2086
56.6k
    yyleng = YYCURSOR - SCNG(yy_text);
2087
56.6k
#line 570 "Zend/zend_ini_scanner.l"
2088
56.6k
    { /* End of option value */
2089
56.6k
  BEGIN(INITIAL);
2090
56.6k
  SCNG(lineno)++;
2091
56.6k
  return END_OF_LINE;
2092
52.1k
}
2093
0
#line 2094 "Zend/zend_ini_scanner.c"
2094
4.55k
yy146:
2095
4.55k
    YYDEBUG(146, *YYCURSOR);
2096
4.55k
    yych = *++YYCURSOR;
2097
4.55k
    if (yych == '\n') goto yy144;
2098
4.45k
    goto yy145;
2099
14.1k
yy147:
2100
14.1k
    YYDEBUG(147, *YYCURSOR);
2101
14.1k
    ++YYCURSOR;
2102
14.1k
    YYFILL(1);
2103
14.1k
    yych = *YYCURSOR;
2104
14.1k
    YYDEBUG(148, *YYCURSOR);
2105
14.1k
    if (yych == '\t') goto yy147;
2106
14.1k
    if (yych == ' ') goto yy147;
2107
12.9k
    YYDEBUG(149, *YYCURSOR);
2108
12.9k
    yyleng = YYCURSOR - SCNG(yy_text);
2109
12.9k
#line 588 "Zend/zend_ini_scanner.l"
2110
12.9k
    { /* Boolean operators */
2111
12.9k
  return yytext[0];
2112
14.1k
}
2113
0
#line 2114 "Zend/zend_ini_scanner.c"
2114
60.8k
yy150:
2115
60.8k
    YYDEBUG(150, *YYCURSOR);
2116
60.8k
    ++YYCURSOR;
2117
60.8k
    YYDEBUG(151, *YYCURSOR);
2118
60.8k
    yyleng = YYCURSOR - SCNG(yy_text);
2119
60.8k
#line 610 "Zend/zend_ini_scanner.l"
2120
60.8k
    { /* Double quoted '"' string start */
2121
60.8k
  yy_push_state(ST_DOUBLE_QUOTES);
2122
60.8k
  return '"';
2123
14.1k
}
2124
0
#line 2125 "Zend/zend_ini_scanner.c"
2125
3.08k
yy152:
2126
3.08k
    YYDEBUG(152, *YYCURSOR);
2127
3.08k
    yych = *++YYCURSOR;
2128
3.08k
    if (yych <= '\\') {
2129
3.08k
      if (yych <= 0x00) goto yy137;
2130
3.03k
      if (yych <= '[') goto yy138;
2131
0
      goto yy172;
2132
3.03k
    } else {
2133
0
      if (yych == '{') goto yy173;
2134
0
      goto yy138;
2135
0
    }
2136
25.8k
yy153:
2137
25.8k
    YYDEBUG(153, *YYCURSOR);
2138
25.8k
    yych = *++YYCURSOR;
2139
25.8k
    if (yybm[0+yych] & 64) {
2140
25.6k
      goto yy175;
2141
25.6k
    }
2142
198
    goto yy137;
2143
233
yy154:
2144
233
    YYDEBUG(154, *YYCURSOR);
2145
233
    yyaccept = 0;
2146
233
    yych = *(YYMARKER = ++YYCURSOR);
2147
233
    if (yych <= '/') goto yy139;
2148
233
    if (yych <= '9') goto yy177;
2149
166
    goto yy139;
2150
65.9k
yy155:
2151
65.9k
    YYDEBUG(155, *YYCURSOR);
2152
65.9k
    yyaccept = 1;
2153
65.9k
    YYMARKER = ++YYCURSOR;
2154
65.9k
    YYFILL(1);
2155
65.9k
    yych = *YYCURSOR;
2156
65.9k
    YYDEBUG(156, *YYCURSOR);
2157
65.9k
    if (yybm[0+yych] & 8) {
2158
27.8k
      goto yy155;
2159
27.8k
    }
2160
38.0k
    if (yych <= '-') {
2161
7.76k
      if (yych <= 0x1F) {
2162
381
        if (yych <= '\n') {
2163
139
          if (yych <= 0x00) goto yy157;
2164
139
          if (yych <= 0x08) goto yy138;
2165
242
        } else {
2166
242
          if (yych != '\r') goto yy138;
2167
242
        }
2168
7.37k
      } else {
2169
7.37k
        if (yych <= '$') {
2170
1.40k
          if (yych <= '"') goto yy157;
2171
0
          if (yych <= '#') goto yy138;
2172
0
          goto yy170;
2173
5.97k
        } else {
2174
5.97k
          if (yych <= '%') goto yy138;
2175
5.97k
          if (yych >= '*') goto yy138;
2176
5.97k
        }
2177
7.37k
      }
2178
30.3k
    } else {
2179
30.3k
      if (yych <= ']') {
2180
13.2k
        if (yych <= ';') {
2181
5.67k
          if (yych <= '.') goto yy177;
2182
5.42k
          if (yych <= ':') goto yy138;
2183
7.53k
        } else {
2184
7.53k
          if (yych != '=') goto yy138;
2185
7.53k
        }
2186
17.0k
      } else {
2187
17.0k
        if (yych <= '|') {
2188
9.68k
          if (yych <= '^') goto yy157;
2189
7.47k
          if (yych <= '{') goto yy138;
2190
7.47k
        } else {
2191
7.41k
          if (yych != '~') goto yy138;
2192
7.41k
        }
2193
17.0k
      }
2194
30.3k
    }
2195
8.35k
yy157:
2196
8.35k
    YYDEBUG(157, *YYCURSOR);
2197
8.35k
    yyleng = YYCURSOR - SCNG(yy_text);
2198
8.35k
#line 580 "Zend/zend_ini_scanner.l"
2199
8.35k
    { /* Get number option value as string */
2200
8.35k
  RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
2201
0
}
2202
0
#line 2203 "Zend/zend_ini_scanner.c"
2203
558k
yy158:
2204
558k
    YYDEBUG(158, *YYCURSOR);
2205
558k
    ++YYCURSOR;
2206
558k
    YYFILL(2);
2207
558k
    yych = *YYCURSOR;
2208
558k
    YYDEBUG(159, *YYCURSOR);
2209
558k
    if (yybm[0+yych] & 16) {
2210
538k
      goto yy158;
2211
538k
    }
2212
20.1k
    if (yych <= '\n') goto yy179;
2213
0
    goto yy181;
2214
1.65k
yy160:
2215
1.65k
    YYDEBUG(160, *YYCURSOR);
2216
1.65k
    ++YYCURSOR;
2217
1.65k
    YYDEBUG(161, *YYCURSOR);
2218
1.65k
    yyleng = YYCURSOR - SCNG(yy_text);
2219
1.65k
#line 592 "Zend/zend_ini_scanner.l"
2220
1.65k
    { /* Make = used in option value to trigger error */
2221
1.65k
  yyless(0);
2222
1.65k
  BEGIN(INITIAL);
2223
1.65k
  return END_OF_LINE;
2224
20.1k
}
2225
0
#line 2226 "Zend/zend_ini_scanner.c"
2226
276k
yy162:
2227
276k
    YYDEBUG(162, *YYCURSOR);
2228
276k
    yyaccept = 2;
2229
276k
    YYMARKER = ++YYCURSOR;
2230
276k
    YYFILL(1);
2231
276k
    yych = *YYCURSOR;
2232
276k
    YYDEBUG(163, *YYCURSOR);
2233
276k
    if (yybm[0+yych] & 32) {
2234
216k
      goto yy162;
2235
216k
    }
2236
59.7k
    if (yych <= ')') {
2237
44.5k
      if (yych <= '\r') {
2238
9.55k
        if (yych <= 0x08) {
2239
4.19k
          if (yych >= 0x01) goto yy138;
2240
5.35k
        } else {
2241
5.35k
          if (yych <= '\n') goto yy164;
2242
198
          if (yych <= '\f') goto yy138;
2243
198
        }
2244
34.9k
      } else {
2245
34.9k
        if (yych <= '#') {
2246
26.9k
          if (yych <= 0x1F) goto yy138;
2247
22.3k
          if (yych >= '#') goto yy138;
2248
22.3k
        } else {
2249
8.01k
          if (yych <= '$') goto yy170;
2250
4.89k
          if (yych <= '%') goto yy138;
2251
4.89k
        }
2252
34.9k
      }
2253
44.5k
    } else {
2254
15.2k
      if (yych <= ']') {
2255
2.06k
        if (yych <= ';') {
2256
962
          if (yych <= ':') goto yy138;
2257
1.10k
        } else {
2258
1.10k
          if (yych != '=') goto yy138;
2259
1.10k
        }
2260
13.1k
      } else {
2261
13.1k
        if (yych <= '|') {
2262
6.35k
          if (yych <= '^') goto yy164;
2263
2.79k
          if (yych <= '{') goto yy138;
2264
6.81k
        } else {
2265
6.81k
          if (yych != '~') goto yy138;
2266
6.81k
        }
2267
13.1k
      }
2268
15.2k
    }
2269
41.6k
yy164:
2270
41.6k
    YYDEBUG(164, *YYCURSOR);
2271
41.6k
    yyleng = YYCURSOR - SCNG(yy_text);
2272
41.6k
#line 576 "Zend/zend_ini_scanner.l"
2273
41.6k
    { /* Get constant option value */
2274
41.6k
  RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
2275
0
}
2276
0
#line 2277 "Zend/zend_ini_scanner.c"
2277
3.92k
yy165:
2278
3.92k
    YYDEBUG(165, *YYCURSOR);
2279
3.92k
    yyaccept = 2;
2280
3.92k
    yych = *(YYMARKER = ++YYCURSOR);
2281
3.92k
    if (yych <= '<') {
2282
1.12k
      if (yych <= '"') {
2283
950
        if (yych <= '\n') {
2284
0
          if (yych <= 0x00) goto yy164;
2285
0
          if (yych <= 0x08) goto yy139;
2286
0
          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
950
      } else {
2293
174
        if (yych <= '/') {
2294
0
          if (yych <= '%') goto yy139;
2295
0
          if (yych <= ')') goto yy164;
2296
0
          goto yy139;
2297
174
        } else {
2298
174
          if (yych <= '9') goto yy162;
2299
75
          if (yych == ';') goto yy164;
2300
75
          goto yy139;
2301
75
        }
2302
174
      }
2303
2.80k
    } else {
2304
2.80k
      if (yych <= '_') {
2305
164
        if (yych <= 'A') {
2306
74
          if (yych <= '=') goto yy164;
2307
0
          if (yych <= '@') goto yy139;
2308
0
          goto yy182;
2309
90
        } else {
2310
90
          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.63k
      } else {
2316
2.63k
        if (yych <= '{') {
2317
2.49k
          if (yych <= '`') goto yy139;
2318
2.49k
          if (yych <= 'a') goto yy182;
2319
2.49k
          if (yych <= 'z') goto yy162;
2320
0
          goto yy139;
2321
2.49k
        } else {
2322
140
          if (yych == '}') goto yy139;
2323
140
          if (yych <= '~') goto yy164;
2324
140
          goto yy139;
2325
140
        }
2326
2.63k
      }
2327
2.80k
    }
2328
15.3k
yy166:
2329
15.3k
    YYDEBUG(166, *YYCURSOR);
2330
15.3k
    yyaccept = 2;
2331
15.3k
    yych = *(YYMARKER = ++YYCURSOR);
2332
15.3k
    if (yych <= 'N') {
2333
8.20k
      if (yych <= '%') {
2334
951
        if (yych <= '\f') {
2335
1
          if (yych <= 0x00) goto yy164;
2336
1
          if (yych <= 0x08) goto yy139;
2337
1
          if (yych <= '\n') goto yy164;
2338
0
          goto yy139;
2339
950
        } else {
2340
950
          if (yych <= '\r') goto yy164;
2341
950
          if (yych <= 0x1F) goto yy139;
2342
950
          if (yych <= '"') goto yy164;
2343
0
          goto yy139;
2344
950
        }
2345
7.24k
      } else {
2346
7.24k
        if (yych <= ':') {
2347
4.56k
          if (yych <= ')') goto yy164;
2348
4.45k
          if (yych <= '/') goto yy139;
2349
4.45k
          if (yych <= '9') goto yy162;
2350
0
          goto yy139;
2351
4.45k
        } else {
2352
2.68k
          if (yych <= '<') {
2353
1.56k
            if (yych <= ';') goto yy164;
2354
1.56k
            goto yy139;
2355
1.56k
          } else {
2356
1.11k
            if (yych <= '=') goto yy164;
2357
1.11k
            if (yych <= '@') goto yy139;
2358
950
            goto yy162;
2359
1.11k
          }
2360
2.68k
        }
2361
7.24k
      }
2362
8.20k
    } else {
2363
7.14k
      if (yych <= 'n') {
2364
6.78k
        if (yych <= 'Z') {
2365
1.95k
          if (yych <= 'O') goto yy183;
2366
1.95k
          if (yych == 'U') goto yy185;
2367
1.95k
          goto yy162;
2368
4.83k
        } else {
2369
4.83k
          if (yych <= '^') {
2370
4.56k
            if (yych <= ']') goto yy139;
2371
0
            goto yy164;
2372
4.56k
          } else {
2373
264
            if (yych == '`') goto yy139;
2374
264
            goto yy162;
2375
264
          }
2376
4.83k
        }
2377
6.78k
      } else {
2378
368
        if (yych <= 'z') {
2379
277
          if (yych <= 'o') goto yy183;
2380
275
          if (yych == 'u') goto yy185;
2381
99
          goto yy162;
2382
275
        } else {
2383
91
          if (yych <= '|') {
2384
0
            if (yych <= '{') goto yy139;
2385
0
            goto yy164;
2386
91
          } else {
2387
91
            if (yych == '~') goto yy164;
2388
90
            goto yy139;
2389
91
          }
2390
91
        }
2391
368
      }
2392
7.14k
    }
2393
839
yy167:
2394
839
    YYDEBUG(167, *YYCURSOR);
2395
839
    yyaccept = 2;
2396
839
    yych = *(YYMARKER = ++YYCURSOR);
2397
839
    if (yych <= 'E') {
2398
37
      if (yych <= '%') {
2399
3
        if (yych <= '\f') {
2400
0
          if (yych <= 0x00) goto yy164;
2401
0
          if (yych <= 0x08) goto yy139;
2402
0
          if (yych <= '\n') goto yy164;
2403
0
          goto yy139;
2404
3
        } else {
2405
3
          if (yych <= '\r') goto yy164;
2406
3
          if (yych <= 0x1F) goto yy139;
2407
3
          if (yych <= '"') goto yy164;
2408
0
          goto yy139;
2409
3
        }
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
802
    } else {
2428
802
      if (yych <= 'e') {
2429
4
        if (yych <= 'Z') {
2430
1
          if (yych <= 'F') goto yy186;
2431
1
          if (yych == 'N') goto yy187;
2432
0
          goto yy162;
2433
3
        } 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
798
      } else {
2443
798
        if (yych <= 'z') {
2444
722
          if (yych <= 'f') goto yy186;
2445
174
          if (yych == 'n') goto yy187;
2446
161
          goto yy162;
2447
174
        } else {
2448
76
          if (yych <= '|') {
2449
0
            if (yych <= '{') goto yy139;
2450
0
            goto yy164;
2451
76
          } else {
2452
76
            if (yych == '~') goto yy164;
2453
76
            goto yy139;
2454
76
          }
2455
76
        }
2456
798
      }
2457
802
    }
2458
54
yy168:
2459
54
    YYDEBUG(168, *YYCURSOR);
2460
54
    yyaccept = 2;
2461
54
    yych = *(YYMARKER = ++YYCURSOR);
2462
54
    if (yych <= '=') {
2463
50
      if (yych <= '"') {
2464
1
        if (yych <= '\n') {
2465
1
          if (yych <= 0x00) goto yy164;
2466
1
          if (yych <= 0x08) goto yy139;
2467
1
          goto yy164;
2468
1
        } else {
2469
0
          if (yych == '\r') goto yy164;
2470
0
          if (yych <= 0x1F) goto yy139;
2471
0
          goto yy164;
2472
0
        }
2473
49
      } else {
2474
49
        if (yych <= '9') {
2475
2
          if (yych <= '%') goto yy139;
2476
2
          if (yych <= ')') goto yy164;
2477
2
          if (yych <= '/') goto yy139;
2478
0
          goto yy162;
2479
47
        } else {
2480
47
          if (yych == ';') goto yy164;
2481
45
          if (yych <= '<') goto yy139;
2482
0
          goto yy164;
2483
45
        }
2484
49
      }
2485
50
    } else {
2486
4
      if (yych <= '`') {
2487
1
        if (yych <= 'Z') {
2488
1
          if (yych <= '@') goto yy139;
2489
1
          if (yych == 'R') goto yy189;
2490
0
          goto yy162;
2491
1
        } else {
2492
0
          if (yych <= ']') goto yy139;
2493
0
          if (yych <= '^') goto yy164;
2494
0
          if (yych <= '_') goto yy162;
2495
0
          goto yy139;
2496
0
        }
2497
3
      } else {
2498
3
        if (yych <= '{') {
2499
3
          if (yych == 'r') goto yy189;
2500
0
          if (yych <= 'z') goto yy162;
2501
0
          goto yy139;
2502
0
        } else {
2503
0
          if (yych == '}') goto yy139;
2504
0
          if (yych <= '~') goto yy164;
2505
0
          goto yy139;
2506
0
        }
2507
3
      }
2508
4
    }
2509
2.09k
yy169:
2510
2.09k
    YYDEBUG(169, *YYCURSOR);
2511
2.09k
    yyaccept = 2;
2512
2.09k
    yych = *(YYMARKER = ++YYCURSOR);
2513
2.09k
    if (yych <= '=') {
2514
2.08k
      if (yych <= '"') {
2515
2
        if (yych <= '\n') {
2516
1
          if (yych <= 0x00) goto yy164;
2517
0
          if (yych <= 0x08) goto yy139;
2518
0
          goto yy164;
2519
1
        } else {
2520
1
          if (yych == '\r') goto yy164;
2521
1
          if (yych <= 0x1F) goto yy139;
2522
1
          goto yy164;
2523
1
        }
2524
2.08k
      } else {
2525
2.08k
        if (yych <= '9') {
2526
0
          if (yych <= '%') goto yy139;
2527
0
          if (yych <= ')') goto yy164;
2528
0
          if (yych <= '/') goto yy139;
2529
0
          goto yy162;
2530
2.08k
        } else {
2531
2.08k
          if (yych == ';') goto yy164;
2532
1
          if (yych <= '<') goto yy139;
2533
1
          goto yy164;
2534
1
        }
2535
2.08k
      }
2536
2.08k
    } else {
2537
7
      if (yych <= '`') {
2538
0
        if (yych <= 'Z') {
2539
0
          if (yych <= '@') goto yy139;
2540
0
          if (yych == 'E') goto yy190;
2541
0
          goto yy162;
2542
0
        } 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
7
      } else {
2549
7
        if (yych <= '{') {
2550
6
          if (yych == 'e') goto yy190;
2551
1
          if (yych <= 'z') goto yy162;
2552
0
          goto yy139;
2553
1
        } else {
2554
1
          if (yych == '}') goto yy139;
2555
1
          if (yych <= '~') goto yy164;
2556
1
          goto yy139;
2557
1
        }
2558
7
      }
2559
7
    }
2560
3.38k
yy170:
2561
3.38k
    YYDEBUG(170, *YYCURSOR);
2562
3.38k
    ++YYCURSOR;
2563
3.38k
    YYFILL(1);
2564
3.38k
    yych = *YYCURSOR;
2565
3.38k
    if (yych <= '\\') {
2566
1.31k
      if (yych <= 0x00) goto yy171;
2567
1.31k
      if (yych <= '[') goto yy138;
2568
0
      goto yy172;
2569
2.07k
    } else {
2570
2.07k
      if (yych != '{') goto yy138;
2571
2.07k
    }
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
646k
yy175:
2617
646k
    YYDEBUG(175, *YYCURSOR);
2618
646k
    ++YYCURSOR;
2619
646k
    YYFILL(1);
2620
645k
    yych = *YYCURSOR;
2621
645k
    YYDEBUG(176, *YYCURSOR);
2622
645k
    if (yybm[0+yych] & 64) {
2623
620k
      goto yy175;
2624
620k
    }
2625
24.5k
    goto yy193;
2626
24.5k
yy177:
2627
895
    YYDEBUG(177, *YYCURSOR);
2628
895
    yyaccept = 1;
2629
895
    YYMARKER = ++YYCURSOR;
2630
895
    YYFILL(1);
2631
895
    yych = *YYCURSOR;
2632
895
    YYDEBUG(178, *YYCURSOR);
2633
895
    if (yych <= '/') {
2634
314
      if (yych <= 0x1F) {
2635
82
        if (yych <= '\n') {
2636
82
          if (yych <= 0x00) goto yy157;
2637
1
          if (yych <= 0x08) goto yy138;
2638
1
          goto yy157;
2639
1
        } 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
581
    } else {
2655
581
      if (yych <= ']') {
2656
581
        if (yych <= ';') {
2657
581
          if (yych <= '9') goto yy177;
2658
0
          if (yych <= ':') goto yy138;
2659
0
          goto yy157;
2660
0
        } else {
2661
0
          if (yych == '=') goto yy157;
2662
0
          goto yy138;
2663
0
        }
2664
581
      } 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
581
    }
2675
20.1k
yy179:
2676
20.1k
    YYDEBUG(179, *YYCURSOR);
2677
20.1k
    ++YYCURSOR;
2678
20.1k
yy180:
2679
20.1k
    YYDEBUG(180, *YYCURSOR);
2680
20.1k
    yyleng = YYCURSOR - SCNG(yy_text);
2681
20.1k
#line 675 "Zend/zend_ini_scanner.l"
2682
20.1k
    { /* Comment */
2683
20.1k
  BEGIN(INITIAL);
2684
20.1k
  SCNG(lineno)++;
2685
20.1k
  return END_OF_LINE;
2686
20.1k
}
2687
0
#line 2688 "Zend/zend_ini_scanner.c"
2688
0
yy181:
2689
0
    YYDEBUG(181, *YYCURSOR);
2690
0
    yych = *++YYCURSOR;
2691
0
    if (yych == '\n') goto yy179;
2692
0
    goto yy180;
2693
0
yy182:
2694
0
    YYDEBUG(182, *YYCURSOR);
2695
0
    yyaccept = 2;
2696
0
    yych = *(YYMARKER = ++YYCURSOR);
2697
0
    if (yych <= '=') {
2698
0
      if (yych <= '"') {
2699
0
        if (yych <= '\n') {
2700
0
          if (yych <= 0x00) goto yy164;
2701
0
          if (yych <= 0x08) goto yy139;
2702
0
          goto yy164;
2703
0
        } else {
2704
0
          if (yych == '\r') goto yy164;
2705
0
          if (yych <= 0x1F) goto yy139;
2706
0
          goto yy164;
2707
0
        }
2708
0
      } else {
2709
0
        if (yych <= '9') {
2710
0
          if (yych <= '%') goto yy139;
2711
0
          if (yych <= ')') goto yy164;
2712
0
          if (yych <= '/') goto yy139;
2713
0
          goto yy162;
2714
0
        } else {
2715
0
          if (yych == ';') goto yy164;
2716
0
          if (yych <= '<') goto yy139;
2717
0
          goto yy164;
2718
0
        }
2719
0
      }
2720
0
    } else {
2721
0
      if (yych <= '`') {
2722
0
        if (yych <= 'Z') {
2723
0
          if (yych <= '@') goto yy139;
2724
0
          if (yych == 'L') goto yy195;
2725
0
          goto yy162;
2726
0
        } else {
2727
0
          if (yych <= ']') goto yy139;
2728
0
          if (yych <= '^') goto yy164;
2729
0
          if (yych <= '_') goto yy162;
2730
0
          goto yy139;
2731
0
        }
2732
0
      } else {
2733
0
        if (yych <= '{') {
2734
0
          if (yych == 'l') goto yy195;
2735
0
          if (yych <= 'z') goto yy162;
2736
0
          goto yy139;
2737
0
        } else {
2738
0
          if (yych == '}') goto yy139;
2739
0
          if (yych <= '~') goto yy164;
2740
0
          goto yy139;
2741
0
        }
2742
0
      }
2743
0
    }
2744
2
yy183:
2745
2
    YYDEBUG(183, *YYCURSOR);
2746
2
    yyaccept = 3;
2747
2
    yych = *(YYMARKER = ++YYCURSOR);
2748
2
    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
2
    } else {
2770
0
      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
0
      } else {
2782
0
        if (yych <= 'z') {
2783
0
          if (yych <= '`') goto yy139;
2784
0
          if (yych == 'n') goto yy198;
2785
0
          goto yy162;
2786
0
        } 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
0
      }
2794
0
    }
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
176
yy185:
2804
176
    YYDEBUG(185, *YYCURSOR);
2805
176
    yyaccept = 2;
2806
176
    yych = *(YYMARKER = ++YYCURSOR);
2807
176
    if (yych <= '=') {
2808
168
      if (yych <= '"') {
2809
168
        if (yych <= '\n') {
2810
0
          if (yych <= 0x00) goto yy164;
2811
0
          if (yych <= 0x08) goto yy139;
2812
0
          goto yy164;
2813
168
        } else {
2814
168
          if (yych == '\r') goto yy164;
2815
168
          if (yych <= 0x1F) goto yy139;
2816
2
          goto yy164;
2817
168
        }
2818
168
      } 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
168
    } else {
2831
8
      if (yych <= '`') {
2832
3
        if (yych <= 'Z') {
2833
3
          if (yych <= '@') goto yy139;
2834
3
          if (yych == 'L') goto yy199;
2835
3
          goto yy162;
2836
3
        } else {
2837
0
          if (yych <= ']') goto yy139;
2838
0
          if (yych <= '^') goto yy164;
2839
0
          if (yych <= '_') goto yy162;
2840
0
          goto yy139;
2841
0
        }
2842
5
      } else {
2843
5
        if (yych <= '{') {
2844
5
          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
5
      }
2853
8
    }
2854
548
yy186:
2855
548
    YYDEBUG(186, *YYCURSOR);
2856
548
    yyaccept = 2;
2857
548
    yych = *(YYMARKER = ++YYCURSOR);
2858
548
    if (yych <= '=') {
2859
67
      if (yych <= '"') {
2860
2
        if (yych <= '\n') {
2861
2
          if (yych <= 0x00) goto yy164;
2862
2
          if (yych <= 0x08) goto yy139;
2863
2
          goto yy164;
2864
2
        } else {
2865
0
          if (yych == '\r') goto yy164;
2866
0
          if (yych <= 0x1F) goto yy139;
2867
0
          goto yy164;
2868
0
        }
2869
65
      } 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
18
yy187:
2906
18
    YYDEBUG(187, *YYCURSOR);
2907
18
    yyaccept = 4;
2908
18
    yych = *(YYMARKER = ++YYCURSOR);
2909
18
    if (yybm[0+yych] & 32) {
2910
1
      goto yy162;
2911
1
    }
2912
17
    if (yych <= ')') {
2913
15
      if (yych <= '\f') {
2914
12
        if (yych <= 0x08) {
2915
2
          if (yych >= 0x01) goto yy139;
2916
10
        } else {
2917
10
          if (yych <= '\t') goto yy201;
2918
10
          if (yych >= '\v') goto yy139;
2919
10
        }
2920
12
      } else {
2921
3
        if (yych <= ' ') {
2922
3
          if (yych <= '\r') goto yy188;
2923
3
          if (yych <= 0x1F) goto yy139;
2924
2
          goto yy201;
2925
3
        } else {
2926
0
          if (yych <= '"') goto yy188;
2927
0
          if (yych <= '%') goto yy139;
2928
0
        }
2929
3
      }
2930
15
    } else {
2931
2
      if (yych <= ']') {
2932
0
        if (yych <= ';') {
2933
0
          if (yych <= ':') goto yy139;
2934
0
        } else {
2935
0
          if (yych != '=') goto yy139;
2936
0
        }
2937
2
      } else {
2938
2
        if (yych <= '|') {
2939
0
          if (yych <= '^') goto yy188;
2940
0
          if (yych <= '{') goto yy139;
2941
2
        } else {
2942
2
          if (yych != '~') goto yy139;
2943
2
        }
2944
2
      }
2945
2
    }
2946
13
yy188:
2947
13
    YYDEBUG(188, *YYCURSOR);
2948
13
    yyleng = YYCURSOR - SCNG(yy_text);
2949
13
#line 491 "Zend/zend_ini_scanner.l"
2950
13
    { /* TRUE value (when used outside option value/offset this causes parse error!) */
2951
13
  RETURN_TOKEN(BOOL_TRUE, "1", 1);
2952
0
}
2953
0
#line 2954 "Zend/zend_ini_scanner.c"
2954
4
yy189:
2955
4
    YYDEBUG(189, *YYCURSOR);
2956
4
    yyaccept = 2;
2957
4
    yych = *(YYMARKER = ++YYCURSOR);
2958
4
    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
4
    } else {
2982
4
      if (yych <= '`') {
2983
1
        if (yych <= 'Z') {
2984
0
          if (yych <= '@') goto yy139;
2985
0
          if (yych == 'U') goto yy203;
2986
0
          goto yy162;
2987
1
        } 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
3
      } else {
2994
3
        if (yych <= '{') {
2995
3
          if (yych == 'u') goto yy203;
2996
0
          if (yych <= 'z') goto yy162;
2997
0
          goto yy139;
2998
0
        } else {
2999
0
          if (yych == '}') goto yy139;
3000
0
          if (yych <= '~') goto yy164;
3001
0
          goto yy139;
3002
0
        }
3003
3
      }
3004
4
    }
3005
5
yy190:
3006
5
    YYDEBUG(190, *YYCURSOR);
3007
5
    yyaccept = 2;
3008
5
    yych = *(YYMARKER = ++YYCURSOR);
3009
5
    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
5
    } else {
3033
5
      if (yych <= '`') {
3034
0
        if (yych <= 'Z') {
3035
0
          if (yych <= '@') goto yy139;
3036
0
          if (yych == 'S') goto yy187;
3037
0
          goto yy162;
3038
0
        } else {
3039
0
          if (yych <= ']') goto yy139;
3040
0
          if (yych <= '^') goto yy164;
3041
0
          if (yych <= '_') goto yy162;
3042
0
          goto yy139;
3043
0
        }
3044
5
      } else {
3045
5
        if (yych <= '{') {
3046
4
          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
5
      }
3055
5
    }
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
24.5k
yy193:
3069
24.5k
    YYDEBUG(193, *YYCURSOR);
3070
24.5k
    ++YYCURSOR;
3071
24.5k
    YYDEBUG(194, *YYCURSOR);
3072
24.5k
    yyleng = YYCURSOR - SCNG(yy_text);
3073
24.5k
#line 389 "Zend/zend_ini_scanner.l"
3074
24.5k
    { /* Raw string */
3075
  /* Eat leading and trailing single quotes */
3076
24.5k
  if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
3077
24.5k
    SCNG(yy_text)++;
3078
24.5k
    yyleng = yyleng - 2;
3079
24.5k
  }
3080
24.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
5
yy199:
3195
5
    YYDEBUG(199, *YYCURSOR);
3196
5
    yyaccept = 2;
3197
5
    yych = *(YYMARKER = ++YYCURSOR);
3198
5
    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
5
    } else {
3222
5
      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
5
      } else {
3234
5
        if (yych <= '{') {
3235
5
          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
5
      }
3244
5
    }
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
3
yy203:
3303
3
    YYDEBUG(203, *YYCURSOR);
3304
3
    yyaccept = 2;
3305
3
    yych = *(YYMARKER = ++YYCURSOR);
3306
3
    if (yych <= '=') {
3307
0
      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
0
      } else {
3318
0
        if (yych <= '9') {
3319
0
          if (yych <= '%') goto yy139;
3320
0
          if (yych <= ')') goto yy164;
3321
0
          if (yych <= '/') goto yy139;
3322
0
          goto yy162;
3323
0
        } else {
3324
0
          if (yych == ';') goto yy164;
3325
0
          if (yych <= '<') goto yy139;
3326
0
          goto yy164;
3327
0
        }
3328
0
      }
3329
3
    } else {
3330
3
      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
3
      } else {
3342
3
        if (yych <= '{') {
3343
2
          if (yych == 'e') goto yy187;
3344
0
          if (yych <= 'z') goto yy162;
3345
0
          goto yy139;
3346
1
        } else {
3347
1
          if (yych == '}') goto yy139;
3348
1
          if (yych <= '~') goto yy164;
3349
1
          goto yy139;
3350
1
        }
3351
3
      }
3352
3
    }
3353
5
yy204:
3354
5
    YYDEBUG(204, *YYCURSOR);
3355
5
    yyaccept = 5;
3356
5
    yych = *(YYMARKER = ++YYCURSOR);
3357
5
    if (yybm[0+yych] & 32) {
3358
0
      goto yy162;
3359
0
    }
3360
5
    if (yych <= ')') {
3361
4
      if (yych <= '\f') {
3362
4
        if (yych <= 0x08) {
3363
1
          if (yych >= 0x01) goto yy139;
3364
3
        } else {
3365
3
          if (yych <= '\t') goto yy206;
3366
3
          if (yych >= '\v') goto yy139;
3367
3
        }
3368
4
      } 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
4
    } 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
3
yy205:
3395
3
    YYDEBUG(205, *YYCURSOR);
3396
3
    yyleng = YYCURSOR - SCNG(yy_text);
3397
3
#line 499 "Zend/zend_ini_scanner.l"
3398
3
    {
3399
3
  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
119k
yyc_ST_DOUBLE_QUOTES:
3517
119k
  {
3518
119k
    static const unsigned char yybm[] = {
3519
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3520
119k
        0, 128,   0,   0,   0,   0,   0,   0, 
3521
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3522
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3523
119k
      128,   0,   0,   0,   0,   0,   0,   0, 
3524
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3525
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3526
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3527
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3528
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3529
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3530
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3531
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3532
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3533
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3534
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3535
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3536
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3537
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3538
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3539
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3540
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3541
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3542
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3543
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3544
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3545
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3546
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3547
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3548
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3549
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3550
119k
        0,   0,   0,   0,   0,   0,   0,   0, 
3551
119k
    };
3552
119k
    YYDEBUG(220, *YYCURSOR);
3553
119k
    YYFILL(2);
3554
119k
    yych = *YYCURSOR;
3555
119k
    if (yych == '"') goto yy224;
3556
56.6k
    if (yych == '$') goto yy227;
3557
55.6k
    YYDEBUG(222, *YYCURSOR);
3558
55.6k
    ++YYCURSOR;
3559
56.6k
yy223:
3560
56.6k
    YYDEBUG(223, *YYCURSOR);
3561
56.6k
    yyleng = YYCURSOR - SCNG(yy_text);
3562
56.6k
#line 620 "Zend/zend_ini_scanner.l"
3563
56.6k
    { /* Escape double quoted string contents */
3564
56.6k
  if (YYCURSOR > YYLIMIT) {
3565
0
    return 0;
3566
0
  }
3567
3568
56.6k
  const unsigned char *s = SCNG(yy_text);
3569
3570
1.68M
  while (s < YYLIMIT) {
3571
1.67M
    switch (*s++) {
3572
55.0k
      case '"':
3573
55.0k
        break;
3574
4.42k
      case '$':
3575
4.42k
        if (s < YYLIMIT && *s == '{') {
3576
3
          break;
3577
3
        }
3578
4.42k
        continue;
3579
12.7k
      case '\\':
3580
12.7k
        if (s < YYLIMIT) {
3581
12.7k
          unsigned char escaped = *s++;
3582
          /* A special case for Windows paths, e.g. key="C:\path\" */
3583
12.7k
          if (escaped == '"' && (s >= YYLIMIT || *s == '\n' || *s == '\r')) {
3584
0
            break;
3585
0
          }
3586
12.7k
        }
3587
12.7k
        ZEND_FALLTHROUGH;
3588
1.62M
      default:
3589
1.62M
        continue;
3590
1.67M
    }
3591
3592
55.0k
    s--;
3593
55.0k
    break;
3594
1.67M
  }
3595
3596
56.6k
  YYCURSOR = s;
3597
56.6k
  yyleng = YYCURSOR - SCNG(yy_text);
3598
3599
56.6k
  zend_ini_escape_string(ini_lval, yytext, yyleng, '"');
3600
56.6k
  Z_EXTRA_P(ini_lval) = 0;
3601
56.6k
  return TC_QUOTED_STRING;
3602
56.6k
}
3603
0
#line 3604 "Zend/zend_ini_scanner.c"
3604
84.3k
yy224:
3605
84.3k
    YYDEBUG(224, *YYCURSOR);
3606
84.3k
    ++YYCURSOR;
3607
84.3k
    YYFILL(1);
3608
84.3k
    yych = *YYCURSOR;
3609
84.3k
    YYDEBUG(225, *YYCURSOR);
3610
84.3k
    if (yybm[0+yych] & 128) {
3611
21.1k
      goto yy224;
3612
21.1k
    }
3613
63.1k
    YYDEBUG(226, *YYCURSOR);
3614
63.1k
    yyleng = YYCURSOR - SCNG(yy_text);
3615
63.1k
#line 615 "Zend/zend_ini_scanner.l"
3616
63.1k
    { /* Double quoted '"' string ends */
3617
63.1k
  yy_pop_state();
3618
63.1k
  return '"';
3619
84.3k
}
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
12
yyc_ST_VAR_FALLBACK:
3638
12
  {
3639
12
    static const unsigned char yybm[] = {
3640
12
        8,   8,   8,   8,   8,   8,   8,   8, 
3641
12
        8,  24,   0,   8,   8,   0,   8,   8, 
3642
12
        8,   8,   8,   8,   8,   8,   8,   8, 
3643
12
        8,   8,   8,   8,   8,   8,   8,   8, 
3644
12
       24,   8,   0,   8, 128,   8,   8,   0, 
3645
12
        8,   8,   8,   8,   8,   8,   8,   8, 
3646
12
      104, 104, 104, 104, 104, 104, 104, 104, 
3647
12
      104, 104,   8,   0,   8,   8,   8,   8, 
3648
12
        8,  72,  72,  72,  72,  72,  72,  72, 
3649
12
       72,  72,  72,  72,  72,  72,  72,  72, 
3650
12
       72,  72,  72,  72,  72,  72,  72,  72, 
3651
12
       72,  72,  72,   8, 128,   8,   8,  72, 
3652
12
        8,  72,  72,  72,  72,  72,  72,  72, 
3653
12
       72,  72,  72,  72,  72,  72,  72,  72, 
3654
12
       72,  72,  72,  72,  72,  72,  72,  72, 
3655
12
       72,  72,  72,   8,   8,   0,   8,   8, 
3656
12
        8,   8,   8,   8,   8,   8,   8,   8, 
3657
12
        8,   8,   8,   8,   8,   8,   8,   8, 
3658
12
        8,   8,   8,   8,   8,   8,   8,   8, 
3659
12
        8,   8,   8,   8,   8,   8,   8,   8, 
3660
12
        8,   8,   8,   8,   8,   8,   8,   8, 
3661
12
        8,   8,   8,   8,   8,   8,   8,   8, 
3662
12
        8,   8,   8,   8,   8,   8,   8,   8, 
3663
12
        8,   8,   8,   8,   8,   8,   8,   8, 
3664
12
        8,   8,   8,   8,   8,   8,   8,   8, 
3665
12
        8,   8,   8,   8,   8,   8,   8,   8, 
3666
12
        8,   8,   8,   8,   8,   8,   8,   8, 
3667
12
        8,   8,   8,   8,   8,   8,   8,   8, 
3668
12
        8,   8,   8,   8,   8,   8,   8,   8, 
3669
12
        8,   8,   8,   8,   8,   8,   8,   8, 
3670
12
        8,   8,   8,   8,   8,   8,   8,   8, 
3671
12
        8,   8,   8,   8,   8,   8,   8,   8, 
3672
12
    };
3673
12
    YYDEBUG(230, *YYCURSOR);
3674
12
    YYFILL(2);
3675
12
    yych = *YYCURSOR;
3676
12
    if (yybm[0+yych] & 16) {
3677
0
      goto yy235;
3678
0
    }
3679
12
    if (yych <= '/') {
3680
7
      if (yych <= '"') {
3681
7
        if (yych <= '\f') {
3682
3
          if (yych <= 0x08) goto yy232;
3683
3
          if (yych <= '\n') goto yy237;
3684
4
        } else {
3685
4
          if (yych <= '\r') goto yy237;
3686
4
          if (yych >= '"') goto yy239;
3687
4
        }
3688
7
      } 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
7
    } else {
3698
5
      if (yych <= '\\') {
3699
3
        if (yych <= ';') {
3700
3
          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
3
      } 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
5
    }
3716
26
yy232:
3717
26
    YYDEBUG(232, *YYCURSOR);
3718
26
    yyaccept = 0;
3719
26
    YYMARKER = ++YYCURSOR;
3720
26
    YYFILL(1);
3721
26
    yych = *YYCURSOR;
3722
26
yy233:
3723
26
    YYDEBUG(233, *YYCURSOR);
3724
26
    if (yybm[0+yych] & 8) {
3725
22
      goto yy232;
3726
22
    }
3727
4
    if (yych <= '"') goto yy234;
3728
0
    if (yych <= '$') goto yy252;
3729
0
    if (yych <= ';') goto yy234;
3730
0
    if (yych <= '\\') goto yy249;
3731
4
yy234:
3732
4
    YYDEBUG(234, *YYCURSOR);
3733
4
    yyleng = YYCURSOR - SCNG(yy_text);
3734
4
#line 602 "Zend/zend_ini_scanner.l"
3735
4
    { /* Same as below, but excluding '}' */
3736
4
  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
4
yy239:
3787
4
    YYDEBUG(239, *YYCURSOR);
3788
4
    ++YYCURSOR;
3789
4
    YYDEBUG(240, *YYCURSOR);
3790
4
    yyleng = YYCURSOR - SCNG(yy_text);
3791
4
#line 610 "Zend/zend_ini_scanner.l"
3792
4
    { /* Double quoted '"' string start */
3793
4
  yy_push_state(ST_DOUBLE_QUOTES);
3794
4
  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
18
yy243:
3816
18
    YYDEBUG(243, *YYCURSOR);
3817
18
    yyaccept = 1;
3818
18
    YYMARKER = ++YYCURSOR;
3819
18
    YYFILL(1);
3820
18
    yych = *YYCURSOR;
3821
18
    YYDEBUG(244, *YYCURSOR);
3822
18
    if (yybm[0+yych] & 32) {
3823
15
      goto yy243;
3824
15
    }
3825
3
    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
3
    } else {
3838
3
      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
3
      } else {
3846
3
        if (yych <= '\\') {
3847
0
          if (yych <= '[') goto yy232;
3848
0
          goto yy249;
3849
3
        } else {
3850
3
          if (yych != '}') goto yy232;
3851
3
        }
3852
3
      }
3853
3
    }
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
4
    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
3
    } else {
4020
3
      if (yych <= '$') {
4021
1
        if (yych == '#') goto yy264;
4022
2
      } else {
4023
2
        if (yych == '&') goto yy262;
4024
1
        if (yych <= '\'') goto yy264;
4025
1
      }
4026
3
    }
4027
14
  } else {
4028
14
    if (yych <= '[') {
4029
7
      if (yych <= ';') {
4030
7
        if (yych <= '9') goto yy264;
4031
6
        if (yych <= ':') goto yy266;
4032
6
      } 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
14
  }
4046
4
yy262:
4047
4
  YYDEBUG(262, *YYCURSOR);
4048
4
  ++YYCURSOR;
4049
4
  YYDEBUG(263, *YYCURSOR);
4050
4
  yyleng = YYCURSOR - SCNG(yy_text);
4051
4
#line 686 "Zend/zend_ini_scanner.l"
4052
4
  {
4053
4
  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
122
  while (YYCURSOR < YYLIMIT) {
4070
122
    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
4
      case '"':
4087
4
      case '[':
4088
4
      case ']':
4089
4
        break;
4090
      /* ':' is only allowed if it isn't followed by '-'. */
4091
51
      case ':':
4092
51
        if (YYCURSOR[0] == '-') {
4093
5
          break;
4094
46
        } else {
4095
46
          continue;
4096
46
        }
4097
67
      default:
4098
67
        continue;
4099
122
    }
4100
4101
9
    YYCURSOR--;
4102
9
    yyleng = YYCURSOR - SCNG(yy_text);
4103
9
    break;
4104
122
  }
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
5
yy266:
4116
5
  YYDEBUG(266, *YYCURSOR);
4117
5
  yych = *++YYCURSOR;
4118
5
  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
5
}
4130
0
#line 4131 "Zend/zend_ini_scanner.c"
4131
5
yy269:
4132
5
  YYDEBUG(269, *YYCURSOR);
4133
5
  ++YYCURSOR;
4134
5
  YYDEBUG(270, *YYCURSOR);
4135
5
  yyleng = YYCURSOR - SCNG(yy_text);
4136
5
#line 427 "Zend/zend_ini_scanner.l"
4137
5
  { /* End Variable name, fallback start */
4138
5
fallback_lexing:
4139
5
  yy_pop_state();
4140
5
  yy_push_state(ST_VAR_FALLBACK);
4141
5
  return TC_FALLBACK;
4142
5
}
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
}