1 /* -*- buffer-read-only: t -*-
5 * Copyright (C) 2007, 2011 by Larry Wall and others
7 * You may distribute under the terms of either the GNU General Public
8 * License or the Artistic License, as specified in the README file.
10 * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
11 * This file is built by regen/regcharclass.pl.
12 * Any changes made here will be lost!
13 * WARNING: These macros are for internal Perl core use only, and may be
14 * changed or removed without notice.
18 #ifndef H_REGCHARCLASS /* Guard against nested #includes */
19 #define H_REGCHARCLASS 1
21 #if 'A' == 65 /* ASCII/Latin1 */
23 LNBREAK: Line Break: \R
25 "\x0D\x0A" # CRLF - Network (Windows) line ending
28 /*** GENERATED CODE ***/
29 #define is_LNBREAK_safe(s,e,is_utf8) \
31 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
32 : ( 0x0D == ((U8*)s)[0] ) ? \
33 ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
35 ( ( 0xC2 == ((U8*)s)[0] ) ? \
36 ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
37 : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
38 : ( 0x85 == ((U8*)s)[0] ) ) \
40 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
41 : ( 0x0D == ((U8*)s)[0] ) ? \
42 ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
44 ( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
45 : ( 0x85 == ((U8*)s)[0] ) ) \
47 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1 \
48 : ( !( is_utf8 ) ) ? \
49 ( 0x85 == ((U8*)s)[0] ) \
53 /*** GENERATED CODE ***/
54 #define is_LNBREAK_utf8_safe(s,e) \
56 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
57 : ( 0x0D == ((U8*)s)[0] ) ? \
58 ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
59 : ( 0xC2 == ((U8*)s)[0] ) ? \
60 ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
61 : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
63 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1 \
64 : ( 0x0D == ((U8*)s)[0] ) ? \
65 ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
66 : ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 ) \
68 ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) \
71 /*** GENERATED CODE ***/
72 #define is_LNBREAK_latin1_safe(s,e) \
74 ( ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) || 0x85 == ((U8*)s)[0] ) ? 1\
75 : ( 0x0D == ((U8*)s)[0] ) ? \
76 ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 ) \
79 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] )\
83 HORIZWS: Horizontal Whitespace: \h \H
87 /*** GENERATED CODE ***/
88 #define is_HORIZWS_high(s) \
89 ( ( 0xE1 == ((U8*)s)[0] ) ? \
90 ( ( ( 0x9A == ((U8*)s)[1] ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
91 : ( 0xE2 == ((U8*)s)[0] ) ? \
92 ( ( 0x80 == ((U8*)s)[1] ) ? \
93 ( ( ( ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 ) \
94 : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \
95 : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )
97 /*** GENERATED CODE ***/
98 #define is_HORIZWS_cp_high(cp) \
99 ( 0x1680 == cp || ( 0x1680 < cp && \
100 ( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
101 ( 0x202F == cp || ( 0x202F < cp && \
102 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) )
105 VERTWS: Vertical Whitespace: \v \V
109 /*** GENERATED CODE ***/
110 #define is_VERTWS_high(s) \
111 ( ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
113 /*** GENERATED CODE ***/
114 #define is_VERTWS_cp_high(cp) \
115 ( 0x2028 == cp || 0x2029 == cp )
118 XDIGIT: Hexadecimal digits
122 /*** GENERATED CODE ***/
123 #define is_XDIGIT_high(s) \
124 ( ( 0xEF == ((U8*)s)[0] ) ? \
125 ( ( 0xBC == ((U8*)s)[1] ) ? \
126 ( ( ( 0x90 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x99 ) || ( 0xA1 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xA6 ) ) ? 3 : 0 )\
127 : ( ( 0xBD == ((U8*)s)[1] ) && ( 0x81 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 )\
130 /*** GENERATED CODE ***/
131 #define is_XDIGIT_cp_high(cp) \
132 ( ( 0xFF10 <= cp && cp <= 0xFF19 ) || ( 0xFF19 < cp && \
133 ( ( 0xFF21 <= cp && cp <= 0xFF26 ) || ( 0xFF41 <= cp && cp <= 0xFF46 ) ) ) )
136 XPERLSPACE: \p{XPerlSpace}
140 /*** GENERATED CODE ***/
141 #define is_XPERLSPACE_high(s) \
142 ( ( 0xE1 == ((U8*)s)[0] ) ? \
143 ( ( ( 0x9A == ((U8*)s)[1] ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
144 : ( 0xE2 == ((U8*)s)[0] ) ? \
145 ( ( 0x80 == ((U8*)s)[1] ) ? \
146 ( ( ( ((U8*)s)[2] <= 0x8A ) || ( ((U8*)s)[2] & 0xFE ) == 0xA8 || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
147 : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 ) \
148 : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )
150 /*** GENERATED CODE ***/
151 #define is_XPERLSPACE_cp_high(cp) \
152 ( 0x1680 == cp || ( 0x1680 < cp && \
153 ( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
154 ( 0x2028 == cp || ( 0x2028 < cp && \
155 ( 0x2029 == cp || ( 0x2029 < cp && \
156 ( 0x202F == cp || ( 0x202F < cp && \
157 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) )
160 REPLACEMENT: Unicode REPLACEMENT CHARACTER
164 /*** GENERATED CODE ***/
165 #define is_REPLACEMENT_utf8_safe(s,e) \
166 ( ( ( ( ( ((e) - (s)) >= 3 ) && ( 0xEF == ((U8*)s)[0] ) ) && ( 0xBF == ((U8*)s)[1] ) ) && ( 0xBD == ((U8*)s)[2] ) ) ? 3 : 0 )
169 NONCHAR: Non character code points
173 /*** GENERATED CODE ***/
174 #define is_NONCHAR_utf8(s) \
175 ( ( 0xEF == ((U8*)s)[0] ) ? \
176 ( ( 0xB7 == ((U8*)s)[1] ) ? \
177 ( ( 0x90 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xAF ) ? 3 : 0 ) \
178 : ( ( 0xBF == ((U8*)s)[1] ) && ( ((U8*)s)[2] >= 0xBE ) ) ? 3 : 0 ) \
179 : ( 0xF0 == ((U8*)s)[0] ) ? \
180 ( ( ( ( ((U8*)s)[1] == 0x9F || ( ( ((U8*)s)[1] & 0xEF ) == 0xAF ) ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )\
181 : ( 0xF1 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xF3 ) ? \
182 ( ( ( ( ( ((U8*)s)[1] & 0xCF ) == 0x8F ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )\
183 : ( ( ( ( 0xF4 == ((U8*)s)[0] ) && ( 0x8F == ((U8*)s)[1] ) ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )
186 SURROGATE: Surrogate characters
190 /*** GENERATED CODE ***/
191 #define is_SURROGATE_utf8(s) \
192 ( ( ( 0xED == ((U8*)s)[0] ) && ( ((U8*)s)[1] >= 0xA0 ) ) ? 3 : 0 )
195 GCB_L: Grapheme_Cluster_Break=L
199 /*** GENERATED CODE ***/
200 #define is_GCB_L_utf8(s) \
201 ( ( 0xE1 == ((U8*)s)[0] ) ? \
202 ( ( 0x84 == ((U8*)s)[1] ) ? \
204 : ( ( 0x85 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x9F ) ) ? 3 : 0 ) \
205 : ( ( ( 0xEA == ((U8*)s)[0] ) && ( 0xA5 == ((U8*)s)[1] ) ) && ( 0xA0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBC ) ) ? 3 : 0 )
208 GCB_LV_LVT_V: Grapheme_Cluster_Break=(LV or LVT or V)
212 /*** GENERATED CODE ***/
213 #define is_GCB_LV_LVT_V_utf8(s) \
214 ( ( 0xE1 == ((U8*)s)[0] ) ? \
215 ( ( 0x85 == ((U8*)s)[1] ) ? \
216 ( ( ((U8*)s)[2] >= 0xA0 ) ? 3 : 0 ) \
217 : ( ( 0x86 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0xA7 ) ) ? 3 : 0 ) \
218 : ( 0xEA == ((U8*)s)[0] ) ? \
219 ( ( ((U8*)s)[1] >= 0xB0 ) ? \
222 : ( 0xEB == ((U8*)s)[0] || 0xEC == ((U8*)s)[0] ) ? \
224 : ( 0xED == ((U8*)s)[0] ) ? \
225 ( ( ((U8*)s)[1] <= 0x9D ) ? \
227 : ( 0x9E == ((U8*)s)[1] ) ? \
228 ( ( ( ((U8*)s)[2] <= 0xA3 ) || ( ((U8*)s)[2] >= 0xB0 ) ) ? 3 : 0 ) \
229 : ( ( 0x9F == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 ) \
233 GCB_Prepend: Grapheme_Cluster_Break=Prepend
237 /*** GENERATED CODE ***/
238 #define is_GCB_Prepend_utf8(s) \
242 GCB_RI: Grapheme_Cluster_Break=RI
246 /*** GENERATED CODE ***/
247 #define is_GCB_RI_utf8(s) \
248 ( ( ( ( ( 0xF0 == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x87 == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xA6 ) ) ? 4 : 0 )
251 GCB_SPECIAL_BEGIN_START: Grapheme_Cluster_Break=special_begin_starts
253 \p{_X_Special_Begin_Start}
255 /*** GENERATED CODE ***/
256 #define is_GCB_SPECIAL_BEGIN_START_utf8(s) \
257 ( ( 0xE1 == ((U8*)s)[0] ) ? \
258 ( ( ( ((U8*)s)[1] & 0xFC ) == 0x84 ) ? \
261 : ( 0xEA == ((U8*)s)[0] ) ? \
262 ( ( 0xA5 == ((U8*)s)[1] ) ? \
263 ( ( 0xA0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBC ) ? 3 : 0 ) \
264 : ( ((U8*)s)[1] >= 0xB0 ) ? \
267 : ( 0xEB == ((U8*)s)[0] || 0xEC == ((U8*)s)[0] ) ? \
269 : ( 0xED == ((U8*)s)[0] ) ? \
270 ( ( ((U8*)s)[1] <= 0x9D ) ? \
272 : ( 0x9E == ((U8*)s)[1] ) ? \
273 ( ( ( ((U8*)s)[2] <= 0xA3 ) || ( ((U8*)s)[2] >= 0xB0 ) ) ? 3 : 0 ) \
274 : ( ( 0x9F == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] <= 0x86 ) || ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBB ) ) ) ? 3 : 0 )\
275 : ( ( ( ( 0xF0 == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x87 == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xA6 ) ) ? 4 : 0 )
278 GCB_T: Grapheme_Cluster_Break=T
282 /*** GENERATED CODE ***/
283 #define is_GCB_T_utf8(s) \
284 ( ( 0xE1 == ((U8*)s)[0] ) ? \
285 ( ( 0x86 == ((U8*)s)[1] ) ? \
286 ( ( ((U8*)s)[2] >= 0xA8 ) ? 3 : 0 ) \
287 : ( 0x87 == ((U8*)s)[1] ) ? \
290 : ( ( ( 0xED == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBB ) ) ? 3 : 0 )
293 GCB_V: Grapheme_Cluster_Break=V
297 /*** GENERATED CODE ***/
298 #define is_GCB_V_utf8(s) \
299 ( ( 0xE1 == ((U8*)s)[0] ) ? \
300 ( ( 0x85 == ((U8*)s)[1] ) ? \
301 ( ( ((U8*)s)[2] >= 0xA0 ) ? 3 : 0 ) \
302 : ( ( 0x86 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0xA7 ) ) ? 3 : 0 ) \
303 : ( 0xED == ((U8*)s)[0] ) ? \
304 ( ( 0x9E == ((U8*)s)[1] ) ? \
305 ( ( ((U8*)s)[2] >= 0xB0 ) ? 3 : 0 ) \
306 : ( ( 0x9F == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 ) \
310 QUOTEMETA: Meta-characters that \Q should quote
314 /*** GENERATED CODE ***/
315 #define is_QUOTEMETA_high(s) \
316 ( ( 0xCD == ((U8*)s)[0] ) ? \
317 ( ( 0x8F == ((U8*)s)[1] ) ? 2 : 0 ) \
318 : ( 0xD8 == ((U8*)s)[0] ) ? \
319 ( ( 0x9C == ((U8*)s)[1] ) ? 2 : 0 ) \
320 : ( 0xE1 == ((U8*)s)[0] ) ? \
321 ( ( 0x85 == ((U8*)s)[1] ) ? \
322 ( ( 0x9F == ((U8*)s)[2] || 0xA0 == ((U8*)s)[2] ) ? 3 : 0 ) \
323 : ( 0x9A == ((U8*)s)[1] ) ? \
324 ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 ) \
325 : ( 0x9E == ((U8*)s)[1] ) ? \
326 ( ( ( ((U8*)s)[2] & 0xFE ) == 0xB4 ) ? 3 : 0 ) \
327 : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8E ) ) ? 3 : 0 )\
328 : ( 0xE2 == ((U8*)s)[0] ) ? \
329 ( ( 0x80 == ((U8*)s)[1] ) ? \
330 ( ( ((U8*)s)[2] <= 0xBE ) ? 3 : 0 ) \
331 : ( 0x81 == ((U8*)s)[1] ) ? \
332 ( ( ( 0x81 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x93 ) || ( 0x95 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xAF ) ) ? 3 : 0 )\
333 : ( 0x86 == ((U8*)s)[1] ) ? \
334 ( ( ((U8*)s)[2] >= 0x90 ) ? 3 : 0 ) \
335 : ( ( 0x87 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x90 ) || ( 0x94 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x9C ) || ( 0x9F <= ((U8*)s)[1] && ((U8*)s)[1] <= 0xAF ) || ( ((U8*)s)[1] & 0xFE ) == 0xB8 ) ?\
337 : ( 0x91 == ((U8*)s)[1] ) ? \
338 ( ( ((U8*)s)[2] <= 0x9F ) ? 3 : 0 ) \
339 : ( 0x9D == ((U8*)s)[1] ) ? \
340 ( ( ((U8*)s)[2] <= 0xB5 ) ? 3 : 0 ) \
341 : ( ( 0x9E == ((U8*)s)[1] ) && ( ((U8*)s)[2] >= 0x94 ) ) ? 3 : 0 ) \
342 : ( 0xE3 == ((U8*)s)[0] ) ? \
343 ( ( 0x80 == ((U8*)s)[1] ) ? \
344 ( ( ( ((U8*)s)[2] <= 0x83 ) || ( 0x88 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xA0 ) || 0xB0 == ((U8*)s)[2] ) ? 3 : 0 )\
345 : ( ( 0x85 == ((U8*)s)[1] ) && ( 0xA4 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
346 : ( 0xEF == ((U8*)s)[0] ) ? \
347 ( ( 0xB4 == ((U8*)s)[1] ) ? \
348 ( ( ((U8*)s)[2] >= 0xBE ) ? 3 : 0 ) \
349 : ( 0xB8 == ((U8*)s)[1] ) ? \
350 ( ( ((U8*)s)[2] <= 0x8F ) ? 3 : 0 ) \
351 : ( 0xB9 == ((U8*)s)[1] ) ? \
352 ( ( 0x85 == ((U8*)s)[2] || 0x86 == ((U8*)s)[2] ) ? 3 : 0 ) \
353 : ( 0xBB == ((U8*)s)[1] ) ? \
354 ( ( 0xBF == ((U8*)s)[2] ) ? 3 : 0 ) \
355 : ( 0xBE == ((U8*)s)[1] ) ? \
356 ( ( 0xA0 == ((U8*)s)[2] ) ? 3 : 0 ) \
357 : ( ( 0xBF == ((U8*)s)[1] ) && ( 0xB0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xB8 ) ) ? 3 : 0 )\
358 : ( 0xF0 == ((U8*)s)[0] ) ? \
359 ( ( ( ( 0x9D == ((U8*)s)[1] ) && ( 0x85 == ((U8*)s)[2] ) ) && ( 0xB3 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0xBA ) ) ? 4 : 0 )\
360 : ( ( 0xF3 == ((U8*)s)[0] ) && ( 0xA0 == ((U8*)s)[1] ) ) ? 4 : 0 )
363 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
365 ®charclass_multi_char_folds::multi_char_folds(1)
367 /*** GENERATED CODE ***/
368 #define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \
369 ( ( 0x61 == ((U8*)s)[0] ) ? \
370 ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \
371 : ( 0x66 == ((U8*)s)[0] ) ? \
372 ( ( 0x66 == ((U8*)s)[1] ) ? \
373 ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \
374 : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \
375 : ( 0x68 == ((U8*)s)[0] ) ? \
376 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
377 : ( 0x69 == ((U8*)s)[0] ) ? \
378 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
379 : ( 0x6A == ((U8*)s)[0] ) ? \
380 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \
381 : ( 0x73 == ((U8*)s)[0] ) ? \
382 ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \
383 : ( 0x74 == ((U8*)s)[0] ) ? \
384 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
385 : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \
386 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \
387 : ( 0xC5 == ((U8*)s)[0] ) ? \
388 ( ( ( ( 0xBF == ((U8*)s)[1] ) && ( 0xC5 == ((U8*)s)[2] ) ) && ( 0xBF == ((U8*)s)[3] ) ) ? 4 : 0 )\
389 : ( 0xCA == ((U8*)s)[0] ) ? \
390 ( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
391 : ( 0xCE == ((U8*)s)[0] ) ? \
392 ( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ? \
393 ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
394 : ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ? \
395 ( ( 0xCD == ((U8*)s)[2] ) ? \
396 ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \
397 : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
398 : ( ( ( 0xB9 == ((U8*)s)[1] ) && ( 0xCD == ((U8*)s)[2] ) ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
399 : ( 0xCF == ((U8*)s)[0] ) ? \
400 ( ( 0x81 == ((U8*)s)[1] ) ? \
401 ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\
402 : ( 0x85 == ((U8*)s)[1] ) ? \
403 ( ( 0xCC == ((U8*)s)[2] ) ? \
404 ( ( 0x93 == ((U8*)s)[3] ) ? 4 : 0 ) \
405 : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
406 : ( 0x89 == ((U8*)s)[1] ) ? \
407 ( ( 0xCD == ((U8*)s)[2] ) ? \
408 ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \
409 : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
410 : ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
411 : ( 0xD5 == ((U8*)s)[0] ) ? \
412 ( ( 0xA5 == ((U8*)s)[1] ) ? \
413 ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
414 : ( 0xB4 == ((U8*)s)[1] ) ? \
415 ( ( ( 0xD5 == ((U8*)s)[2] ) && ( ( ( ((U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((U8*)s)[3] == 0xAB || ((U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\
416 : ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
417 : ( 0xE1 == ((U8*)s)[0] ) ? \
418 ( ( 0xBC == ((U8*)s)[1] ) ? \
419 ( ( ( ( ( ((U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
420 : ( ( ( ( 0xBD == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((U8*)s)[2] & 0xFB ) == 0xB0 ) || ((U8*)s)[2] == 0xBC ) ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
424 /*** GENERATED CODE ***/
425 #define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) \
427 ( ( 0x61 == ((U8*)s)[0] ) ? \
428 ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \
429 : ( 0x66 == ((U8*)s)[0] ) ? \
430 ( ( 0x66 == ((U8*)s)[1] ) ? \
431 ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \
432 : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \
433 : ( 0x68 == ((U8*)s)[0] ) ? \
434 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
435 : ( 0x69 == ((U8*)s)[0] ) ? \
436 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
437 : ( 0x6A == ((U8*)s)[0] ) ? \
438 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \
439 : ( 0x73 == ((U8*)s)[0] ) ? \
440 ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \
441 : ( 0x74 == ((U8*)s)[0] ) ? \
442 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
443 : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \
444 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \
445 : ( 0xC5 == ((U8*)s)[0] ) ? \
446 ( ( ( ( 0xBF == ((U8*)s)[1] ) && ( 0xC5 == ((U8*)s)[2] ) ) && ( 0xBF == ((U8*)s)[3] ) ) ? 4 : 0 )\
447 : ( 0xCA == ((U8*)s)[0] ) ? \
448 ( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
449 : ( 0xCE == ((U8*)s)[0] ) ? \
450 ( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ? \
451 ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
452 : ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ? \
453 ( ( 0xCD == ((U8*)s)[2] ) ? \
454 ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \
455 : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
456 : ( ( ( 0xB9 == ((U8*)s)[1] ) && ( 0xCD == ((U8*)s)[2] ) ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
457 : ( 0xCF == ((U8*)s)[0] ) ? \
458 ( ( 0x81 == ((U8*)s)[1] ) ? \
459 ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\
460 : ( 0x85 == ((U8*)s)[1] ) ? \
461 ( ( 0xCC == ((U8*)s)[2] ) ? \
462 ( ( 0x93 == ((U8*)s)[3] ) ? 4 : 0 ) \
463 : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
464 : ( 0x89 == ((U8*)s)[1] ) ? \
465 ( ( 0xCD == ((U8*)s)[2] ) ? \
466 ( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 ) \
467 : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
468 : ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
469 : ( 0xD5 == ((U8*)s)[0] ) ? \
470 ( ( 0xA5 == ((U8*)s)[1] ) ? \
471 ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
472 : ( 0xB4 == ((U8*)s)[1] ) ? \
473 ( ( ( 0xD5 == ((U8*)s)[2] ) && ( ( ( ((U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((U8*)s)[3] == 0xAB || ((U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\
474 : ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
477 ( ( 0x61 == ((U8*)s)[0] ) ? \
478 ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \
479 : ( 0x66 == ((U8*)s)[0] ) ? \
480 ( ( 0x66 == ((U8*)s)[1] ) ? \
481 ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \
482 : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \
483 : ( 0x68 == ((U8*)s)[0] ) ? \
484 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
485 : ( 0x69 == ((U8*)s)[0] ) ? \
486 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
487 : ( 0x6A == ((U8*)s)[0] ) ? \
488 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \
489 : ( 0x73 == ((U8*)s)[0] ) ? \
490 ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \
491 : ( 0x74 == ((U8*)s)[0] ) ? \
492 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
493 : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \
494 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \
495 : ( ( ( 0xCA == ((U8*)s)[0] ) && ( 0xBC == ((U8*)s)[1] ) ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 )\
497 ( ( 0x66 == ((U8*)s)[0] ) ? \
498 ( ( 0x66 == ((U8*)s)[1] || 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 )\
499 : ( ( 0x73 == ((U8*)s)[0] ) && ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ) ? 2 : 0 )\
503 /*** GENERATED CODE ***/
504 #define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \
506 ( ( 0x61 == ((U8*)s)[0] ) ? \
507 ( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 ) \
508 : ( 0x66 == ((U8*)s)[0] ) ? \
509 ( ( 0x66 == ((U8*)s)[1] ) ? \
510 ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 ) \
511 : ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 ) \
512 : ( 0x68 == ((U8*)s)[0] ) ? \
513 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
514 : ( 0x69 == ((U8*)s)[0] ) ? \
515 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
516 : ( 0x6A == ((U8*)s)[0] ) ? \
517 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 ) \
518 : ( 0x73 == ((U8*)s)[0] ) ? \
519 ( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 ) \
520 : ( 0x74 == ((U8*)s)[0] ) ? \
521 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
522 : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ? \
523 ( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 ) \
524 : ( 0xC5 == ((U8*)s)[0] ) ? \
525 ( ( ( ( 0xBF == ((U8*)s)[1] ) && ( 0xC5 == ((U8*)s)[2] ) ) && ( 0xBF == ((U8*)s)[3] ) ) ? 4 : 0 )\
526 : ( 0xCA == ((U8*)s)[0] ) ? \
527 ( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 ) \
528 : ( 0xCE == ((U8*)s)[0] ) ? \
529 ( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ? \
530 ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
531 : ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ? \
532 ( ( 0xCD == ((U8*)s)[2] ) ? \
533 ( ( 0x82 == ((U8*)s)[3] ) ? \
534 ( ( ( 0xCE == ((U8*)s)[4] ) && ( 0xB9 == ((U8*)s)[5] ) ) ? 6 : 4 )\
536 : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
537 : ( 0xB9 == ((U8*)s)[1] ) ? \
538 ( ( 0xCC == ((U8*)s)[2] ) ? \
539 ( ( 0x88 == ((U8*)s)[3] ) ? \
540 ( ( 0xCC == ((U8*)s)[4] ) ? \
541 ( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 0 ) \
542 : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 0 )\
544 : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
546 : ( 0xCF == ((U8*)s)[0] ) ? \
547 ( ( 0x81 == ((U8*)s)[1] ) ? \
548 ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\
549 : ( 0x85 == ((U8*)s)[1] ) ? \
550 ( ( 0xCC == ((U8*)s)[2] ) ? \
551 ( ( 0x88 == ((U8*)s)[3] ) ? \
552 ( ( 0xCC == ((U8*)s)[4] ) ? \
553 ( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 0 ) \
554 : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 0 )\
555 : ( 0x93 == ((U8*)s)[3] ) ? \
556 ( ( 0xCC == ((U8*)s)[4] ) ? \
557 ( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 4 ) \
558 : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 4 )\
560 : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
561 : ( 0x89 == ((U8*)s)[1] ) ? \
562 ( ( 0xCD == ((U8*)s)[2] ) ? \
563 ( ( 0x82 == ((U8*)s)[3] ) ? \
564 ( ( ( 0xCE == ((U8*)s)[4] ) && ( 0xB9 == ((U8*)s)[5] ) ) ? 6 : 4 )\
566 : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
567 : ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
568 : ( 0xD5 == ((U8*)s)[0] ) ? \
569 ( ( 0xA5 == ((U8*)s)[1] ) ? \
570 ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
571 : ( 0xB4 == ((U8*)s)[1] ) ? \
572 ( ( ( 0xD5 == ((U8*)s)[2] ) && ( ( ( ((U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((U8*)s)[3] == 0xAB || ((U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\
573 : ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
574 : ( 0xE1 == ((U8*)s)[0] ) ? \
575 ( ( 0xBC == ((U8*)s)[1] ) ? \
576 ( ( ( ( ( ((U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
577 : ( ( ( ( 0xBD == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((U8*)s)[2] & 0xFB ) == 0xB0 ) || ((U8*)s)[2] == 0xBC ) ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
579 : ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )
582 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
584 ®charclass_multi_char_folds::multi_char_folds(0)
586 /*** GENERATED CODE ***/
587 #define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \
589 ( ( ( ((U8*)s)[0] & 0xDF ) == 0x46 ) ? \
590 ( ( ( ((U8*)s)[1] & 0xDF ) == 0x46 ) ? \
591 ( ( ( ( ((U8*)s)[2] & 0xDF ) == 0x49 ) || ( ( ((U8*)s)[2] & 0xDF ) == 0x4C ) ) ? 3 : 2 )\
592 : ( ( ( ((U8*)s)[1] & 0xDF ) == 0x49 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x4C ) ) ? 2 : 0 )\
593 : ( ( ( ((U8*)s)[0] & 0xDF ) == 0x53 ) && ( ( ( ((U8*)s)[1] & 0xDF ) == 0x53 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x54 ) ) ) ? 2 : 0 )\
595 ( ( ( ((U8*)s)[0] & 0xDF ) == 0x46 ) ? \
596 ( ( ( ( ((U8*)s)[1] & 0xDF ) == 0x46 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x49 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x4C ) ) ? 2 : 0 )\
597 : ( ( ( ((U8*)s)[0] & 0xDF ) == 0x53 ) && ( ( ( ((U8*)s)[1] & 0xDF ) == 0x53 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x54 ) ) ) ? 2 : 0 )\
601 FOLDS_TO_MULTI: characters that fold to multi-char strings
603 \p{_Perl_Folds_To_Multi_Char}
605 /*** GENERATED CODE ***/
606 #define is_FOLDS_TO_MULTI_utf8(s) \
607 ( ( 0xC3 == ((U8*)s)[0] ) ? \
608 ( ( 0x9F == ((U8*)s)[1] ) ? 2 : 0 ) \
609 : ( 0xC4 == ((U8*)s)[0] || 0xC7 == ((U8*)s)[0] ) ? \
610 ( ( 0xB0 == ((U8*)s)[1] ) ? 2 : 0 ) \
611 : ( 0xC5 == ((U8*)s)[0] ) ? \
612 ( ( 0x89 == ((U8*)s)[1] ) ? 2 : 0 ) \
613 : ( 0xCE == ((U8*)s)[0] ) ? \
614 ( ( ( ((U8*)s)[1] & 0xDF ) == 0x90 ) ? 2 : 0 ) \
615 : ( 0xD6 == ((U8*)s)[0] ) ? \
616 ( ( 0x87 == ((U8*)s)[1] ) ? 2 : 0 ) \
617 : ( 0xE1 == ((U8*)s)[0] ) ? \
618 ( ( 0xBA == ((U8*)s)[1] ) ? \
619 ( ( ( 0x96 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x9A ) || 0x9E == ((U8*)s)[2] ) ? 3 : 0 )\
620 : ( 0xBD == ((U8*)s)[1] ) ? \
621 ( ( ( ((U8*)s)[2] & 0xF9 ) == 0x90 ) ? 3 : 0 ) \
622 : ( 0xBE == ((U8*)s)[1] ) ? \
623 ( ( ( ( ((U8*)s)[2] & 0xE0 ) == 0x80 ) || ( ( ((U8*)s)[2] & 0xF0 ) == 0xA0 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0xB2 ) || ( ( ((U8*)s)[2] & 0xF7 ) == 0xB4 ) ) ? 3 : 0 )\
624 : ( ( 0xBF == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xCA ) == 0x82 ) || ( ( ((U8*)s)[2] & 0xF7 ) == 0x84 ) || ((U8*)s)[2] == 0xA4 || ( ( ((U8*)s)[2] & 0xF7 ) == 0xB4 ) ) ) ? 3 : 0 )\
625 : ( ( ( 0xEF == ((U8*)s)[0] ) && ( 0xAC == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] <= 0x86 ) || ( 0x93 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x97 ) ) ) ? 3 : 0 )
628 PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale
630 \p{_Perl_Problematic_Locale_Folds}
632 /*** GENERATED CODE ***/
633 #define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \
634 ( ( ((U8*)s)[0] <= 0x7F ) ? 1 \
635 : ( ( ((U8*)s)[0] & 0xFE ) == 0xC2 ) ? \
637 : ( 0xC4 == ((U8*)s)[0] || 0xC7 == ((U8*)s)[0] ) ? \
638 ( ( 0xB0 == ((U8*)s)[1] ) ? 2 : 0 ) \
639 : ( 0xC5 == ((U8*)s)[0] ) ? \
640 ( ( 0x89 == ((U8*)s)[1] || 0xB8 == ((U8*)s)[1] || 0xBF == ((U8*)s)[1] ) ? 2 : 0 )\
641 : ( 0xCE == ((U8*)s)[0] ) ? \
642 ( ( ( ((U8*)s)[1] & 0xDF ) == 0x9C ) ? 2 : 0 ) \
643 : ( 0xE1 == ((U8*)s)[0] ) ? \
644 ( ( ( 0xBA == ((U8*)s)[1] ) && ( ( 0x96 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x9A ) || 0x9E == ((U8*)s)[2] ) ) ? 3 : 0 )\
645 : ( 0xE2 == ((U8*)s)[0] ) ? \
646 ( ( ( 0x84 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xAA ) ) ? 3 : 0 )\
647 : ( ( ( 0xEF == ((U8*)s)[0] ) && ( 0xAC == ((U8*)s)[1] ) ) && ( ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 )
649 /*** GENERATED CODE ***/
650 #define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \
651 ( cp <= 0xFF || ( 0xFF < cp && \
652 ( 0x130 == cp || ( 0x130 < cp && \
653 ( 0x149 == cp || ( 0x149 < cp && \
654 ( 0x178 == cp || ( 0x178 < cp && \
655 ( 0x17F == cp || ( 0x17F < cp && \
656 ( 0x1F0 == cp || ( 0x1F0 < cp && \
657 ( 0x39C == cp || ( 0x39C < cp && \
658 ( 0x3BC == cp || ( 0x3BC < cp && \
659 ( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
660 ( 0x1E9E == cp || ( 0x1E9E < cp && \
661 ( 0x212A == cp || ( 0x212A < cp && \
662 ( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
665 PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale
667 \p{_Perl_Problematic_Locale_Foldeds_Start}
669 /*** GENERATED CODE ***/
670 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \
671 ( ( ((U8*)s)[0] <= 0x7F ) ? 1 \
672 : ( ( ((U8*)s)[0] & 0xFE ) == 0xC2 ) ? \
674 : ( 0xC4 == ((U8*)s)[0] || 0xC7 == ((U8*)s)[0] ) ? \
675 ( ( 0xB0 == ((U8*)s)[1] ) ? 2 : 0 ) \
676 : ( 0xC5 == ((U8*)s)[0] ) ? \
677 ( ( 0x89 == ((U8*)s)[1] || 0xB8 == ((U8*)s)[1] || 0xBF == ((U8*)s)[1] ) ? 2 : 0 )\
678 : ( 0xCA == ((U8*)s)[0] ) ? \
679 ( ( 0xBC == ((U8*)s)[1] ) ? 2 : 0 ) \
680 : ( 0xCE == ((U8*)s)[0] ) ? \
681 ( ( ( ((U8*)s)[1] & 0xDF ) == 0x9C ) ? 2 : 0 ) \
682 : ( 0xE1 == ((U8*)s)[0] ) ? \
683 ( ( ( 0xBA == ((U8*)s)[1] ) && ( ( 0x96 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x9A ) || 0x9E == ((U8*)s)[2] ) ) ? 3 : 0 )\
684 : ( 0xE2 == ((U8*)s)[0] ) ? \
685 ( ( ( 0x84 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xAA ) ) ? 3 : 0 )\
686 : ( ( ( 0xEF == ((U8*)s)[0] ) && ( 0xAC == ((U8*)s)[1] ) ) && ( ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 )
688 /*** GENERATED CODE ***/
689 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \
690 ( cp <= 0xFF || ( 0xFF < cp && \
691 ( 0x130 == cp || ( 0x130 < cp && \
692 ( 0x149 == cp || ( 0x149 < cp && \
693 ( 0x178 == cp || ( 0x178 < cp && \
694 ( 0x17F == cp || ( 0x17F < cp && \
695 ( 0x1F0 == cp || ( 0x1F0 < cp && \
696 ( 0x2BC == cp || ( 0x2BC < cp && \
697 ( 0x39C == cp || ( 0x39C < cp && \
698 ( 0x3BC == cp || ( 0x3BC < cp && \
699 ( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
700 ( 0x1E9E == cp || ( 0x1E9E < cp && \
701 ( 0x212A == cp || ( 0x212A < cp && \
702 ( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
705 PATWS: pattern white space
709 /*** GENERATED CODE ***/
710 #define is_PATWS_safe(s,e,is_utf8) \
711 ( ( LIKELY((e) > (s)) ) ? \
712 ( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\
714 ( 0x85 == ((U8*)s)[0] ) \
715 : ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ? \
716 ( ( 0xC2 == ((U8*)s)[0] ) ? \
717 ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 ) \
718 : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x8E || ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
722 /*** GENERATED CODE ***/
723 #define is_PATWS_cp(cp) \
724 ( ( 0x09 <= cp && cp <= 0x0D ) || ( 0x0D < cp && \
725 ( 0x20 == cp || ( 0x20 < cp && \
726 ( 0x85 == cp || ( 0x85 < cp && \
727 ( 0x200E == cp || ( 0x200E < cp && \
728 ( 0x200F == cp || ( 0x200F < cp && \
729 ( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) )
731 #endif /* ASCII/Latin1 */
733 #if 'A' == 193 /* EBCDIC 1047 */ \
734 && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
735 && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
736 && '$' == 91 && '@' == 124 && '`' == 121
738 LNBREAK: Line Break: \R
740 "\x0D\x0A" # CRLF - Network (Windows) line ending
743 /*** GENERATED CODE ***/
744 #define is_LNBREAK_safe(s,e,is_utf8) \
746 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
747 : ( 0x0D == ((U8*)s)[0] ) ? \
748 ( ( 0x15 == ((U8*)s)[1] ) ? 2 : 1 ) \
749 : ( ( ( ( is_utf8 ) && ( 0xCA == ((U8*)s)[0] ) ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) ) ? 3 : 0 )\
751 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
752 : ( 0x0D == ((U8*)s)[0] ) ? \
753 ( ( 0x15 == ((U8*)s)[1] ) ? 2 : 1 ) \
756 ( ( 0x0B <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] )\
759 /*** GENERATED CODE ***/
760 #define is_LNBREAK_utf8_safe(s,e) \
762 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
763 : ( 0x0D == ((U8*)s)[0] ) ? \
764 ( ( 0x15 == ((U8*)s)[1] ) ? 2 : 1 ) \
765 : ( ( ( 0xCA == ((U8*)s)[0] ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) ) ? 3 : 0 )\
767 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
768 : ( 0x0D == ((U8*)s)[0] ) ? \
769 ( ( 0x15 == ((U8*)s)[1] ) ? 2 : 1 ) \
772 ( ( 0x0B <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] )\
775 /*** GENERATED CODE ***/
776 #define is_LNBREAK_latin1_safe(s,e) \
778 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
779 : ( 0x0D == ((U8*)s)[0] ) ? \
780 ( ( 0x15 == ((U8*)s)[1] ) ? 2 : 1 ) \
783 ( ( 0x0B <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] )\
787 HORIZWS: Horizontal Whitespace: \h \H
791 /*** GENERATED CODE ***/
792 #define is_HORIZWS_high(s) \
793 ( ( 0xBC == ((U8*)s)[0] ) ? \
794 ( ( ( 0x63 == ((U8*)s)[1] ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
795 : ( 0xCA == ((U8*)s)[0] ) ? \
796 ( ( 0x41 == ((U8*)s)[1] ) ? \
797 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || 0x51 == ((U8*)s)[2] ) ? 3 : 0 )\
798 : ( 0x42 == ((U8*)s)[1] ) ? \
799 ( ( 0x56 == ((U8*)s)[2] ) ? 3 : 0 ) \
800 : ( ( 0x43 == ((U8*)s)[1] ) && ( 0x73 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
801 : ( ( ( 0xCE == ((U8*)s)[0] ) && ( 0x41 == ((U8*)s)[1] ) ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 )
803 /*** GENERATED CODE ***/
804 #define is_HORIZWS_cp_high(cp) \
805 ( 0x1680 == cp || ( 0x1680 < cp && \
806 ( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
807 ( 0x202F == cp || ( 0x202F < cp && \
808 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) )
811 VERTWS: Vertical Whitespace: \v \V
815 /*** GENERATED CODE ***/
816 #define is_VERTWS_high(s) \
817 ( ( ( ( 0xCA == ((U8*)s)[0] ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) ) ? 3 : 0 )
819 /*** GENERATED CODE ***/
820 #define is_VERTWS_cp_high(cp) \
821 ( 0x2028 == cp || 0x2029 == cp )
824 XDIGIT: Hexadecimal digits
828 /*** GENERATED CODE ***/
829 #define is_XDIGIT_high(s) \
830 ( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x73 == ((U8*)s)[1] ) ) ? ( ( 0x67 == ((U8*)s)[2] ) ?\
831 ( ( ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x68 ) ) ? 4 : 0 )\
832 : ( ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) && ( 0x42 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 ) : 0 )
834 /*** GENERATED CODE ***/
835 #define is_XDIGIT_cp_high(cp) \
836 ( ( 0xFF10 <= cp && cp <= 0xFF19 ) || ( 0xFF19 < cp && \
837 ( ( 0xFF21 <= cp && cp <= 0xFF26 ) || ( 0xFF41 <= cp && cp <= 0xFF46 ) ) ) )
840 XPERLSPACE: \p{XPerlSpace}
844 /*** GENERATED CODE ***/
845 #define is_XPERLSPACE_high(s) \
846 ( ( 0xBC == ((U8*)s)[0] ) ? \
847 ( ( ( 0x63 == ((U8*)s)[1] ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
848 : ( 0xCA == ((U8*)s)[0] ) ? \
849 ( ( 0x41 == ((U8*)s)[1] ) ? \
850 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || 0x51 == ((U8*)s)[2] ) ? 3 : 0 )\
851 : ( 0x42 == ((U8*)s)[1] ) ? \
852 ( ( ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) || 0x56 == ((U8*)s)[2] ) ? 3 : 0 )\
853 : ( ( 0x43 == ((U8*)s)[1] ) && ( 0x73 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
854 : ( ( ( 0xCE == ((U8*)s)[0] ) && ( 0x41 == ((U8*)s)[1] ) ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 )
856 /*** GENERATED CODE ***/
857 #define is_XPERLSPACE_cp_high(cp) \
858 ( 0x1680 == cp || ( 0x1680 < cp && \
859 ( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
860 ( 0x2028 == cp || ( 0x2028 < cp && \
861 ( 0x2029 == cp || ( 0x2029 < cp && \
862 ( 0x202F == cp || ( 0x202F < cp && \
863 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) )
866 REPLACEMENT: Unicode REPLACEMENT CHARACTER
870 /*** GENERATED CODE ***/
871 #define is_REPLACEMENT_utf8_safe(s,e) \
872 ( ( ( ( ( ( ((e) - (s)) >= 4 ) && ( 0xDD == ((U8*)s)[0] ) ) && ( 0x73 == ((U8*)s)[1] ) ) && ( 0x73 == ((U8*)s)[2] ) ) && ( 0x71 == ((U8*)s)[3] ) ) ? 4 : 0 )
875 NONCHAR: Non character code points
879 /*** GENERATED CODE ***/
880 #define is_NONCHAR_utf8(s) \
881 ( ( 0xDD == ((U8*)s)[0] ) ? \
882 ( ( 0x73 == ((U8*)s)[1] ) ? \
883 ( ( 0x55 == ((U8*)s)[2] ) ? \
884 ( ( ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ? 4 : 0 )\
885 : ( 0x56 == ((U8*)s)[2] ) ? \
886 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x56 ) ) ? 4 : 0 )\
887 : ( ( 0x73 == ((U8*)s)[2] ) && ( ( ((U8*)s)[3] & 0xFE ) == 0x72 ) ) ? 4 : 0 )\
889 : ( 0xDF == ((U8*)s)[0] || 0xEA == ((U8*)s)[0] || 0xEC == ((U8*)s)[0] ) ? \
890 ( ( ( ( 0x73 == ((U8*)s)[1] ) && ( 0x73 == ((U8*)s)[2] ) ) && ( ( ((U8*)s)[3] & 0xFE ) == 0x72 ) ) ? 4 : 0 )\
891 : ( 0xED == ((U8*)s)[0] ) ? \
892 ( ( ( ( ( ((U8*)s)[1] == 0x4A || ((U8*)s)[1] == 0x52 || ( ( ((U8*)s)[1] & 0xFD ) == 0x54 ) || ((U8*)s)[1] == 0x58 || ((U8*)s)[1] == 0x62 || ( ( ((U8*)s)[1] & 0xFD ) == 0x64 ) || ( ( ((U8*)s)[1] & 0xFD ) == 0x68 ) || ( ( ((U8*)s)[1] & 0xFD ) == 0x71 ) ) && ( 0x73 == ((U8*)s)[2] ) ) && ( 0x73 == ((U8*)s)[3] ) ) && ( ( ((U8*)s)[4] & 0xFE ) == 0x72 ) ) ? 5 : 0 )\
893 : ( ( ( ( ( 0xEE == ((U8*)s)[0] ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x73 == ((U8*)s)[2] ) ) && ( 0x73 == ((U8*)s)[3] ) ) && ( ( ((U8*)s)[4] & 0xFE ) == 0x72 ) ) ? 5 : 0 )
896 SURROGATE: Surrogate characters
900 /*** GENERATED CODE ***/
901 #define is_SURROGATE_utf8(s) \
902 ( ( ( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x65 == ((U8*)s)[1] || 0x66 == ((U8*)s)[1] ) ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ) ? 4 : 0 )
905 GCB_L: Grapheme_Cluster_Break=L
909 /*** GENERATED CODE ***/
910 #define is_GCB_L_utf8(s) \
911 ( ( 0xBB == ((U8*)s)[0] ) ? \
912 ( ( ( ( 0x49 == ((U8*)s)[1] || 0x4A == ((U8*)s)[1] ) || 0x51 == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ) ? 3 : 0 )\
913 : ( ( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x51 == ((U8*)s)[1] ) ) && ( 0x52 == ((U8*)s)[2] ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || 0x70 == ((U8*)s)[3] ) ) ? 4 : 0 )
916 GCB_LV_LVT_V: Grapheme_Cluster_Break=(LV or LVT or V)
920 /*** GENERATED CODE ***/
921 #define is_GCB_LV_LVT_V_utf8(s) \
922 ( ( 0xBB == ((U8*)s)[0] ) ? \
923 ( ( ( ((U8*)s)[1] & 0xFE ) == 0x52 ) ? \
924 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ? 3 : 0 )\
925 : ( ( 0x54 == ((U8*)s)[1] ) && ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) ) ? 3 : 0 )\
926 : ( 0xDD == ((U8*)s)[0] ) ? \
927 ( ( ( 0x52 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( ((U8*)s)[1] & 0xFE ) == 0x62 ) ?\
928 ( ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ) ? 4 : 0 )\
929 : ( 0x64 == ((U8*)s)[1] ) ? \
930 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || 0x70 == ((U8*)s)[2] ) ?\
931 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ? 4 : 0 )\
932 : ( 0x71 == ((U8*)s)[2] ) ? \
933 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x44 ) || ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ? 4 : 0 )\
934 : ( ( 0x72 == ((U8*)s)[2] ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 )\
939 GCB_Prepend: Grapheme_Cluster_Break=Prepend
943 /*** GENERATED CODE ***/
944 #define is_GCB_Prepend_utf8(s) \
948 GCB_RI: Grapheme_Cluster_Break=RI
952 /*** GENERATED CODE ***/
953 #define is_GCB_RI_utf8(s) \
954 ( ( ( ( ( 0xDF == ((U8*)s)[0] ) && ( 0x70 == ((U8*)s)[1] ) ) && ( 0x56 == ((U8*)s)[2] ) ) && ( ( 0x47 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ) ? 4 : 0 )
957 GCB_SPECIAL_BEGIN_START: Grapheme_Cluster_Break=special_begin_starts
959 \p{_X_Special_Begin_Start}
961 /*** GENERATED CODE ***/
962 #define is_GCB_SPECIAL_BEGIN_START_utf8(s) \
963 ( ( 0xBB == ((U8*)s)[0] ) ? \
964 ( ( ( ( 0x49 == ((U8*)s)[1] || 0x4A == ((U8*)s)[1] ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x56 ) ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ) ? 3 : 0 )\
965 : ( 0xDD == ((U8*)s)[0] ) ? \
966 ( ( 0x51 == ((U8*)s)[1] ) ? \
967 ( ( ( 0x52 == ((U8*)s)[2] ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || 0x70 == ((U8*)s)[3] ) ) ? 4 : 0 )\
968 : ( ( 0x52 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( ((U8*)s)[1] & 0xFE ) == 0x62 ) ?\
969 ( ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ) ? 4 : 0 )\
970 : ( 0x64 == ((U8*)s)[1] ) ? \
971 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || 0x70 == ((U8*)s)[2] ) ?\
972 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ? 4 : 0 )\
973 : ( 0x71 == ((U8*)s)[2] ) ? \
974 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x44 ) || ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ? 4 : 0 )\
975 : ( 0x72 == ((U8*)s)[2] ) ? \
976 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) || ( 0x52 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ? 4 : 0 )\
977 : ( ( 0x73 == ((U8*)s)[2] ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) ) ) ? 4 : 0 )\
979 : ( ( ( ( 0xDF == ((U8*)s)[0] ) && ( 0x70 == ((U8*)s)[1] ) ) && ( 0x56 == ((U8*)s)[2] ) ) && ( ( 0x47 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ) ? 4 : 0 )
982 GCB_T: Grapheme_Cluster_Break=T
986 /*** GENERATED CODE ***/
987 #define is_GCB_T_utf8(s) \
988 ( ( 0xBB == ((U8*)s)[0] ) ? \
989 ( ( 0x54 == ((U8*)s)[1] ) ? \
990 ( ( ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ? 3 : 0 )\
991 : ( ( 0x55 == ((U8*)s)[1] || 0x56 == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ) ? 3 : 0 )\
992 : ( ( 0xDD == ((U8*)s)[0] ) && ( 0x64 == ((U8*)s)[1] ) ) ? ( ( 0x72 == ((U8*)s)[2] ) ?\
993 ( ( ( 0x52 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ? 4 : 0 )\
994 : ( ( 0x73 == ((U8*)s)[2] ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) ) ) ? 4 : 0 ) : 0 )
997 GCB_V: Grapheme_Cluster_Break=V
1001 /*** GENERATED CODE ***/
1002 #define is_GCB_V_utf8(s) \
1003 ( ( 0xBB == ((U8*)s)[0] ) ? \
1004 ( ( ( ((U8*)s)[1] & 0xFE ) == 0x52 ) ? \
1005 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ? 3 : 0 )\
1006 : ( ( 0x54 == ((U8*)s)[1] ) && ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) ) ? 3 : 0 )\
1007 : ( ( 0xDD == ((U8*)s)[0] ) && ( 0x64 == ((U8*)s)[1] ) ) ? ( ( 0x71 == ((U8*)s)[2] ) ?\
1008 ( ( ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ? 4 : 0 )\
1009 : ( ( 0x72 == ((U8*)s)[2] ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 ) : 0 )
1012 UTF8_CHAR: Matches legal UTF-EBCDIC encoded characters from 2 through 3 bytes
1016 /*** GENERATED CODE ***/
1017 #define is_UTF8_CHAR_utf8_no_length_checks(s) \
1018 ( ( 0x80 == ((U8*)s)[0] || ( 0x8A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x90 ) || ( 0x9A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xA0 ) || ( 0xAA <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xAC ) || ( 0xAE <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xB6 ) ) ?\
1019 ( ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( ((U8*)s)[1] & 0xFC ) == 0x70 ) ? 2 : 0 )\
1020 : ( ( ( ( ( ((U8*)s)[0] & 0xFC ) == 0xB8 ) || ((U8*)s)[0] == 0xBC || ( ( ((U8*)s)[0] & 0xFE ) == 0xBE ) || ( ( ((U8*)s)[0] & 0xEE ) == 0xCA ) || ( ( ((U8*)s)[0] & 0xFC ) == 0xCC ) ) && ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( ((U8*)s)[1] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ) ? 3 : 0 )
1023 QUOTEMETA: Meta-characters that \Q should quote
1027 /*** GENERATED CODE ***/
1028 #define is_QUOTEMETA_high(s) \
1029 ( ( 0xB1 == ((U8*)s)[0] ) ? \
1030 ( ( 0x56 == ((U8*)s)[1] ) ? 2 : 0 ) \
1031 : ( 0xB8 == ((U8*)s)[0] ) ? \
1032 ( ( ( 0x57 == ((U8*)s)[1] ) && ( 0x70 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1033 : ( 0xBB == ((U8*)s)[0] ) ? \
1034 ( ( 0x51 == ((U8*)s)[1] ) ? \
1035 ( ( 0x73 == ((U8*)s)[2] ) ? 3 : 0 ) \
1036 : ( ( 0x52 == ((U8*)s)[1] ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1037 : ( 0xBC == ((U8*)s)[0] ) ? \
1038 ( ( 0x63 == ((U8*)s)[1] ) ? \
1039 ( ( 0x41 == ((U8*)s)[2] ) ? 3 : 0 ) \
1040 : ( ( 0x71 == ((U8*)s)[1] ) && ( 0x63 == ((U8*)s)[2] || 0x64 == ((U8*)s)[2] ) ) ? 3 : 0 )\
1041 : ( 0xBE == ((U8*)s)[0] ) ? \
1042 ( ( ( 0x41 == ((U8*)s)[1] ) && ( 0x52 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x55 ) ) ? 3 : 0 )\
1043 : ( 0xCA == ((U8*)s)[0] ) ? \
1044 ( ( 0x41 == ((U8*)s)[1] || ( 0x54 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( ((U8*)s)[1] & 0xFC ) == 0x70 ) ?\
1045 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ? 3 : 0 )\
1046 : ( 0x42 == ((U8*)s)[1] ) ? \
1047 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ? 3 : 0 )\
1048 : ( 0x43 == ((U8*)s)[1] ) ? \
1049 ( ( ( 0x42 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x62 == ((U8*)s)[2] || ( 0x64 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ? 3 : 0 )\
1050 : ( 0x44 == ((U8*)s)[1] ) ? \
1051 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x56 ) ) ? 3 : 0 )\
1052 : ( ( 0x53 == ((U8*)s)[1] ) && ( ( 0x57 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ) ? 3 : 0 )\
1053 : ( 0xCB == ((U8*)s)[0] ) ? \
1054 ( ( ( ( ((U8*)s)[1] & 0xE7 ) == 0x41 ) || ( ( ((U8*)s)[1] & 0xCE ) == 0x42 ) || ((U8*)s)[1] == 0x4A || ( ( ((U8*)s)[1] & 0xFC ) == 0x54 ) || ((U8*)s)[1] == 0x58 || ( ( ((U8*)s)[1] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[1] & 0xFE ) == 0x68 ) || ((U8*)s)[1] == 0x71 ) ?\
1055 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ? 3 : 0 )\
1056 : ( 0x6A == ((U8*)s)[1] ) ? \
1057 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x64 ) ) ? 3 : 0 )\
1058 : ( ( 0x70 == ((U8*)s)[1] ) && ( ( 0x63 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ) ? 3 : 0 )\
1059 : ( 0xCC == ((U8*)s)[0] ) ? \
1060 ( ( ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( ((U8*)s)[1] & 0xFC ) == 0x70 ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ) ? 3 : 0 )\
1061 : ( 0xCD == ((U8*)s)[0] ) ? \
1062 ( ( ( ( 0x57 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || 0x62 == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ) ? 3 : 0 )\
1063 : ( 0xCE == ((U8*)s)[0] ) ? \
1064 ( ( 0x41 == ((U8*)s)[1] ) ? \
1065 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x44 ) || ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ? 3 : 0 )\
1066 : ( 0x42 == ((U8*)s)[1] ) ? \
1067 ( ( 0x41 == ((U8*)s)[2] || 0x57 == ((U8*)s)[2] ) ? 3 : 0 ) \
1068 : ( ( 0x52 == ((U8*)s)[1] ) && ( 0x45 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1069 : ( 0xDD == ((U8*)s)[0] ) ? \
1070 ( ( 0x73 == ((U8*)s)[1] ) ? \
1071 ( ( 0x4A == ((U8*)s)[2] ) ? \
1072 ( ( ( ((U8*)s)[3] & 0xFE ) == 0x72 ) ? 4 : 0 ) \
1073 : ( 0x57 == ((U8*)s)[2] ) ? \
1074 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x56 ) ) ? 4 : 0 )\
1075 : ( 0x59 == ((U8*)s)[2] ) ? \
1076 ( ( ( ((U8*)s)[3] & 0xFE ) == 0x46 ) ? 4 : 0 ) \
1077 : ( 0x66 == ((U8*)s)[2] ) ? \
1078 ( ( 0x73 == ((U8*)s)[3] ) ? 4 : 0 ) \
1079 : ( 0x71 == ((U8*)s)[2] ) ? \
1080 ( ( 0x41 == ((U8*)s)[3] ) ? 4 : 0 ) \
1081 : ( ( 0x73 == ((U8*)s)[2] ) && ( ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x67 ) ) ) ? 4 : 0 )\
1083 : ( 0xDF == ((U8*)s)[0] ) ? \
1084 ( ( ( ( 0x63 == ((U8*)s)[1] ) && ( 0x52 == ((U8*)s)[2] ) ) && ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) ) ? 4 : 0 )\
1085 : ( ( ( ( ( 0xED == ((U8*)s)[0] ) && ( 0x70 == ((U8*)s)[1] ) ) && ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x44 ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( ((U8*)s)[3] & 0xFC ) == 0x70 ) ) && ( ( 0x41 <= ((U8*)s)[4] && ((U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((U8*)s)[4] && ((U8*)s)[4] <= 0x59 ) || ( 0x62 <= ((U8*)s)[4] && ((U8*)s)[4] <= 0x6A ) || ( ((U8*)s)[4] & 0xFC ) == 0x70 ) ) ? 5 : 0 )
1088 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
1090 ®charclass_multi_char_folds::multi_char_folds(1)
1092 /*** GENERATED CODE ***/
1093 #define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \
1094 ( ( 0x81 == ((U8*)s)[0] ) ? \
1095 ( ( ( 0xAB == ((U8*)s)[1] ) && ( 0x72 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1096 : ( 0x86 == ((U8*)s)[0] ) ? \
1097 ( ( 0x86 == ((U8*)s)[1] ) ? \
1098 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
1099 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
1100 : ( 0x88 == ((U8*)s)[0] ) ? \
1101 ( ( ( 0xB0 == ((U8*)s)[1] ) && ( 0x58 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1102 : ( 0x89 == ((U8*)s)[0] ) ? \
1103 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1104 : ( 0x8F == ((U8*)s)[0] ) ? \
1105 ( ( ( ( 0x73 == ((U8*)s)[1] ) && ( 0x8F == ((U8*)s)[2] ) ) && ( 0x73 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1106 : ( 0x91 == ((U8*)s)[0] ) ? \
1107 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x53 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1108 : ( 0xA2 == ((U8*)s)[0] ) ? \
1109 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
1110 : ( 0xA3 == ((U8*)s)[0] ) ? \
1111 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1112 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
1113 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1114 : ( 0xAB == ((U8*)s)[0] ) ? \
1115 ( ( ( 0x70 == ((U8*)s)[1] ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1116 : ( 0xB4 == ((U8*)s)[0] ) ? \
1117 ( ( 0x53 == ((U8*)s)[1] || 0x55 == ((U8*)s)[1] ) ? \
1118 ( ( ( 0xB4 == ((U8*)s)[2] ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1119 : ( 0x58 == ((U8*)s)[1] || 0x66 == ((U8*)s)[1] ) ? \
1120 ( ( 0xB1 == ((U8*)s)[2] ) ? \
1121 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
1122 : ( ( 0xB4 == ((U8*)s)[2] ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1123 : ( ( ( 0x68 == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1124 : ( 0xB5 == ((U8*)s)[0] ) ? \
1125 ( ( 0x42 == ((U8*)s)[1] ) ? \
1126 ( ( ( 0xAF == ((U8*)s)[2] ) && ( 0x62 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1127 : ( 0x46 == ((U8*)s)[1] ) ? \
1128 ( ( 0xAF == ((U8*)s)[2] ) ? \
1129 ( ( 0x62 == ((U8*)s)[3] ) ? 4 : 0 ) \
1130 : ( ( 0xB1 == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1131 : ( 0x4A == ((U8*)s)[1] ) ? \
1132 ( ( 0xB1 == ((U8*)s)[2] ) ? \
1133 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
1134 : ( ( 0xB4 == ((U8*)s)[2] ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1135 : ( ( ( 0x55 == ((U8*)s)[1] ) && ( 0xB4 == ((U8*)s)[2] ) ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1136 : ( 0xBF == ((U8*)s)[0] ) ? \
1137 ( ( 0x67 == ((U8*)s)[1] || 0x68 == ((U8*)s)[1] ) ? \
1138 ( ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) && ( 0xB4 == ((U8*)s)[3] ) ) && ( 0x68 == ((U8*)s)[4] ) ) ? 5 : 0 )\
1139 : ( ( ( ( 0x6A == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) || 0x57 == ((U8*)s)[2] || 0x63 == ((U8*)s)[2] || 0x70 == ((U8*)s)[2] ) ) && ( 0xB4 == ((U8*)s)[3] ) ) && ( 0x68 == ((U8*)s)[4] ) ) ? 5 : 0 )\
1143 /*** GENERATED CODE ***/
1144 #define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) \
1146 ( ( 0x81 == ((U8*)s)[0] ) ? \
1147 ( ( ( 0xAB == ((U8*)s)[1] ) && ( 0x72 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1148 : ( 0x86 == ((U8*)s)[0] ) ? \
1149 ( ( 0x86 == ((U8*)s)[1] ) ? \
1150 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
1151 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
1152 : ( 0x88 == ((U8*)s)[0] ) ? \
1153 ( ( ( 0xB0 == ((U8*)s)[1] ) && ( 0x58 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1154 : ( 0x89 == ((U8*)s)[0] ) ? \
1155 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1156 : ( 0x8F == ((U8*)s)[0] ) ? \
1157 ( ( ( ( 0x73 == ((U8*)s)[1] ) && ( 0x8F == ((U8*)s)[2] ) ) && ( 0x73 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1158 : ( 0x91 == ((U8*)s)[0] ) ? \
1159 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x53 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1160 : ( 0xA2 == ((U8*)s)[0] ) ? \
1161 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
1162 : ( 0xA3 == ((U8*)s)[0] ) ? \
1163 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1164 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
1165 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1166 : ( 0xAB == ((U8*)s)[0] ) ? \
1167 ( ( ( 0x70 == ((U8*)s)[1] ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1168 : ( 0xB4 == ((U8*)s)[0] ) ? \
1169 ( ( 0x53 == ((U8*)s)[1] || 0x55 == ((U8*)s)[1] ) ? \
1170 ( ( ( 0xB4 == ((U8*)s)[2] ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1171 : ( 0x58 == ((U8*)s)[1] || 0x66 == ((U8*)s)[1] ) ? \
1172 ( ( 0xB1 == ((U8*)s)[2] ) ? \
1173 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
1174 : ( ( 0xB4 == ((U8*)s)[2] ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1175 : ( ( ( 0x68 == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1176 : ( 0xB5 == ((U8*)s)[0] ) ? \
1177 ( ( 0x42 == ((U8*)s)[1] ) ? \
1178 ( ( ( 0xAF == ((U8*)s)[2] ) && ( 0x62 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1179 : ( 0x46 == ((U8*)s)[1] ) ? \
1180 ( ( 0xAF == ((U8*)s)[2] ) ? \
1181 ( ( 0x62 == ((U8*)s)[3] ) ? 4 : 0 ) \
1182 : ( ( 0xB1 == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1183 : ( 0x4A == ((U8*)s)[1] ) ? \
1184 ( ( 0xB1 == ((U8*)s)[2] ) ? \
1185 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
1186 : ( ( 0xB4 == ((U8*)s)[2] ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1187 : ( ( ( 0x55 == ((U8*)s)[1] ) && ( 0xB4 == ((U8*)s)[2] ) ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1190 ( ( 0x81 == ((U8*)s)[0] ) ? \
1191 ( ( ( 0xAB == ((U8*)s)[1] ) && ( 0x72 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1192 : ( 0x86 == ((U8*)s)[0] ) ? \
1193 ( ( 0x86 == ((U8*)s)[1] ) ? \
1194 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
1195 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
1196 : ( 0x88 == ((U8*)s)[0] ) ? \
1197 ( ( ( 0xB0 == ((U8*)s)[1] ) && ( 0x58 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1198 : ( 0x89 == ((U8*)s)[0] ) ? \
1199 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1200 : ( 0x91 == ((U8*)s)[0] ) ? \
1201 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x53 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1202 : ( 0xA2 == ((U8*)s)[0] ) ? \
1203 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
1204 : ( 0xA3 == ((U8*)s)[0] ) ? \
1205 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1206 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
1207 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1208 : ( ( ( 0xAB == ((U8*)s)[0] ) && ( 0x70 == ((U8*)s)[1] ) ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 )\
1210 ( ( 0x86 == ((U8*)s)[0] ) ? \
1211 ( ( 0x86 == ((U8*)s)[1] || 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 )\
1212 : ( ( 0xA2 == ((U8*)s)[0] ) && ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ) ? 2 : 0 )\
1216 /*** GENERATED CODE ***/
1217 #define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \
1219 ( ( 0x81 == ((U8*)s)[0] ) ? \
1220 ( ( ( 0xAB == ((U8*)s)[1] ) && ( 0x72 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1221 : ( 0x86 == ((U8*)s)[0] ) ? \
1222 ( ( 0x86 == ((U8*)s)[1] ) ? \
1223 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
1224 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
1225 : ( 0x88 == ((U8*)s)[0] ) ? \
1226 ( ( ( 0xB0 == ((U8*)s)[1] ) && ( 0x58 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1227 : ( 0x89 == ((U8*)s)[0] ) ? \
1228 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1229 : ( 0x8F == ((U8*)s)[0] ) ? \
1230 ( ( ( ( 0x73 == ((U8*)s)[1] ) && ( 0x8F == ((U8*)s)[2] ) ) && ( 0x73 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1231 : ( 0x91 == ((U8*)s)[0] ) ? \
1232 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x53 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1233 : ( 0xA2 == ((U8*)s)[0] ) ? \
1234 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
1235 : ( 0xA3 == ((U8*)s)[0] ) ? \
1236 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1237 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
1238 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1239 : ( 0xAB == ((U8*)s)[0] ) ? \
1240 ( ( ( 0x70 == ((U8*)s)[1] ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1241 : ( 0xB4 == ((U8*)s)[0] ) ? \
1242 ( ( 0x53 == ((U8*)s)[1] || 0x55 == ((U8*)s)[1] ) ? \
1243 ( ( ( 0xB4 == ((U8*)s)[2] ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1244 : ( 0x58 == ((U8*)s)[1] || 0x66 == ((U8*)s)[1] ) ? \
1245 ( ( 0xB1 == ((U8*)s)[2] ) ? \
1246 ( ( 0x43 == ((U8*)s)[3] ) ? \
1247 ( ( ( 0xB4 == ((U8*)s)[4] ) && ( 0x68 == ((U8*)s)[5] ) ) ? 6 : 4 )\
1249 : ( ( 0xB4 == ((U8*)s)[2] ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1250 : ( 0x68 == ((U8*)s)[1] ) ? \
1251 ( ( 0xAF == ((U8*)s)[2] ) ? \
1252 ( ( 0x49 == ((U8*)s)[3] ) ? \
1253 ( ( 0xAF == ((U8*)s)[4] ) ? \
1254 ( ( 0x41 == ((U8*)s)[5] || 0x42 == ((U8*)s)[5] ) ? 6 : 0 )\
1255 : ( ( 0xB1 == ((U8*)s)[4] ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 0 )\
1257 : ( ( 0xB1 == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1259 : ( 0xB5 == ((U8*)s)[0] ) ? \
1260 ( ( 0x42 == ((U8*)s)[1] ) ? \
1261 ( ( ( 0xAF == ((U8*)s)[2] ) && ( 0x62 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1262 : ( 0x46 == ((U8*)s)[1] ) ? \
1263 ( ( 0xAF == ((U8*)s)[2] ) ? \
1264 ( ( 0x49 == ((U8*)s)[3] ) ? \
1265 ( ( 0xAF == ((U8*)s)[4] ) ? \
1266 ( ( 0x41 == ((U8*)s)[5] || 0x42 == ((U8*)s)[5] ) ? 6 : 0 )\
1267 : ( ( 0xB1 == ((U8*)s)[4] ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 0 )\
1268 : ( 0x62 == ((U8*)s)[3] ) ? \
1269 ( ( 0xAF == ((U8*)s)[4] ) ? \
1270 ( ( 0x41 == ((U8*)s)[5] || 0x42 == ((U8*)s)[5] ) ? 6 : 4 )\
1271 : ( ( 0xB1 == ((U8*)s)[4] ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 4 )\
1273 : ( ( 0xB1 == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1274 : ( 0x4A == ((U8*)s)[1] ) ? \
1275 ( ( 0xB1 == ((U8*)s)[2] ) ? \
1276 ( ( 0x43 == ((U8*)s)[3] ) ? \
1277 ( ( ( 0xB4 == ((U8*)s)[4] ) && ( 0x68 == ((U8*)s)[5] ) ) ? 6 : 4 )\
1279 : ( ( 0xB4 == ((U8*)s)[2] ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1280 : ( ( ( 0x55 == ((U8*)s)[1] ) && ( 0xB4 == ((U8*)s)[2] ) ) && ( 0x68 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1281 : ( 0xB8 == ((U8*)s)[0] ) ? \
1282 ( ( 0x52 == ((U8*)s)[1] ) ? \
1283 ( ( 0x46 == ((U8*)s)[2] ) ? \
1284 ( ( ( ( 0xB8 == ((U8*)s)[3] ) && ( 0x53 == ((U8*)s)[4] ) ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 0 )\
1285 : ( 0x63 == ((U8*)s)[2] ) ? \
1286 ( ( ( ( 0xB8 == ((U8*)s)[3] ) && ( 0x52 == ((U8*)s)[4] ) ) && ( 0x46 == ((U8*)s)[5] || 0x52 == ((U8*)s)[5] || 0x54 == ((U8*)s)[5] || 0x65 == ((U8*)s)[5] ) ) ? 6 : 0 )\
1287 : ( ( ( ( 0x72 == ((U8*)s)[2] ) && ( 0xB8 == ((U8*)s)[3] ) ) && ( 0x52 == ((U8*)s)[4] ) ) && ( 0x65 == ((U8*)s)[5] ) ) ? 6 : 0 )\
1289 : ( 0xBF == ((U8*)s)[0] ) ? \
1290 ( ( 0x67 == ((U8*)s)[1] || 0x68 == ((U8*)s)[1] ) ? \
1291 ( ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) && ( 0xB4 == ((U8*)s)[3] ) ) && ( 0x68 == ((U8*)s)[4] ) ) ? 5 : 0 )\
1292 : ( ( ( ( 0x6A == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) || 0x57 == ((U8*)s)[2] || 0x63 == ((U8*)s)[2] || 0x70 == ((U8*)s)[2] ) ) && ( 0xB4 == ((U8*)s)[3] ) ) && ( 0x68 == ((U8*)s)[4] ) ) ? 5 : 0 )\
1294 : ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )
1297 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
1299 ®charclass_multi_char_folds::multi_char_folds(0)
1301 /*** GENERATED CODE ***/
1302 #define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \
1304 ( ( ( ((U8*)s)[0] & 0xBF ) == 0x86 ) ? \
1305 ( ( ( ((U8*)s)[1] & 0xBF ) == 0x86 ) ? \
1306 ( ( ( ( ((U8*)s)[2] & 0xBF ) == 0x89 ) || ( ( ((U8*)s)[2] & 0xBF ) == 0x93 ) ) ? 3 : 2 )\
1307 : ( ( ( ((U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\
1308 : ( ( ( ((U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\
1310 ( ( ( ((U8*)s)[0] & 0xBF ) == 0x86 ) ? \
1311 ( ( ( ( ((U8*)s)[1] & 0xBF ) == 0x86 ) || ( ( ((U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\
1312 : ( ( ( ((U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\
1316 FOLDS_TO_MULTI: characters that fold to multi-char strings
1318 \p{_Perl_Folds_To_Multi_Char}
1320 /*** GENERATED CODE ***/
1321 #define is_FOLDS_TO_MULTI_utf8(s) \
1322 ( ( 0x8A == ((U8*)s)[0] ) ? \
1323 ( ( 0x73 == ((U8*)s)[1] ) ? 2 : 0 ) \
1324 : ( 0x8D == ((U8*)s)[0] || 0x9C == ((U8*)s)[0] || ( 0xB3 == ((U8*)s)[0] || 0xB4 == ((U8*)s)[0] ) ) ?\
1325 ( ( 0x57 == ((U8*)s)[1] ) ? 2 : 0 ) \
1326 : ( 0x8E == ((U8*)s)[0] ) ? \
1327 ( ( 0x4A == ((U8*)s)[1] ) ? 2 : 0 ) \
1328 : ( 0xB8 == ((U8*)s)[0] ) ? \
1329 ( ( ( 0x53 == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1330 : ( 0xBF == ((U8*)s)[0] ) ? \
1331 ( ( 0x63 == ((U8*)s)[1] ) ? \
1332 ( ( ( 0x65 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x69 ) || 0x72 == ((U8*)s)[2] ) ? 3 : 0 )\
1333 : ( 0x69 == ((U8*)s)[1] ) ? \
1334 ( ( 0x57 == ((U8*)s)[2] || 0x59 == ((U8*)s)[2] || 0x63 == ((U8*)s)[2] || 0x65 == ((U8*)s)[2] ) ? 3 : 0 )\
1335 : ( 0x70 == ((U8*)s)[1] ) ? \
1336 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFC ) == 0x70 ) ? 3 : 0 )\
1337 : ( 0x71 == ((U8*)s)[1] ) ? \
1338 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x56 ) || 0x59 == ((U8*)s)[2] || ( ((U8*)s)[2] & 0xFE ) == 0x62 || ( 0x65 == ((U8*)s)[2] || 0x66 == ((U8*)s)[2] ) || 0x70 == ((U8*)s)[2] ) ? 3 : 0 )\
1339 : ( 0x72 == ((U8*)s)[1] ) ? \
1340 ( ( ( ( ((U8*)s)[2] & 0xFB ) == 0x43 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x44 ) || ((U8*)s)[2] == 0x48 || ((U8*)s)[2] == 0x53 || ((U8*)s)[2] == 0x59 || ( ( ((U8*)s)[2] & 0xFB ) == 0x62 ) || ((U8*)s)[2] == 0x65 ) ? 3 : 0 )\
1341 : ( ( 0x73 == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xFB ) == 0x43 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x44 ) || ((U8*)s)[2] == 0x48 || ((U8*)s)[2] == 0x59 || ( ( ((U8*)s)[2] & 0xFE ) == 0x62 ) || ((U8*)s)[2] == 0x65 || ((U8*)s)[2] == 0x66 || ((U8*)s)[2] == 0x70 ) ) ? 3 : 0 )\
1342 : ( ( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x72 == ((U8*)s)[1] ) ) && ( 0x67 == ((U8*)s)[2] ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x66 ) ) ) ? 4 : 0 )
1345 PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale
1347 \p{_Perl_Problematic_Locale_Folds}
1349 /*** GENERATED CODE ***/
1350 #define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \
1351 ( ( ( ( ((U8*)s)[0] & 0xC0 ) == 0x00 ) || ( ( ((U8*)s)[0] & 0xEF ) == 0x40 ) || ( ( ((U8*)s)[0] & 0xDF ) == 0x4B ) || ( ( ((U8*)s)[0] & 0xCC ) == 0x4C ) || ( ( ((U8*)s)[0] & 0xDE ) == 0x5A ) || ( ( ((U8*)s)[0] & 0xFE ) == 0x60 ) || ((U8*)s)[0] == 0x79 || ( ( ((U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x82 ) || ( ( ((U8*)s)[0] & 0xEC ) == 0x84 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x88 ) || ((U8*)s)[0] == 0xA1 || ( ( ((U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((U8*)s)[0] & 0xBC ) == 0xA4 ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xA8 ) || ( ( ((U8*)s)[0] & 0xEF ) == 0xAD ) || ( ( ((U8*)s)[0] & 0xE8 ) == 0xC0 ) || ( ( ((U8*)s)[0] & 0xCE ) == 0xC8 ) || ((U8*)s)[0] == 0xE0 || ( ( ((U8*)s)[0] & 0xF8 ) == 0xF0 ) || ((U8*)s)[0] == 0xFF ) ? 1\
1352 : ( 0x80 == ((U8*)s)[0] || ( ((U8*)s)[0] & 0xFE ) == 0x8A ) ? \
1353 ( ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( ((U8*)s)[1] & 0xFC ) == 0x70 ) ? 2 : 0 )\
1354 : ( 0x8D == ((U8*)s)[0] || 0x9C == ((U8*)s)[0] ) ? \
1355 ( ( 0x57 == ((U8*)s)[1] ) ? 2 : 0 ) \
1356 : ( 0x8E == ((U8*)s)[0] ) ? \
1357 ( ( 0x4A == ((U8*)s)[1] ) ? 2 : 0 ) \
1358 : ( 0x8F == ((U8*)s)[0] ) ? \
1359 ( ( 0x67 == ((U8*)s)[1] || 0x73 == ((U8*)s)[1] ) ? 2 : 0 ) \
1360 : ( 0xB3 == ((U8*)s)[0] || 0xB4 == ((U8*)s)[0] ) ? \
1361 ( ( 0x70 == ((U8*)s)[1] ) ? 2 : 0 ) \
1362 : ( 0xBF == ((U8*)s)[0] ) ? \
1363 ( ( ( 0x63 == ((U8*)s)[1] ) && ( ( 0x65 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x69 ) || 0x72 == ((U8*)s)[2] ) ) ? 3 : 0 )\
1364 : ( 0xCA == ((U8*)s)[0] ) ? \
1365 ( ( ( 0x4A == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] || 0x52 == ((U8*)s)[2] ) ) ? 3 : 0 )\
1366 : ( ( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x72 == ((U8*)s)[1] ) ) && ( 0x67 == ((U8*)s)[2] ) ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 )
1368 /*** GENERATED CODE ***/
1369 #define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \
1370 ( cp <= 0xFF || ( 0xFF < cp && \
1371 ( 0x130 == cp || ( 0x130 < cp && \
1372 ( 0x149 == cp || ( 0x149 < cp && \
1373 ( 0x178 == cp || ( 0x178 < cp && \
1374 ( 0x17F == cp || ( 0x17F < cp && \
1375 ( 0x1F0 == cp || ( 0x1F0 < cp && \
1376 ( 0x39C == cp || ( 0x39C < cp && \
1377 ( 0x3BC == cp || ( 0x3BC < cp && \
1378 ( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
1379 ( 0x1E9E == cp || ( 0x1E9E < cp && \
1380 ( 0x212A == cp || ( 0x212A < cp && \
1381 ( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
1384 PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale
1386 \p{_Perl_Problematic_Locale_Foldeds_Start}
1388 /*** GENERATED CODE ***/
1389 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \
1390 ( ( ( ( ((U8*)s)[0] & 0xC0 ) == 0x00 ) || ( ( ((U8*)s)[0] & 0xEF ) == 0x40 ) || ( ( ((U8*)s)[0] & 0xDF ) == 0x4B ) || ( ( ((U8*)s)[0] & 0xCC ) == 0x4C ) || ( ( ((U8*)s)[0] & 0xDE ) == 0x5A ) || ( ( ((U8*)s)[0] & 0xFE ) == 0x60 ) || ((U8*)s)[0] == 0x79 || ( ( ((U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x82 ) || ( ( ((U8*)s)[0] & 0xEC ) == 0x84 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x88 ) || ((U8*)s)[0] == 0xA1 || ( ( ((U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((U8*)s)[0] & 0xBC ) == 0xA4 ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xA8 ) || ( ( ((U8*)s)[0] & 0xEF ) == 0xAD ) || ( ( ((U8*)s)[0] & 0xE8 ) == 0xC0 ) || ( ( ((U8*)s)[0] & 0xCE ) == 0xC8 ) || ((U8*)s)[0] == 0xE0 || ( ( ((U8*)s)[0] & 0xF8 ) == 0xF0 ) || ((U8*)s)[0] == 0xFF ) ? 1\
1391 : ( 0x80 == ((U8*)s)[0] || ( ((U8*)s)[0] & 0xFE ) == 0x8A ) ? \
1392 ( ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( ((U8*)s)[1] & 0xFC ) == 0x70 ) ? 2 : 0 )\
1393 : ( 0x8D == ((U8*)s)[0] || 0x9C == ((U8*)s)[0] ) ? \
1394 ( ( 0x57 == ((U8*)s)[1] ) ? 2 : 0 ) \
1395 : ( 0x8E == ((U8*)s)[0] ) ? \
1396 ( ( 0x4A == ((U8*)s)[1] ) ? 2 : 0 ) \
1397 : ( 0x8F == ((U8*)s)[0] ) ? \
1398 ( ( 0x67 == ((U8*)s)[1] || 0x73 == ((U8*)s)[1] ) ? 2 : 0 ) \
1399 : ( 0xAB == ((U8*)s)[0] || ( 0xB3 == ((U8*)s)[0] || 0xB4 == ((U8*)s)[0] ) ) ?\
1400 ( ( 0x70 == ((U8*)s)[1] ) ? 2 : 0 ) \
1401 : ( 0xBF == ((U8*)s)[0] ) ? \
1402 ( ( ( 0x63 == ((U8*)s)[1] ) && ( ( 0x65 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x69 ) || 0x72 == ((U8*)s)[2] ) ) ? 3 : 0 )\
1403 : ( 0xCA == ((U8*)s)[0] ) ? \
1404 ( ( ( 0x4A == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] || 0x52 == ((U8*)s)[2] ) ) ? 3 : 0 )\
1405 : ( ( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x72 == ((U8*)s)[1] ) ) && ( 0x67 == ((U8*)s)[2] ) ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 )
1407 /*** GENERATED CODE ***/
1408 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \
1409 ( cp <= 0xFF || ( 0xFF < cp && \
1410 ( 0x130 == cp || ( 0x130 < cp && \
1411 ( 0x149 == cp || ( 0x149 < cp && \
1412 ( 0x178 == cp || ( 0x178 < cp && \
1413 ( 0x17F == cp || ( 0x17F < cp && \
1414 ( 0x1F0 == cp || ( 0x1F0 < cp && \
1415 ( 0x2BC == cp || ( 0x2BC < cp && \
1416 ( 0x39C == cp || ( 0x39C < cp && \
1417 ( 0x3BC == cp || ( 0x3BC < cp && \
1418 ( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
1419 ( 0x1E9E == cp || ( 0x1E9E < cp && \
1420 ( 0x212A == cp || ( 0x212A < cp && \
1421 ( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
1424 PATWS: pattern white space
1428 /*** GENERATED CODE ***/
1429 #define is_PATWS_safe(s,e,is_utf8) \
1430 ( ( LIKELY((e) > (s)) ) ? \
1431 ( ( ( ( ((U8*)s)[0] & 0xEF ) == 0x05 ) || ((U8*)s)[0] == 0x0B || ( ( ((U8*)s)[0] & 0xFE ) == 0x0C ) || ((U8*)s)[0] == 0x25 || ((U8*)s)[0] == 0x40 ) ? 1\
1432 : ( ( is_utf8 && LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) && ( 0xCA == ((U8*)s)[0] ) ) ? ( ( 0x41 == ((U8*)s)[1] ) ?\
1433 ( ( 0x55 == ((U8*)s)[2] || 0x56 == ((U8*)s)[2] ) ? 3 : 0 )\
1434 : ( ( 0x42 == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) ) ? 3 : 0 ) : 0 )\
1437 /*** GENERATED CODE ***/
1438 #define is_PATWS_cp(cp) \
1439 ( 0x05 == cp || ( 0x05 < cp && \
1440 ( ( 0x0B <= cp && cp <= 0x0D ) || ( 0x0D < cp && \
1441 ( 0x15 == cp || ( 0x15 < cp && \
1442 ( 0x25 == cp || ( 0x25 < cp && \
1443 ( 0x40 == cp || ( 0x40 < cp && \
1444 ( 0x200E == cp || ( 0x200E < cp && \
1445 ( 0x200F == cp || ( 0x200F < cp && \
1446 ( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
1448 #endif /* EBCDIC 1047 */
1450 #if 'A' == 193 /* EBCDIC 037 */ \
1451 && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
1452 && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
1453 && '$' == 91 && '@' == 124 && '`' == 121
1455 LNBREAK: Line Break: \R
1457 "\x0D\x0A" # CRLF - Network (Windows) line ending
1460 /*** GENERATED CODE ***/
1461 #define is_LNBREAK_safe(s,e,is_utf8) \
1463 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
1464 : ( 0x0D == ((U8*)s)[0] ) ? \
1465 ( ( 0x25 == ((U8*)s)[1] ) ? 2 : 1 ) \
1466 : ( ( ( ( is_utf8 ) && ( 0xCA == ((U8*)s)[0] ) ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) ) ? 3 : 0 )\
1468 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
1469 : ( 0x0D == ((U8*)s)[0] ) ? \
1470 ( ( 0x25 == ((U8*)s)[1] ) ? 2 : 1 ) \
1473 ( ( 0x0B <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] )\
1476 /*** GENERATED CODE ***/
1477 #define is_LNBREAK_utf8_safe(s,e) \
1479 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
1480 : ( 0x0D == ((U8*)s)[0] ) ? \
1481 ( ( 0x25 == ((U8*)s)[1] ) ? 2 : 1 ) \
1482 : ( ( ( 0xCA == ((U8*)s)[0] ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) ) ? 3 : 0 )\
1484 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
1485 : ( 0x0D == ((U8*)s)[0] ) ? \
1486 ( ( 0x25 == ((U8*)s)[1] ) ? 2 : 1 ) \
1489 ( ( 0x0B <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] )\
1492 /*** GENERATED CODE ***/
1493 #define is_LNBREAK_latin1_safe(s,e) \
1495 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
1496 : ( 0x0D == ((U8*)s)[0] ) ? \
1497 ( ( 0x25 == ((U8*)s)[1] ) ? 2 : 1 ) \
1500 ( ( 0x0B <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] )\
1504 HORIZWS: Horizontal Whitespace: \h \H
1508 /*** GENERATED CODE ***/
1509 #define is_HORIZWS_high(s) \
1510 ( ( 0xBD == ((U8*)s)[0] ) ? \
1511 ( ( ( 0x62 == ((U8*)s)[1] ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1512 : ( 0xCA == ((U8*)s)[0] ) ? \
1513 ( ( 0x41 == ((U8*)s)[1] ) ? \
1514 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || 0x51 == ((U8*)s)[2] ) ? 3 : 0 )\
1515 : ( 0x42 == ((U8*)s)[1] ) ? \
1516 ( ( 0x56 == ((U8*)s)[2] ) ? 3 : 0 ) \
1517 : ( ( 0x43 == ((U8*)s)[1] ) && ( 0x72 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1518 : ( ( ( 0xCE == ((U8*)s)[0] ) && ( 0x41 == ((U8*)s)[1] ) ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 )
1520 /*** GENERATED CODE ***/
1521 #define is_HORIZWS_cp_high(cp) \
1522 ( 0x1680 == cp || ( 0x1680 < cp && \
1523 ( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
1524 ( 0x202F == cp || ( 0x202F < cp && \
1525 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) )
1528 VERTWS: Vertical Whitespace: \v \V
1532 /*** GENERATED CODE ***/
1533 #define is_VERTWS_high(s) \
1534 ( ( ( ( 0xCA == ((U8*)s)[0] ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) ) ? 3 : 0 )
1536 /*** GENERATED CODE ***/
1537 #define is_VERTWS_cp_high(cp) \
1538 ( 0x2028 == cp || 0x2029 == cp )
1541 XDIGIT: Hexadecimal digits
1545 /*** GENERATED CODE ***/
1546 #define is_XDIGIT_high(s) \
1547 ( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x72 == ((U8*)s)[1] ) ) ? ( ( 0x66 == ((U8*)s)[2] ) ?\
1548 ( ( ( ( ((U8*)s)[3] & 0xF7 ) == 0x57 ) || ( ( ((U8*)s)[3] & 0xFE ) == 0x58 ) || ( ( ((U8*)s)[3] & 0xFE ) == 0x62 ) || ( ( ((U8*)s)[3] & 0xFC ) == 0x64 ) ) ? 4 : 0 )\
1549 : ( ( 0x67 == ((U8*)s)[2] || 0x68 == ((U8*)s)[2] ) && ( 0x42 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 ) : 0 )
1551 /*** GENERATED CODE ***/
1552 #define is_XDIGIT_cp_high(cp) \
1553 ( ( 0xFF10 <= cp && cp <= 0xFF19 ) || ( 0xFF19 < cp && \
1554 ( ( 0xFF21 <= cp && cp <= 0xFF26 ) || ( 0xFF41 <= cp && cp <= 0xFF46 ) ) ) )
1557 XPERLSPACE: \p{XPerlSpace}
1561 /*** GENERATED CODE ***/
1562 #define is_XPERLSPACE_high(s) \
1563 ( ( 0xBD == ((U8*)s)[0] ) ? \
1564 ( ( ( 0x62 == ((U8*)s)[1] ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1565 : ( 0xCA == ((U8*)s)[0] ) ? \
1566 ( ( 0x41 == ((U8*)s)[1] ) ? \
1567 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || 0x51 == ((U8*)s)[2] ) ? 3 : 0 )\
1568 : ( 0x42 == ((U8*)s)[1] ) ? \
1569 ( ( ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) || 0x56 == ((U8*)s)[2] ) ? 3 : 0 )\
1570 : ( ( 0x43 == ((U8*)s)[1] ) && ( 0x72 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1571 : ( ( ( 0xCE == ((U8*)s)[0] ) && ( 0x41 == ((U8*)s)[1] ) ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 )
1573 /*** GENERATED CODE ***/
1574 #define is_XPERLSPACE_cp_high(cp) \
1575 ( 0x1680 == cp || ( 0x1680 < cp && \
1576 ( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
1577 ( 0x2028 == cp || ( 0x2028 < cp && \
1578 ( 0x2029 == cp || ( 0x2029 < cp && \
1579 ( 0x202F == cp || ( 0x202F < cp && \
1580 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) )
1583 REPLACEMENT: Unicode REPLACEMENT CHARACTER
1587 /*** GENERATED CODE ***/
1588 #define is_REPLACEMENT_utf8_safe(s,e) \
1589 ( ( ( ( ( ( ((e) - (s)) >= 4 ) && ( 0xDD == ((U8*)s)[0] ) ) && ( 0x72 == ((U8*)s)[1] ) ) && ( 0x72 == ((U8*)s)[2] ) ) && ( 0x70 == ((U8*)s)[3] ) ) ? 4 : 0 )
1592 NONCHAR: Non character code points
1596 /*** GENERATED CODE ***/
1597 #define is_NONCHAR_utf8(s) \
1598 ( ( 0xDD == ((U8*)s)[0] ) ? \
1599 ( ( 0x72 == ((U8*)s)[1] ) ? \
1600 ( ( 0x55 == ((U8*)s)[2] ) ? \
1601 ( ( ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ? 4 : 0 )\
1602 : ( 0x56 == ((U8*)s)[2] ) ? \
1603 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x56 ) ) ? 4 : 0 )\
1604 : ( ( 0x72 == ((U8*)s)[2] ) && ( 0x71 == ((U8*)s)[3] || 0x72 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1606 : ( 0xDF == ((U8*)s)[0] || 0xEA == ((U8*)s)[0] || 0xEC == ((U8*)s)[0] ) ? \
1607 ( ( ( ( 0x72 == ((U8*)s)[1] ) && ( 0x72 == ((U8*)s)[2] ) ) && ( 0x71 == ((U8*)s)[3] || 0x72 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1608 : ( 0xED == ((U8*)s)[0] ) ? \
1609 ( ( ( ( ( ((U8*)s)[1] == 0x4A || ((U8*)s)[1] == 0x52 || ( ( ((U8*)s)[1] & 0xFD ) == 0x54 ) || ((U8*)s)[1] == 0x58 || ((U8*)s)[1] == 0x5F || ((U8*)s)[1] == 0x63 || ( ( ((U8*)s)[1] & 0xFD ) == 0x65 ) || ((U8*)s)[1] == 0x69 || ( ( ((U8*)s)[1] & 0xFD ) == 0x70 ) ) && ( 0x72 == ((U8*)s)[2] ) ) && ( 0x72 == ((U8*)s)[3] ) ) && ( 0x71 == ((U8*)s)[4] || 0x72 == ((U8*)s)[4] ) ) ? 5 : 0 )\
1610 : ( ( ( ( ( 0xEE == ((U8*)s)[0] ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x72 == ((U8*)s)[2] ) ) && ( 0x72 == ((U8*)s)[3] ) ) && ( 0x71 == ((U8*)s)[4] || 0x72 == ((U8*)s)[4] ) ) ? 5 : 0 )
1613 SURROGATE: Surrogate characters
1617 /*** GENERATED CODE ***/
1618 #define is_SURROGATE_utf8(s) \
1619 ( ( ( ( ( 0xDD == ((U8*)s)[0] ) && ( ( ((U8*)s)[1] & 0xFE ) == 0x64 ) ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )
1622 GCB_L: Grapheme_Cluster_Break=L
1626 /*** GENERATED CODE ***/
1627 #define is_GCB_L_utf8(s) \
1628 ( ( 0xBC == ((U8*)s)[0] ) ? \
1629 ( ( ( ( 0x49 == ((U8*)s)[1] || 0x4A == ((U8*)s)[1] ) || 0x51 == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ) ? 3 : 0 )\
1630 : ( ( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x51 == ((U8*)s)[1] ) ) && ( 0x52 == ((U8*)s)[2] ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) ) ) ? 4 : 0 )
1633 GCB_LV_LVT_V: Grapheme_Cluster_Break=(LV or LVT or V)
1637 /*** GENERATED CODE ***/
1638 #define is_GCB_LV_LVT_V_utf8(s) \
1639 ( ( 0xBC == ((U8*)s)[0] ) ? \
1640 ( ( ( ((U8*)s)[1] & 0xFE ) == 0x52 ) ? \
1641 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ? 3 : 0 )\
1642 : ( ( 0x54 == ((U8*)s)[1] ) && ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) ) ? 3 : 0 )\
1643 : ( 0xDD == ((U8*)s)[0] ) ? \
1644 ( ( ( 0x52 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || 0x5F == ((U8*)s)[1] || 0x62 == ((U8*)s)[1] ) ?\
1645 ( ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )\
1646 : ( 0x63 == ((U8*)s)[1] ) ? \
1647 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) ) ?\
1648 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ? 4 : 0 )\
1649 : ( 0x70 == ((U8*)s)[2] ) ? \
1650 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x44 ) || ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ? 4 : 0 )\
1651 : ( ( 0x71 == ((U8*)s)[2] ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 )\
1656 GCB_Prepend: Grapheme_Cluster_Break=Prepend
1660 /*** GENERATED CODE ***/
1661 #define is_GCB_Prepend_utf8(s) \
1665 GCB_RI: Grapheme_Cluster_Break=RI
1669 /*** GENERATED CODE ***/
1670 #define is_GCB_RI_utf8(s) \
1671 ( ( ( ( ( 0xDF == ((U8*)s)[0] ) && ( 0x6A == ((U8*)s)[1] ) ) && ( 0x56 == ((U8*)s)[2] ) ) && ( ( 0x47 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )
1674 GCB_SPECIAL_BEGIN_START: Grapheme_Cluster_Break=special_begin_starts
1676 \p{_X_Special_Begin_Start}
1678 /*** GENERATED CODE ***/
1679 #define is_GCB_SPECIAL_BEGIN_START_utf8(s) \
1680 ( ( 0xBC == ((U8*)s)[0] ) ? \
1681 ( ( ( ( 0x49 == ((U8*)s)[1] || 0x4A == ((U8*)s)[1] ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x56 ) ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ) ? 3 : 0 )\
1682 : ( 0xDD == ((U8*)s)[0] ) ? \
1683 ( ( 0x51 == ((U8*)s)[1] ) ? \
1684 ( ( ( 0x52 == ((U8*)s)[2] ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) ) ) ? 4 : 0 )\
1685 : ( ( 0x52 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || 0x5F == ((U8*)s)[1] || 0x62 == ((U8*)s)[1] ) ?\
1686 ( ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )\
1687 : ( 0x63 == ((U8*)s)[1] ) ? \
1688 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) ) ?\
1689 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ? 4 : 0 )\
1690 : ( 0x70 == ((U8*)s)[2] ) ? \
1691 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x44 ) || ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ? 4 : 0 )\
1692 : ( 0x71 == ((U8*)s)[2] ) ? \
1693 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) || ( 0x52 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ? 4 : 0 )\
1694 : ( ( 0x72 == ((U8*)s)[2] ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) ) ) ? 4 : 0 )\
1696 : ( ( ( ( 0xDF == ((U8*)s)[0] ) && ( 0x6A == ((U8*)s)[1] ) ) && ( 0x56 == ((U8*)s)[2] ) ) && ( ( 0x47 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )
1699 GCB_T: Grapheme_Cluster_Break=T
1703 /*** GENERATED CODE ***/
1704 #define is_GCB_T_utf8(s) \
1705 ( ( 0xBC == ((U8*)s)[0] ) ? \
1706 ( ( 0x54 == ((U8*)s)[1] ) ? \
1707 ( ( ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ? 3 : 0 )\
1708 : ( ( 0x55 == ((U8*)s)[1] || 0x56 == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ) ? 3 : 0 )\
1709 : ( ( 0xDD == ((U8*)s)[0] ) && ( 0x63 == ((U8*)s)[1] ) ) ? ( ( 0x71 == ((U8*)s)[2] ) ?\
1710 ( ( ( 0x52 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ? 4 : 0 )\
1711 : ( ( 0x72 == ((U8*)s)[2] ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) ) ) ? 4 : 0 ) : 0 )
1714 GCB_V: Grapheme_Cluster_Break=V
1718 /*** GENERATED CODE ***/
1719 #define is_GCB_V_utf8(s) \
1720 ( ( 0xBC == ((U8*)s)[0] ) ? \
1721 ( ( ( ((U8*)s)[1] & 0xFE ) == 0x52 ) ? \
1722 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ? 3 : 0 )\
1723 : ( ( 0x54 == ((U8*)s)[1] ) && ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) ) ? 3 : 0 )\
1724 : ( ( 0xDD == ((U8*)s)[0] ) && ( 0x63 == ((U8*)s)[1] ) ) ? ( ( 0x70 == ((U8*)s)[2] ) ?\
1725 ( ( ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ? 4 : 0 )\
1726 : ( ( 0x71 == ((U8*)s)[2] ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 ) : 0 )
1729 UTF8_CHAR: Matches legal UTF-EBCDIC encoded characters from 2 through 3 bytes
1733 /*** GENERATED CODE ***/
1734 #define is_UTF8_CHAR_utf8_no_length_checks(s) \
1735 ( ( 0x78 == ((U8*)s)[0] || 0x80 == ((U8*)s)[0] || ( 0x8A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x90 ) || ( 0x9A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xA0 ) || ( 0xAA <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xAF ) || ( 0xB1 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xB5 ) ) ?\
1736 ( ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || 0x5F == ((U8*)s)[1] || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x72 ) ) ? 2 : 0 )\
1737 : ( ( ( ((U8*)s)[0] == 0xB7 || ( ( ((U8*)s)[0] & 0xFE ) == 0xB8 ) || ( ( ((U8*)s)[0] & 0xFC ) == 0xBC ) || ( ( ((U8*)s)[0] & 0xEE ) == 0xCA ) || ( ( ((U8*)s)[0] & 0xFC ) == 0xCC ) ) && ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || 0x5F == ((U8*)s)[1] || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x72 ) ) ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ) ? 3 : 0 )
1740 QUOTEMETA: Meta-characters that \Q should quote
1744 /*** GENERATED CODE ***/
1745 #define is_QUOTEMETA_high_part0(s) \
1746 ( ( ( 0x57 == ((U8*)s)[1] ) && ( 0x6A == ((U8*)s)[2] ) ) ? 3 : 0 )
1749 /*** GENERATED CODE ***/
1750 #define is_QUOTEMETA_high_part1(s) \
1751 ( ( 0xBC == ((U8*)s)[0] ) ? \
1752 ( ( 0x51 == ((U8*)s)[1] ) ? \
1753 ( ( 0x72 == ((U8*)s)[2] ) ? 3 : 0 ) \
1754 : ( ( 0x52 == ((U8*)s)[1] ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1755 : ( 0xBD == ((U8*)s)[0] ) ? \
1756 ( ( 0x62 == ((U8*)s)[1] ) ? \
1757 ( ( 0x41 == ((U8*)s)[2] ) ? 3 : 0 ) \
1758 : ( ( 0x70 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x62 ) ) ? 3 : 0 )\
1759 : ( 0xBE == ((U8*)s)[0] ) ? \
1760 ( ( ( 0x41 == ((U8*)s)[1] ) && ( 0x52 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x55 ) ) ? 3 : 0 )\
1761 : ( 0xCA == ((U8*)s)[0] ) ? \
1762 ( ( 0x41 == ((U8*)s)[1] || ( 0x54 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || 0x5F == ((U8*)s)[1] || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x72 ) ) ?\
1763 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ? 3 : 0 )\
1764 : ( 0x42 == ((U8*)s)[1] ) ? \
1765 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( ((U8*)s)[2] & 0xFE ) == 0x70 ) ? 3 : 0 )\
1766 : ( 0x43 == ((U8*)s)[1] ) ? \
1767 ( ( ( 0x42 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x63 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ? 3 : 0 )\
1768 : ( 0x44 == ((U8*)s)[1] ) ? \
1769 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x56 ) ) ? 3 : 0 )\
1770 : ( ( 0x53 == ((U8*)s)[1] ) && ( ( 0x57 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ) ? 3 : 0 )\
1771 : ( 0xCB == ((U8*)s)[0] ) ? \
1772 ( ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x43 ) || ( 0x49 == ((U8*)s)[1] || 0x4A == ((U8*)s)[1] ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || 0x5F == ((U8*)s)[1] || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x68 ) || ( 0x70 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x72 ) ) ?\
1773 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ? 3 : 0 )\
1774 : ( 0x69 == ((U8*)s)[1] ) ? \
1775 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( ((U8*)s)[2] & 0xFE ) == 0x62 ) ? 3 : 0 )\
1776 : ( ( 0x6A == ((U8*)s)[1] ) && ( ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ) ? 3 : 0 )\
1777 : ( 0xCC == ((U8*)s)[0] ) ? \
1778 ( ( ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || 0x5F == ((U8*)s)[1] || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x72 ) ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ) ? 3 : 0 )\
1779 : ( 0xCD == ((U8*)s)[0] ) ? \
1780 ( ( ( ( ( ((U8*)s)[1] & 0xF7 ) == 0x57 ) || ( ( ((U8*)s)[1] & 0xFE ) == 0x58 ) ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ) ? 3 : 0 )\
1781 : ( 0xCE == ((U8*)s)[0] ) ? \
1782 ( ( 0x41 == ((U8*)s)[1] ) ? \
1783 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x44 ) || ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ? 3 : 0 )\
1784 : ( 0x42 == ((U8*)s)[1] ) ? \
1785 ( ( 0x41 == ((U8*)s)[2] || 0x57 == ((U8*)s)[2] ) ? 3 : 0 ) \
1786 : ( ( 0x52 == ((U8*)s)[1] ) && ( 0x45 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1787 : ( 0xDD == ((U8*)s)[0] ) ? \
1788 ( ( 0x72 == ((U8*)s)[1] ) ? \
1789 ( ( 0x4A == ((U8*)s)[2] ) ? \
1790 ( ( 0x71 == ((U8*)s)[3] || 0x72 == ((U8*)s)[3] ) ? 4 : 0 ) \
1791 : ( 0x57 == ((U8*)s)[2] ) ? \
1792 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x56 ) ) ? 4 : 0 )\
1793 : ( 0x59 == ((U8*)s)[2] ) ? \
1794 ( ( ( ((U8*)s)[3] & 0xFE ) == 0x46 ) ? 4 : 0 ) \
1795 : ( 0x65 == ((U8*)s)[2] ) ? \
1796 ( ( 0x72 == ((U8*)s)[3] ) ? 4 : 0 ) \
1797 : ( 0x70 == ((U8*)s)[2] ) ? \
1798 ( ( 0x41 == ((U8*)s)[3] ) ? 4 : 0 ) \
1799 : ( ( 0x72 == ((U8*)s)[2] ) && ( ( 0x57 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x66 ) ) ) ? 4 : 0 )\
1801 : ( 0xDF == ((U8*)s)[0] ) ? \
1802 ( ( ( ( 0x62 == ((U8*)s)[1] ) && ( 0x52 == ((U8*)s)[2] ) ) && ( 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x68 ) ) ) ? 4 : 0 )\
1803 : ( ( ( ( ( 0xED == ((U8*)s)[0] ) && ( 0x6A == ((U8*)s)[1] ) ) && ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x44 ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x4A ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x6A ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ) && ( ( 0x41 <= ((U8*)s)[4] && ((U8*)s)[4] <= 0x4A ) || ( 0x51 <= ((U8*)s)[4] && ((U8*)s)[4] <= 0x59 ) || 0x5F == ((U8*)s)[4] || ( 0x62 <= ((U8*)s)[4] && ((U8*)s)[4] <= 0x6A ) || ( 0x70 <= ((U8*)s)[4] && ((U8*)s)[4] <= 0x72 ) ) ) ? 5 : 0 )
1806 /*** GENERATED CODE ***/
1807 #define is_QUOTEMETA_high(s) \
1808 ( ( 0xAF == ((U8*)s)[0] ) ? \
1809 ( ( 0x56 == ((U8*)s)[1] ) ? 2 : 0 ) \
1810 : ( 0xB7 == ((U8*)s)[0] ) ? is_QUOTEMETA_high_part0(s) : is_QUOTEMETA_high_part1(s) )
1813 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
1815 ®charclass_multi_char_folds::multi_char_folds(1)
1817 /*** GENERATED CODE ***/
1818 #define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \
1819 ( ( 0x81 == ((U8*)s)[0] ) ? \
1820 ( ( ( 0xAA == ((U8*)s)[1] ) && ( 0x71 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1821 : ( 0x86 == ((U8*)s)[0] ) ? \
1822 ( ( 0x86 == ((U8*)s)[1] ) ? \
1823 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
1824 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
1825 : ( 0x88 == ((U8*)s)[0] ) ? \
1826 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x58 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1827 : ( 0x89 == ((U8*)s)[0] ) ? \
1828 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1829 : ( 0x8E == ((U8*)s)[0] ) ? \
1830 ( ( ( ( 0x72 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) && ( 0x72 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1831 : ( 0x91 == ((U8*)s)[0] ) ? \
1832 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x53 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1833 : ( 0xA2 == ((U8*)s)[0] ) ? \
1834 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
1835 : ( 0xA3 == ((U8*)s)[0] ) ? \
1836 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1837 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
1838 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1839 : ( 0xAA == ((U8*)s)[0] ) ? \
1840 ( ( ( 0x6A == ((U8*)s)[1] ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1841 : ( 0xB3 == ((U8*)s)[0] ) ? \
1842 ( ( 0x53 == ((U8*)s)[1] || 0x55 == ((U8*)s)[1] ) ? \
1843 ( ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1844 : ( 0x58 == ((U8*)s)[1] || 0x65 == ((U8*)s)[1] ) ? \
1845 ( ( 0xAF == ((U8*)s)[2] ) ? \
1846 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
1847 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1848 : ( ( ( 0x67 == ((U8*)s)[1] ) && ( 0xAF == ((U8*)s)[2] ) ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1849 : ( 0xB4 == ((U8*)s)[0] ) ? \
1850 ( ( 0x42 == ((U8*)s)[1] ) ? \
1851 ( ( ( 0xAD == ((U8*)s)[2] ) && ( 0x5F == ((U8*)s)[3] ) ) ? 4 : 0 )\
1852 : ( 0x46 == ((U8*)s)[1] ) ? \
1853 ( ( 0xAD == ((U8*)s)[2] ) ? \
1854 ( ( 0x5F == ((U8*)s)[3] ) ? 4 : 0 ) \
1855 : ( ( 0xAF == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1856 : ( 0x4A == ((U8*)s)[1] ) ? \
1857 ( ( 0xAF == ((U8*)s)[2] ) ? \
1858 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
1859 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1860 : ( ( ( 0x55 == ((U8*)s)[1] ) && ( 0xB3 == ((U8*)s)[2] ) ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1861 : ( 0xBF == ((U8*)s)[0] ) ? \
1862 ( ( ( ((U8*)s)[1] & 0xFE ) == 0x66 ) ? \
1863 ( ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) && ( 0xB3 == ((U8*)s)[3] ) ) && ( 0x67 == ((U8*)s)[4] ) ) ? 5 : 0 )\
1864 : ( ( ( ( 0x69 == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) || 0x57 == ((U8*)s)[2] || 0x62 == ((U8*)s)[2] || 0x6A == ((U8*)s)[2] ) ) && ( 0xB3 == ((U8*)s)[3] ) ) && ( 0x67 == ((U8*)s)[4] ) ) ? 5 : 0 )\
1868 /*** GENERATED CODE ***/
1869 #define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) \
1871 ( ( 0x81 == ((U8*)s)[0] ) ? \
1872 ( ( ( 0xAA == ((U8*)s)[1] ) && ( 0x71 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1873 : ( 0x86 == ((U8*)s)[0] ) ? \
1874 ( ( 0x86 == ((U8*)s)[1] ) ? \
1875 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
1876 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
1877 : ( 0x88 == ((U8*)s)[0] ) ? \
1878 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x58 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1879 : ( 0x89 == ((U8*)s)[0] ) ? \
1880 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1881 : ( 0x8E == ((U8*)s)[0] ) ? \
1882 ( ( ( ( 0x72 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) && ( 0x72 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1883 : ( 0x91 == ((U8*)s)[0] ) ? \
1884 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x53 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1885 : ( 0xA2 == ((U8*)s)[0] ) ? \
1886 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
1887 : ( 0xA3 == ((U8*)s)[0] ) ? \
1888 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1889 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
1890 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1891 : ( 0xAA == ((U8*)s)[0] ) ? \
1892 ( ( ( 0x6A == ((U8*)s)[1] ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1893 : ( 0xB3 == ((U8*)s)[0] ) ? \
1894 ( ( 0x53 == ((U8*)s)[1] || 0x55 == ((U8*)s)[1] ) ? \
1895 ( ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1896 : ( 0x58 == ((U8*)s)[1] || 0x65 == ((U8*)s)[1] ) ? \
1897 ( ( 0xAF == ((U8*)s)[2] ) ? \
1898 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
1899 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1900 : ( ( ( 0x67 == ((U8*)s)[1] ) && ( 0xAF == ((U8*)s)[2] ) ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1901 : ( 0xB4 == ((U8*)s)[0] ) ? \
1902 ( ( 0x42 == ((U8*)s)[1] ) ? \
1903 ( ( ( 0xAD == ((U8*)s)[2] ) && ( 0x5F == ((U8*)s)[3] ) ) ? 4 : 0 )\
1904 : ( 0x46 == ((U8*)s)[1] ) ? \
1905 ( ( 0xAD == ((U8*)s)[2] ) ? \
1906 ( ( 0x5F == ((U8*)s)[3] ) ? 4 : 0 ) \
1907 : ( ( 0xAF == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1908 : ( 0x4A == ((U8*)s)[1] ) ? \
1909 ( ( 0xAF == ((U8*)s)[2] ) ? \
1910 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
1911 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1912 : ( ( ( 0x55 == ((U8*)s)[1] ) && ( 0xB3 == ((U8*)s)[2] ) ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1915 ( ( 0x81 == ((U8*)s)[0] ) ? \
1916 ( ( ( 0xAA == ((U8*)s)[1] ) && ( 0x71 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1917 : ( 0x86 == ((U8*)s)[0] ) ? \
1918 ( ( 0x86 == ((U8*)s)[1] ) ? \
1919 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
1920 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
1921 : ( 0x88 == ((U8*)s)[0] ) ? \
1922 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x58 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1923 : ( 0x89 == ((U8*)s)[0] ) ? \
1924 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1925 : ( 0x91 == ((U8*)s)[0] ) ? \
1926 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x53 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1927 : ( 0xA2 == ((U8*)s)[0] ) ? \
1928 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
1929 : ( 0xA3 == ((U8*)s)[0] ) ? \
1930 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1931 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
1932 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1933 : ( ( ( 0xAA == ((U8*)s)[0] ) && ( 0x6A == ((U8*)s)[1] ) ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 )\
1935 ( ( 0x86 == ((U8*)s)[0] ) ? \
1936 ( ( 0x86 == ((U8*)s)[1] || 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 )\
1937 : ( ( 0xA2 == ((U8*)s)[0] ) && ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ) ? 2 : 0 )\
1941 /*** GENERATED CODE ***/
1942 #define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \
1944 ( ( 0x81 == ((U8*)s)[0] ) ? \
1945 ( ( ( 0xAA == ((U8*)s)[1] ) && ( 0x71 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1946 : ( 0x86 == ((U8*)s)[0] ) ? \
1947 ( ( 0x86 == ((U8*)s)[1] ) ? \
1948 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
1949 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
1950 : ( 0x88 == ((U8*)s)[0] ) ? \
1951 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x58 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1952 : ( 0x89 == ((U8*)s)[0] ) ? \
1953 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1954 : ( 0x8E == ((U8*)s)[0] ) ? \
1955 ( ( ( ( 0x72 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) && ( 0x72 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1956 : ( 0x91 == ((U8*)s)[0] ) ? \
1957 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x53 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1958 : ( 0xA2 == ((U8*)s)[0] ) ? \
1959 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
1960 : ( 0xA3 == ((U8*)s)[0] ) ? \
1961 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1962 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
1963 ( ( ( 0xAD == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1964 : ( 0xAA == ((U8*)s)[0] ) ? \
1965 ( ( ( 0x6A == ((U8*)s)[1] ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
1966 : ( 0xB3 == ((U8*)s)[0] ) ? \
1967 ( ( 0x53 == ((U8*)s)[1] || 0x55 == ((U8*)s)[1] ) ? \
1968 ( ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1969 : ( 0x58 == ((U8*)s)[1] || 0x65 == ((U8*)s)[1] ) ? \
1970 ( ( 0xAF == ((U8*)s)[2] ) ? \
1971 ( ( 0x43 == ((U8*)s)[3] ) ? \
1972 ( ( ( 0xB3 == ((U8*)s)[4] ) && ( 0x67 == ((U8*)s)[5] ) ) ? 6 : 4 )\
1974 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1975 : ( 0x67 == ((U8*)s)[1] ) ? \
1976 ( ( 0xAD == ((U8*)s)[2] ) ? \
1977 ( ( 0x49 == ((U8*)s)[3] ) ? \
1978 ( ( 0xAD == ((U8*)s)[4] ) ? \
1979 ( ( 0x41 == ((U8*)s)[5] || 0x42 == ((U8*)s)[5] ) ? 6 : 0 )\
1980 : ( ( 0xAF == ((U8*)s)[4] ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 0 )\
1982 : ( ( 0xAF == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1984 : ( 0xB4 == ((U8*)s)[0] ) ? \
1985 ( ( 0x42 == ((U8*)s)[1] ) ? \
1986 ( ( ( 0xAD == ((U8*)s)[2] ) && ( 0x5F == ((U8*)s)[3] ) ) ? 4 : 0 )\
1987 : ( 0x46 == ((U8*)s)[1] ) ? \
1988 ( ( 0xAD == ((U8*)s)[2] ) ? \
1989 ( ( 0x49 == ((U8*)s)[3] ) ? \
1990 ( ( 0xAD == ((U8*)s)[4] ) ? \
1991 ( ( 0x41 == ((U8*)s)[5] || 0x42 == ((U8*)s)[5] ) ? 6 : 0 )\
1992 : ( ( 0xAF == ((U8*)s)[4] ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 0 )\
1993 : ( 0x5F == ((U8*)s)[3] ) ? \
1994 ( ( 0xAD == ((U8*)s)[4] ) ? \
1995 ( ( 0x41 == ((U8*)s)[5] || 0x42 == ((U8*)s)[5] ) ? 6 : 4 )\
1996 : ( ( 0xAF == ((U8*)s)[4] ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 4 )\
1998 : ( ( 0xAF == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
1999 : ( 0x4A == ((U8*)s)[1] ) ? \
2000 ( ( 0xAF == ((U8*)s)[2] ) ? \
2001 ( ( 0x43 == ((U8*)s)[3] ) ? \
2002 ( ( ( 0xB3 == ((U8*)s)[4] ) && ( 0x67 == ((U8*)s)[5] ) ) ? 6 : 4 )\
2004 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2005 : ( ( ( 0x55 == ((U8*)s)[1] ) && ( 0xB3 == ((U8*)s)[2] ) ) && ( 0x67 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2006 : ( 0xB7 == ((U8*)s)[0] ) ? \
2007 ( ( 0x52 == ((U8*)s)[1] ) ? \
2008 ( ( 0x46 == ((U8*)s)[2] ) ? \
2009 ( ( ( ( 0xB7 == ((U8*)s)[3] ) && ( 0x53 == ((U8*)s)[4] ) ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 0 )\
2010 : ( 0x62 == ((U8*)s)[2] ) ? \
2011 ( ( ( ( 0xB7 == ((U8*)s)[3] ) && ( 0x52 == ((U8*)s)[4] ) ) && ( 0x46 == ((U8*)s)[5] || 0x52 == ((U8*)s)[5] || 0x54 == ((U8*)s)[5] || 0x64 == ((U8*)s)[5] ) ) ? 6 : 0 )\
2012 : ( ( ( ( 0x71 == ((U8*)s)[2] ) && ( 0xB7 == ((U8*)s)[3] ) ) && ( 0x52 == ((U8*)s)[4] ) ) && ( 0x64 == ((U8*)s)[5] ) ) ? 6 : 0 )\
2014 : ( 0xBF == ((U8*)s)[0] ) ? \
2015 ( ( ( ((U8*)s)[1] & 0xFE ) == 0x66 ) ? \
2016 ( ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) && ( 0xB3 == ((U8*)s)[3] ) ) && ( 0x67 == ((U8*)s)[4] ) ) ? 5 : 0 )\
2017 : ( ( ( ( 0x69 == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) || 0x57 == ((U8*)s)[2] || 0x62 == ((U8*)s)[2] || 0x6A == ((U8*)s)[2] ) ) && ( 0xB3 == ((U8*)s)[3] ) ) && ( 0x67 == ((U8*)s)[4] ) ) ? 5 : 0 )\
2019 : ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )
2022 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
2024 ®charclass_multi_char_folds::multi_char_folds(0)
2026 /*** GENERATED CODE ***/
2027 #define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \
2029 ( ( ( ((U8*)s)[0] & 0xBF ) == 0x86 ) ? \
2030 ( ( ( ((U8*)s)[1] & 0xBF ) == 0x86 ) ? \
2031 ( ( ( ( ((U8*)s)[2] & 0xBF ) == 0x89 ) || ( ( ((U8*)s)[2] & 0xBF ) == 0x93 ) ) ? 3 : 2 )\
2032 : ( ( ( ((U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\
2033 : ( ( ( ((U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\
2035 ( ( ( ((U8*)s)[0] & 0xBF ) == 0x86 ) ? \
2036 ( ( ( ( ((U8*)s)[1] & 0xBF ) == 0x86 ) || ( ( ((U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\
2037 : ( ( ( ((U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\
2041 FOLDS_TO_MULTI: characters that fold to multi-char strings
2043 \p{_Perl_Folds_To_Multi_Char}
2045 /*** GENERATED CODE ***/
2046 #define is_FOLDS_TO_MULTI_utf8(s) \
2047 ( ( 0x80 == ((U8*)s)[0] ) ? \
2048 ( ( 0x72 == ((U8*)s)[1] ) ? 2 : 0 ) \
2049 : ( 0x8C == ((U8*)s)[0] || 0x9B == ((U8*)s)[0] || ( ((U8*)s)[0] & 0xFE ) == 0xB2 ) ?\
2050 ( ( 0x57 == ((U8*)s)[1] ) ? 2 : 0 ) \
2051 : ( 0x8D == ((U8*)s)[0] ) ? \
2052 ( ( 0x4A == ((U8*)s)[1] ) ? 2 : 0 ) \
2053 : ( 0xB7 == ((U8*)s)[0] ) ? \
2054 ( ( ( 0x53 == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2055 : ( 0xBF == ((U8*)s)[0] ) ? \
2056 ( ( 0x62 == ((U8*)s)[1] ) ? \
2057 ( ( ( 0x64 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x68 ) || 0x71 == ((U8*)s)[2] ) ? 3 : 0 )\
2058 : ( 0x68 == ((U8*)s)[1] ) ? \
2059 ( ( 0x57 == ((U8*)s)[2] || 0x59 == ((U8*)s)[2] || 0x62 == ((U8*)s)[2] || 0x64 == ((U8*)s)[2] ) ? 3 : 0 )\
2060 : ( 0x6A == ((U8*)s)[1] ) ? \
2061 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || 0x5F == ((U8*)s)[2] || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x6A ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ? 3 : 0 )\
2062 : ( 0x70 == ((U8*)s)[1] ) ? \
2063 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x4A ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x56 ) || 0x59 == ((U8*)s)[2] || 0x5F == ((U8*)s)[2] || 0x62 == ((U8*)s)[2] || ( ((U8*)s)[2] & 0xFE ) == 0x64 || 0x6A == ((U8*)s)[2] ) ? 3 : 0 )\
2064 : ( 0x71 == ((U8*)s)[1] ) ? \
2065 ( ( ( ( ((U8*)s)[2] & 0xFB ) == 0x43 ) || ( ( ((U8*)s)[2] & 0xDE ) == 0x44 ) || ((U8*)s)[2] == 0x48 || ((U8*)s)[2] == 0x53 || ((U8*)s)[2] == 0x59 || ((U8*)s)[2] == 0x5F ) ? 3 : 0 )\
2066 : ( ( 0x72 == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xFB ) == 0x43 ) || ( ( ((U8*)s)[2] & 0xDE ) == 0x44 ) || ((U8*)s)[2] == 0x48 || ((U8*)s)[2] == 0x59 || ((U8*)s)[2] == 0x5F || ( ( ((U8*)s)[2] & 0xF7 ) == 0x62 ) ) ) ? 3 : 0 )\
2067 : ( ( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x71 == ((U8*)s)[1] ) ) && ( 0x66 == ((U8*)s)[2] ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) || 0x5F == ((U8*)s)[3] || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x65 ) ) ) ? 4 : 0 )
2070 PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale
2072 \p{_Perl_Problematic_Locale_Folds}
2074 /*** GENERATED CODE ***/
2075 #define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \
2076 ( ( ( ( ((U8*)s)[0] & 0xC0 ) == 0x00 ) || ( ( ((U8*)s)[0] & 0xEF ) == 0x40 ) || ( ( ((U8*)s)[0] & 0xDF ) == 0x4B ) || ( ( ((U8*)s)[0] & 0xFC ) == 0x4C ) || ( ( ((U8*)s)[0] & 0xDE ) == 0x5A ) || ( ( ((U8*)s)[0] & 0xFE ) == 0x5C ) || ((U8*)s)[0] == 0x5E || ( ( ((U8*)s)[0] & 0xFE ) == 0x60 ) || ( ( ((U8*)s)[0] & 0xEC ) == 0x6C ) || ((U8*)s)[0] == 0x79 || ( ( ((U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x82 ) || ( ( ((U8*)s)[0] & 0xEC ) == 0x84 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x88 ) || ((U8*)s)[0] == 0xA1 || ( ( ((U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((U8*)s)[0] & 0xBC ) == 0xA4 ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xA8 ) || ((U8*)s)[0] == 0xB0 || ( ( ((U8*)s)[0] & 0xFE ) == 0xBA ) || ( ( ((U8*)s)[0] & 0xE8 ) == 0xC0 ) || ( ( ((U8*)s)[0] & 0xCE ) == 0xC8 ) || ((U8*)s)[0] == 0xE0 || ( ( ((U8*)s)[0] & 0xF8 ) == 0xF0 ) || ((U8*)s)[0] == 0xFF ) ? 1\
2077 : ( 0x78 == ((U8*)s)[0] || 0x80 == ((U8*)s)[0] || 0x8A == ((U8*)s)[0] ) ? \
2078 ( ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || 0x5F == ((U8*)s)[1] || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x72 ) ) ? 2 : 0 )\
2079 : ( 0x8C == ((U8*)s)[0] || 0x9B == ((U8*)s)[0] ) ? \
2080 ( ( 0x57 == ((U8*)s)[1] ) ? 2 : 0 ) \
2081 : ( 0x8D == ((U8*)s)[0] ) ? \
2082 ( ( 0x4A == ((U8*)s)[1] ) ? 2 : 0 ) \
2083 : ( 0x8E == ((U8*)s)[0] ) ? \
2084 ( ( 0x66 == ((U8*)s)[1] || 0x72 == ((U8*)s)[1] ) ? 2 : 0 ) \
2085 : ( ( ((U8*)s)[0] & 0xFE ) == 0xB2 ) ? \
2086 ( ( 0x6A == ((U8*)s)[1] ) ? 2 : 0 ) \
2087 : ( 0xBF == ((U8*)s)[0] ) ? \
2088 ( ( ( 0x62 == ((U8*)s)[1] ) && ( ( 0x64 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x68 ) || 0x71 == ((U8*)s)[2] ) ) ? 3 : 0 )\
2089 : ( 0xCA == ((U8*)s)[0] ) ? \
2090 ( ( ( 0x4A == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] || 0x52 == ((U8*)s)[2] ) ) ? 3 : 0 )\
2091 : ( ( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x71 == ((U8*)s)[1] ) ) && ( 0x66 == ((U8*)s)[2] ) ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 )
2093 /*** GENERATED CODE ***/
2094 #define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \
2095 ( cp <= 0xFF || ( 0xFF < cp && \
2096 ( 0x130 == cp || ( 0x130 < cp && \
2097 ( 0x149 == cp || ( 0x149 < cp && \
2098 ( 0x178 == cp || ( 0x178 < cp && \
2099 ( 0x17F == cp || ( 0x17F < cp && \
2100 ( 0x1F0 == cp || ( 0x1F0 < cp && \
2101 ( 0x39C == cp || ( 0x39C < cp && \
2102 ( 0x3BC == cp || ( 0x3BC < cp && \
2103 ( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
2104 ( 0x1E9E == cp || ( 0x1E9E < cp && \
2105 ( 0x212A == cp || ( 0x212A < cp && \
2106 ( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
2109 PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale
2111 \p{_Perl_Problematic_Locale_Foldeds_Start}
2113 /*** GENERATED CODE ***/
2114 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \
2115 ( ( ( ( ((U8*)s)[0] & 0xC0 ) == 0x00 ) || ( ( ((U8*)s)[0] & 0xEF ) == 0x40 ) || ( ( ((U8*)s)[0] & 0xDF ) == 0x4B ) || ( ( ((U8*)s)[0] & 0xFC ) == 0x4C ) || ( ( ((U8*)s)[0] & 0xDE ) == 0x5A ) || ( ( ((U8*)s)[0] & 0xFE ) == 0x5C ) || ((U8*)s)[0] == 0x5E || ( ( ((U8*)s)[0] & 0xFE ) == 0x60 ) || ( ( ((U8*)s)[0] & 0xEC ) == 0x6C ) || ((U8*)s)[0] == 0x79 || ( ( ((U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x82 ) || ( ( ((U8*)s)[0] & 0xEC ) == 0x84 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x88 ) || ((U8*)s)[0] == 0xA1 || ( ( ((U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((U8*)s)[0] & 0xBC ) == 0xA4 ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xA8 ) || ((U8*)s)[0] == 0xB0 || ( ( ((U8*)s)[0] & 0xFE ) == 0xBA ) || ( ( ((U8*)s)[0] & 0xE8 ) == 0xC0 ) || ( ( ((U8*)s)[0] & 0xCE ) == 0xC8 ) || ((U8*)s)[0] == 0xE0 || ( ( ((U8*)s)[0] & 0xF8 ) == 0xF0 ) || ((U8*)s)[0] == 0xFF ) ? 1\
2116 : ( 0x78 == ((U8*)s)[0] || 0x80 == ((U8*)s)[0] || 0x8A == ((U8*)s)[0] ) ? \
2117 ( ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x4A ) || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || 0x5F == ((U8*)s)[1] || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x6A ) || ( 0x70 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x72 ) ) ? 2 : 0 )\
2118 : ( 0x8C == ((U8*)s)[0] || 0x9B == ((U8*)s)[0] ) ? \
2119 ( ( 0x57 == ((U8*)s)[1] ) ? 2 : 0 ) \
2120 : ( 0x8D == ((U8*)s)[0] ) ? \
2121 ( ( 0x4A == ((U8*)s)[1] ) ? 2 : 0 ) \
2122 : ( 0x8E == ((U8*)s)[0] ) ? \
2123 ( ( 0x66 == ((U8*)s)[1] || 0x72 == ((U8*)s)[1] ) ? 2 : 0 ) \
2124 : ( 0xAA == ((U8*)s)[0] || ( ((U8*)s)[0] & 0xFE ) == 0xB2 ) ? \
2125 ( ( 0x6A == ((U8*)s)[1] ) ? 2 : 0 ) \
2126 : ( 0xBF == ((U8*)s)[0] ) ? \
2127 ( ( ( 0x62 == ((U8*)s)[1] ) && ( ( 0x64 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x68 ) || 0x71 == ((U8*)s)[2] ) ) ? 3 : 0 )\
2128 : ( 0xCA == ((U8*)s)[0] ) ? \
2129 ( ( ( 0x4A == ((U8*)s)[1] ) && ( 0x51 == ((U8*)s)[2] || 0x52 == ((U8*)s)[2] ) ) ? 3 : 0 )\
2130 : ( ( ( ( 0xDD == ((U8*)s)[0] ) && ( 0x71 == ((U8*)s)[1] ) ) && ( 0x66 == ((U8*)s)[2] ) ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 )
2132 /*** GENERATED CODE ***/
2133 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \
2134 ( cp <= 0xFF || ( 0xFF < cp && \
2135 ( 0x130 == cp || ( 0x130 < cp && \
2136 ( 0x149 == cp || ( 0x149 < cp && \
2137 ( 0x178 == cp || ( 0x178 < cp && \
2138 ( 0x17F == cp || ( 0x17F < cp && \
2139 ( 0x1F0 == cp || ( 0x1F0 < cp && \
2140 ( 0x2BC == cp || ( 0x2BC < cp && \
2141 ( 0x39C == cp || ( 0x39C < cp && \
2142 ( 0x3BC == cp || ( 0x3BC < cp && \
2143 ( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
2144 ( 0x1E9E == cp || ( 0x1E9E < cp && \
2145 ( 0x212A == cp || ( 0x212A < cp && \
2146 ( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
2149 PATWS: pattern white space
2153 /*** GENERATED CODE ***/
2154 #define is_PATWS_safe(s,e,is_utf8) \
2155 ( ( LIKELY((e) > (s)) ) ? \
2156 ( ( ( ( ((U8*)s)[0] & 0xEF ) == 0x05 ) || ((U8*)s)[0] == 0x0B || ( ( ((U8*)s)[0] & 0xFE ) == 0x0C ) || ((U8*)s)[0] == 0x25 || ((U8*)s)[0] == 0x40 ) ? 1\
2157 : ( ( is_utf8 && LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) && ( 0xCA == ((U8*)s)[0] ) ) ? ( ( 0x41 == ((U8*)s)[1] ) ?\
2158 ( ( 0x55 == ((U8*)s)[2] || 0x56 == ((U8*)s)[2] ) ? 3 : 0 )\
2159 : ( ( 0x42 == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] || 0x4A == ((U8*)s)[2] ) ) ? 3 : 0 ) : 0 )\
2162 /*** GENERATED CODE ***/
2163 #define is_PATWS_cp(cp) \
2164 ( 0x05 == cp || ( 0x05 < cp && \
2165 ( ( 0x0B <= cp && cp <= 0x0D ) || ( 0x0D < cp && \
2166 ( 0x15 == cp || ( 0x15 < cp && \
2167 ( 0x25 == cp || ( 0x25 < cp && \
2168 ( 0x40 == cp || ( 0x40 < cp && \
2169 ( 0x200E == cp || ( 0x200E < cp && \
2170 ( 0x200F == cp || ( 0x200F < cp && \
2171 ( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
2173 #endif /* EBCDIC 037 */
2175 #if 'A' == 193 /* EBCDIC POSIX-BC */ \
2176 && '\\' == 188 && '[' == 187 && ']' == 189 && '{' == 251 && '}' == 253 \
2177 && '^' == 106 && '~' == 255 && '!' == 90 && '#' == 123 && '|' == 79 \
2178 && '$' == 91 && '@' == 124 && '`' == 74
2180 LNBREAK: Line Break: \R
2182 "\x0D\x0A" # CRLF - Network (Windows) line ending
2185 /*** GENERATED CODE ***/
2186 #define is_LNBREAK_safe(s,e,is_utf8) \
2188 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
2189 : ( 0x0D == ((U8*)s)[0] ) ? \
2190 ( ( 0x15 == ((U8*)s)[1] ) ? 2 : 1 ) \
2191 : ( ( ( ( is_utf8 ) && ( 0xCA == ((U8*)s)[0] ) ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x49 == ((U8*)s)[2] || 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 )\
2193 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
2194 : ( 0x0D == ((U8*)s)[0] ) ? \
2195 ( ( 0x15 == ((U8*)s)[1] ) ? 2 : 1 ) \
2198 ( ( 0x0B <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] )\
2201 /*** GENERATED CODE ***/
2202 #define is_LNBREAK_utf8_safe(s,e) \
2204 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
2205 : ( 0x0D == ((U8*)s)[0] ) ? \
2206 ( ( 0x15 == ((U8*)s)[1] ) ? 2 : 1 ) \
2207 : ( ( ( 0xCA == ((U8*)s)[0] ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x49 == ((U8*)s)[2] || 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 )\
2209 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
2210 : ( 0x0D == ((U8*)s)[0] ) ? \
2211 ( ( 0x15 == ((U8*)s)[1] ) ? 2 : 1 ) \
2214 ( ( 0x0B <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] )\
2217 /*** GENERATED CODE ***/
2218 #define is_LNBREAK_latin1_safe(s,e) \
2220 ( ( ( 0x0B == ((U8*)s)[0] || 0x0C == ((U8*)s)[0] ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] ) ? 1\
2221 : ( 0x0D == ((U8*)s)[0] ) ? \
2222 ( ( 0x15 == ((U8*)s)[1] ) ? 2 : 1 ) \
2225 ( ( 0x0B <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x15 == ((U8*)s)[0] || 0x25 == ((U8*)s)[0] )\
2229 HORIZWS: Horizontal Whitespace: \h \H
2233 /*** GENERATED CODE ***/
2234 #define is_HORIZWS_high(s) \
2235 ( ( 0xBE == ((U8*)s)[0] ) ? \
2236 ( ( ( 0x64 == ((U8*)s)[1] ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2237 : ( 0xCA == ((U8*)s)[0] ) ? \
2238 ( ( 0x41 == ((U8*)s)[1] ) ? \
2239 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x49 ) || ( 0x51 == ((U8*)s)[2] || 0x52 == ((U8*)s)[2] ) ) ? 3 : 0 )\
2240 : ( 0x42 == ((U8*)s)[1] ) ? \
2241 ( ( 0x57 == ((U8*)s)[2] ) ? 3 : 0 ) \
2242 : ( ( 0x43 == ((U8*)s)[1] ) && ( 0x75 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2243 : ( ( ( 0xCE == ((U8*)s)[0] ) && ( 0x41 == ((U8*)s)[1] ) ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 )
2245 /*** GENERATED CODE ***/
2246 #define is_HORIZWS_cp_high(cp) \
2247 ( 0x1680 == cp || ( 0x1680 < cp && \
2248 ( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
2249 ( 0x202F == cp || ( 0x202F < cp && \
2250 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) )
2253 VERTWS: Vertical Whitespace: \v \V
2257 /*** GENERATED CODE ***/
2258 #define is_VERTWS_high(s) \
2259 ( ( ( ( 0xCA == ((U8*)s)[0] ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x49 == ((U8*)s)[2] || 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 )
2261 /*** GENERATED CODE ***/
2262 #define is_VERTWS_cp_high(cp) \
2263 ( 0x2028 == cp || 0x2029 == cp )
2266 XDIGIT: Hexadecimal digits
2270 /*** GENERATED CODE ***/
2271 #define is_XDIGIT_high(s) \
2272 ( ( ( 0xDC == ((U8*)s)[0] ) && ( 0x75 == ((U8*)s)[1] ) ) ? ( ( 0x68 == ((U8*)s)[2] ) ?\
2273 ( ( ( ((U8*)s)[3] & 0xFE ) == 0x58 || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) ) ? 4 : 0 )\
2274 : ( ( 0x69 == ((U8*)s)[2] || 0x70 == ((U8*)s)[2] ) && ( 0x42 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 ) : 0 )
2276 /*** GENERATED CODE ***/
2277 #define is_XDIGIT_cp_high(cp) \
2278 ( ( 0xFF10 <= cp && cp <= 0xFF19 ) || ( 0xFF19 < cp && \
2279 ( ( 0xFF21 <= cp && cp <= 0xFF26 ) || ( 0xFF41 <= cp && cp <= 0xFF46 ) ) ) )
2282 XPERLSPACE: \p{XPerlSpace}
2286 /*** GENERATED CODE ***/
2287 #define is_XPERLSPACE_high(s) \
2288 ( ( 0xBE == ((U8*)s)[0] ) ? \
2289 ( ( ( 0x64 == ((U8*)s)[1] ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2290 : ( 0xCA == ((U8*)s)[0] ) ? \
2291 ( ( 0x41 == ((U8*)s)[1] ) ? \
2292 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x49 ) || ( 0x51 == ((U8*)s)[2] || 0x52 == ((U8*)s)[2] ) ) ? 3 : 0 )\
2293 : ( 0x42 == ((U8*)s)[1] ) ? \
2294 ( ( 0x49 == ((U8*)s)[2] || 0x51 == ((U8*)s)[2] || 0x57 == ((U8*)s)[2] ) ? 3 : 0 )\
2295 : ( ( 0x43 == ((U8*)s)[1] ) && ( 0x75 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2296 : ( ( ( 0xCE == ((U8*)s)[0] ) && ( 0x41 == ((U8*)s)[1] ) ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 )
2298 /*** GENERATED CODE ***/
2299 #define is_XPERLSPACE_cp_high(cp) \
2300 ( 0x1680 == cp || ( 0x1680 < cp && \
2301 ( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp && \
2302 ( 0x2028 == cp || ( 0x2028 < cp && \
2303 ( 0x2029 == cp || ( 0x2029 < cp && \
2304 ( 0x202F == cp || ( 0x202F < cp && \
2305 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) )
2308 REPLACEMENT: Unicode REPLACEMENT CHARACTER
2312 /*** GENERATED CODE ***/
2313 #define is_REPLACEMENT_utf8_safe(s,e) \
2314 ( ( ( ( ( ( ((e) - (s)) >= 4 ) && ( 0xDC == ((U8*)s)[0] ) ) && ( 0x75 == ((U8*)s)[1] ) ) && ( 0x75 == ((U8*)s)[2] ) ) && ( 0x73 == ((U8*)s)[3] ) ) ? 4 : 0 )
2317 NONCHAR: Non character code points
2321 /*** GENERATED CODE ***/
2322 #define is_NONCHAR_utf8(s) \
2323 ( ( 0xDC == ((U8*)s)[0] ) ? \
2324 ( ( 0x75 == ((U8*)s)[1] ) ? \
2325 ( ( 0x56 == ((U8*)s)[2] ) ? \
2326 ( ( ( ((U8*)s)[3] & 0xFE ) == 0x58 || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x75 ) ) ? 4 : 0 )\
2327 : ( 0x57 == ((U8*)s)[2] ) ? \
2328 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x49 ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x57 ) ) ? 4 : 0 )\
2329 : ( ( 0x75 == ((U8*)s)[2] ) && ( ( ((U8*)s)[3] & 0xFE ) == 0x74 ) ) ? 4 : 0 )\
2331 : ( 0xDE == ((U8*)s)[0] || 0xE0 == ((U8*)s)[0] || 0xEA == ((U8*)s)[0] ) ? \
2332 ( ( ( ( 0x75 == ((U8*)s)[1] ) && ( 0x75 == ((U8*)s)[2] ) ) && ( ( ((U8*)s)[3] & 0xFE ) == 0x74 ) ) ? 4 : 0 )\
2333 : ( 0xEB == ((U8*)s)[0] ) ? \
2334 ( ( ( ( ( ( ( ((U8*)s)[1] & 0xF9 ) == 0x51 ) || ((U8*)s)[1] == 0x59 || ((U8*)s)[1] == 0x63 || ( ( ((U8*)s)[1] & 0xFD ) == 0x65 ) || ((U8*)s)[1] == 0x69 || ( ( ((U8*)s)[1] & 0xFD ) == 0x71 ) || ((U8*)s)[1] == 0x75 ) && ( 0x75 == ((U8*)s)[2] ) ) && ( 0x75 == ((U8*)s)[3] ) ) && ( ( ((U8*)s)[4] & 0xFE ) == 0x74 ) ) ? 5 : 0 )\
2335 : ( ( ( ( ( 0xEC == ((U8*)s)[0] ) && ( 0x42 == ((U8*)s)[1] ) ) && ( 0x75 == ((U8*)s)[2] ) ) && ( 0x75 == ((U8*)s)[3] ) ) && ( ( ((U8*)s)[4] & 0xFE ) == 0x74 ) ) ? 5 : 0 )
2338 SURROGATE: Surrogate characters
2342 /*** GENERATED CODE ***/
2343 #define is_SURROGATE_utf8(s) \
2344 ( ( ( ( ( 0xDC == ((U8*)s)[0] ) && ( ( ((U8*)s)[1] & 0xFE ) == 0x66 ) ) && ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ) && ( ( ( ((U8*)s)[3] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[3] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[3] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[3] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[3] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[3] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[3] & 0xFA ) == 0x70 ) ) ) ? 4 : 0 )
2347 GCB_L: Grapheme_Cluster_Break=L
2351 /*** GENERATED CODE ***/
2352 #define is_GCB_L_utf8(s) \
2353 ( ( 0xBA == ((U8*)s)[0] ) ? \
2354 ( ( ( 0x49 == ((U8*)s)[1] || ( 0x51 == ((U8*)s)[1] || 0x52 == ((U8*)s)[1] ) ) && ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ) ? 3 : 0 )\
2355 : ( ( ( ( 0xDC == ((U8*)s)[0] ) && ( 0x52 == ((U8*)s)[1] ) ) && ( 0x53 == ((U8*)s)[2] ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x49 ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )
2358 GCB_LV_LVT_V: Grapheme_Cluster_Break=(LV or LVT or V)
2362 /*** GENERATED CODE ***/
2363 #define is_GCB_LV_LVT_V_utf8(s) \
2364 ( ( 0xBA == ((U8*)s)[0] ) ? \
2365 ( ( 0x53 == ((U8*)s)[1] || 0x54 == ((U8*)s)[1] ) ? \
2366 ( ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ? 3 : 0 )\
2367 : ( ( 0x55 == ((U8*)s)[1] ) && ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) ) ? 3 : 0 )\
2368 : ( 0xDC == ((U8*)s)[0] ) ? \
2369 ( ( ( 0x53 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x64 ) ) ?\
2370 ( ( ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) && ( ( ( ((U8*)s)[3] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[3] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[3] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[3] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[3] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[3] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[3] & 0xFA ) == 0x70 ) ) ) ? 4 : 0 )\
2371 : ( 0x65 == ((U8*)s)[1] ) ? \
2372 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x49 ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x69 ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ?\
2373 ( ( ( ( ((U8*)s)[3] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[3] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[3] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[3] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[3] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[3] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[3] & 0xFA ) == 0x70 ) ) ? 4 : 0 )\
2374 : ( 0x73 == ((U8*)s)[2] ) ? \
2375 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x44 ) || ( ((U8*)s)[3] & 0xFE ) == 0x58 || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x75 ) ) ? 4 : 0 )\
2376 : ( ( 0x74 == ((U8*)s)[2] ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 )\
2381 GCB_Prepend: Grapheme_Cluster_Break=Prepend
2385 /*** GENERATED CODE ***/
2386 #define is_GCB_Prepend_utf8(s) \
2390 GCB_RI: Grapheme_Cluster_Break=RI
2394 /*** GENERATED CODE ***/
2395 #define is_GCB_RI_utf8(s) \
2396 ( ( ( ( ( 0xDE == ((U8*)s)[0] ) && ( 0x72 == ((U8*)s)[1] ) ) && ( 0x57 == ((U8*)s)[2] ) ) && ( ( 0x47 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x49 ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x75 ) ) ) ? 4 : 0 )
2399 GCB_SPECIAL_BEGIN_START: Grapheme_Cluster_Break=special_begin_starts
2401 \p{_X_Special_Begin_Start}
2403 /*** GENERATED CODE ***/
2404 #define is_GCB_SPECIAL_BEGIN_START_utf8(s) \
2405 ( ( 0xBA == ((U8*)s)[0] ) ? \
2406 ( ( ( 0x49 == ((U8*)s)[1] || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x57 ) ) && ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ) ? 3 : 0 )\
2407 : ( 0xDC == ((U8*)s)[0] ) ? \
2408 ( ( 0x52 == ((U8*)s)[1] ) ? \
2409 ( ( ( 0x53 == ((U8*)s)[2] ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x49 ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x72 ) ) ) ? 4 : 0 )\
2410 : ( ( 0x53 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x64 ) ) ?\
2411 ( ( ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) && ( ( ( ((U8*)s)[3] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[3] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[3] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[3] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[3] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[3] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[3] & 0xFA ) == 0x70 ) ) ) ? 4 : 0 )\
2412 : ( 0x65 == ((U8*)s)[1] ) ? \
2413 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x49 ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x69 ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x72 ) ) ?\
2414 ( ( ( ( ((U8*)s)[3] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[3] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[3] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[3] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[3] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[3] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[3] & 0xFA ) == 0x70 ) ) ? 4 : 0 )\
2415 : ( 0x73 == ((U8*)s)[2] ) ? \
2416 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x44 ) || ( ((U8*)s)[3] & 0xFE ) == 0x58 || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x75 ) ) ? 4 : 0 )\
2417 : ( 0x74 == ((U8*)s)[2] ) ? \
2418 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) || ( 0x53 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x75 ) ) ? 4 : 0 )\
2419 : ( ( 0x75 == ((U8*)s)[2] ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x49 ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( ((U8*)s)[3] & 0xFE ) == 0x70 ) ) ? 4 : 0 )\
2421 : ( ( ( ( 0xDE == ((U8*)s)[0] ) && ( 0x72 == ((U8*)s)[1] ) ) && ( 0x57 == ((U8*)s)[2] ) ) && ( ( 0x47 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x49 ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x75 ) ) ) ? 4 : 0 )
2424 GCB_T: Grapheme_Cluster_Break=T
2428 /*** GENERATED CODE ***/
2429 #define is_GCB_T_utf8(s) \
2430 ( ( 0xBA == ((U8*)s)[0] ) ? \
2431 ( ( 0x55 == ((U8*)s)[1] ) ? \
2432 ( ( 0x49 == ((U8*)s)[2] || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x69 ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x75 ) ) ? 3 : 0 )\
2433 : ( ( ( ((U8*)s)[1] & 0xFE ) == 0x56 ) && ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ) ? 3 : 0 )\
2434 : ( ( 0xDC == ((U8*)s)[0] ) && ( 0x65 == ((U8*)s)[1] ) ) ? ( ( 0x74 == ((U8*)s)[2] ) ?\
2435 ( ( ( 0x53 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x75 ) ) ? 4 : 0 )\
2436 : ( ( 0x75 == ((U8*)s)[2] ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x49 ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x59 ) || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( ((U8*)s)[3] & 0xFE ) == 0x70 ) ) ? 4 : 0 ) : 0 )
2439 GCB_V: Grapheme_Cluster_Break=V
2443 /*** GENERATED CODE ***/
2444 #define is_GCB_V_utf8(s) \
2445 ( ( 0xBA == ((U8*)s)[0] ) ? \
2446 ( ( 0x53 == ((U8*)s)[1] || 0x54 == ((U8*)s)[1] ) ? \
2447 ( ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ? 3 : 0 )\
2448 : ( ( 0x55 == ((U8*)s)[1] ) && ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) ) ? 3 : 0 )\
2449 : ( ( 0xDC == ((U8*)s)[0] ) && ( 0x65 == ((U8*)s)[1] ) ) ? ( ( 0x73 == ((U8*)s)[2] ) ?\
2450 ( ( ( ((U8*)s)[3] & 0xFE ) == 0x58 || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || ( 0x70 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x75 ) ) ? 4 : 0 )\
2451 : ( ( 0x74 == ((U8*)s)[2] ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 ) : 0 )
2454 UTF8_CHAR: Matches legal UTF-EBCDIC encoded characters from 2 through 3 bytes
2458 /*** GENERATED CODE ***/
2459 #define is_UTF8_CHAR_utf8_no_length_checks(s) \
2460 ( ( ( 0x8A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x90 ) || ( 0x9A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xA1 ) || ( 0xAA <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xB5 ) ) ?\
2461 ( ( ( ( ((U8*)s)[1] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[1] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[1] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[1] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[1] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[1] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[1] & 0xFA ) == 0x70 ) ) ? 2 : 0 )\
2462 : ( ( ( ( 0xB7 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xBA ) || ( 0xBE <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xC0 ) || ( 0xCA <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xD0 ) || 0xDA == ((U8*)s)[0] ) && ( ( ( ((U8*)s)[1] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[1] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[1] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[1] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[1] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[1] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[1] & 0xFA ) == 0x70 ) ) ) && ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ) ? 3 : 0 )
2465 QUOTEMETA: Meta-characters that \Q should quote
2469 /*** GENERATED CODE ***/
2470 #define is_QUOTEMETA_high_part0(s) \
2471 ( ( 0x52 == ((U8*)s)[1] ) ? \
2472 ( ( 0x75 == ((U8*)s)[2] ) ? 3 : 0 ) \
2473 : ( ( 0x53 == ((U8*)s)[1] ) && ( 0x41 == ((U8*)s)[2] ) ) ? 3 : 0 )
2476 /*** GENERATED CODE ***/
2477 #define is_QUOTEMETA_high_part1(s) \
2478 ( ( 0xBE == ((U8*)s)[0] ) ? \
2479 ( ( 0x64 == ((U8*)s)[1] ) ? \
2480 ( ( 0x41 == ((U8*)s)[2] ) ? 3 : 0 ) \
2481 : ( ( 0x73 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x64 ) ) ? 3 : 0 )\
2482 : ( 0xBF == ((U8*)s)[0] ) ? \
2483 ( ( ( 0x41 == ((U8*)s)[1] ) && ( 0x53 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x56 ) ) ? 3 : 0 )\
2484 : ( 0xCA == ((U8*)s)[0] ) ? \
2485 ( ( 0x41 == ((U8*)s)[1] || ( 0x55 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x69 ) || ( 0x70 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x75 ) ) ?\
2486 ( ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ? 3 : 0 )\
2487 : ( 0x42 == ((U8*)s)[1] ) ? \
2488 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x49 ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x69 ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x74 ) ) ? 3 : 0 )\
2489 : ( 0x43 == ((U8*)s)[1] ) ? \
2490 ( ( ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ((U8*)s)[2] == 0x51 || ((U8*)s)[2] == 0x65 || ( ( ((U8*)s)[2] & 0xFE ) == 0x66 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ? 3 : 0 )\
2491 : ( 0x44 == ((U8*)s)[1] ) ? \
2492 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x49 ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x57 ) ) ? 3 : 0 )\
2493 : ( ( 0x54 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x58 || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x69 ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x75 ) ) ) ? 3 : 0 )\
2494 : ( 0xCB == ((U8*)s)[0] ) ? \
2495 ( ( ( 0x41 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x43 ) || 0x49 == ((U8*)s)[1] || ( 0x51 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x59 ) || ( 0x62 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x69 ) || 0x70 == ((U8*)s)[1] || ( 0x73 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x75 ) ) ?\
2496 ( ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ? 3 : 0 )\
2497 : ( 0x71 == ((U8*)s)[1] ) ? \
2498 ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x49 ) || ( 0x51 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x59 ) || ( 0x62 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x65 ) ) ? 3 : 0 )\
2499 : ( ( 0x72 == ((U8*)s)[1] ) && ( ( 0x64 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x69 ) || ( 0x70 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x75 ) ) ) ? 3 : 0 )\
2500 : ( 0xCC == ((U8*)s)[0] ) ? \
2501 ( ( ( ( ( ((U8*)s)[1] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[1] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[1] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[1] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[1] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[1] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[1] & 0xFA ) == 0x70 ) ) && ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ) ? 3 : 0 )\
2502 : ( 0xCD == ((U8*)s)[0] ) ? \
2503 ( ( ( ( ((U8*)s)[1] & 0xFE ) == 0x58 || ( ((U8*)s)[1] & 0xFE ) == 0x62 ) && ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ) ? 3 : 0 )\
2504 : ( 0xCE == ((U8*)s)[0] ) ? \
2505 ( ( 0x41 == ((U8*)s)[1] ) ? \
2506 ( ( ( ( ((U8*)s)[2] & 0xE7 ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ((U8*)s)[2] == 0x44 || ( ( ((U8*)s)[2] & 0xFC ) == 0x54 ) || ((U8*)s)[2] == 0x58 || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ? 3 : 0 )\
2507 : ( 0x42 == ((U8*)s)[1] ) ? \
2508 ( ( 0x41 == ((U8*)s)[2] || 0x58 == ((U8*)s)[2] ) ? 3 : 0 ) \
2509 : ( ( 0x53 == ((U8*)s)[1] ) && ( 0x45 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2510 : ( 0xDC == ((U8*)s)[0] ) ? \
2511 ( ( 0x75 == ((U8*)s)[1] ) ? \
2512 ( ( 0x51 == ((U8*)s)[2] ) ? \
2513 ( ( ( ((U8*)s)[3] & 0xFE ) == 0x74 ) ? 4 : 0 ) \
2514 : ( 0x58 == ((U8*)s)[2] ) ? \
2515 ( ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x49 ) || ( 0x51 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x57 ) ) ? 4 : 0 )\
2516 : ( 0x62 == ((U8*)s)[2] ) ? \
2517 ( ( ( ((U8*)s)[3] & 0xFE ) == 0x46 ) ? 4 : 0 ) \
2518 : ( 0x67 == ((U8*)s)[2] ) ? \
2519 ( ( 0x75 == ((U8*)s)[3] ) ? 4 : 0 ) \
2520 : ( 0x73 == ((U8*)s)[2] ) ? \
2521 ( ( 0x41 == ((U8*)s)[3] ) ? 4 : 0 ) \
2522 : ( ( 0x75 == ((U8*)s)[2] ) && ( ( ((U8*)s)[3] & 0xFE ) == 0x58 || ( 0x62 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x68 ) ) ) ? 4 : 0 )\
2524 : ( 0xDE == ((U8*)s)[0] ) ? \
2525 ( ( ( ( 0x64 == ((U8*)s)[1] ) && ( 0x53 == ((U8*)s)[2] ) ) && ( ( 0x63 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x69 ) || 0x70 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2526 : ( ( ( ( ( 0xEB == ((U8*)s)[0] ) && ( 0x72 == ((U8*)s)[1] ) ) && ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x44 ) ) && ( ( ( ((U8*)s)[3] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[3] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[3] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[3] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[3] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[3] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[3] & 0xFA ) == 0x70 ) ) ) && ( ( ( ((U8*)s)[4] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[4] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[4] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[4] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[4] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[4] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[4] & 0xFA ) == 0x70 ) ) ) ? 5 : 0 )
2529 /*** GENERATED CODE ***/
2530 #define is_QUOTEMETA_high(s) \
2531 ( ( 0xB0 == ((U8*)s)[0] ) ? \
2532 ( ( 0x57 == ((U8*)s)[1] ) ? 2 : 0 ) \
2533 : ( 0xB7 == ((U8*)s)[0] ) ? \
2534 ( ( ( 0x58 == ((U8*)s)[1] ) && ( 0x72 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2535 : ( 0xBA == ((U8*)s)[0] ) ? is_QUOTEMETA_high_part0(s) : is_QUOTEMETA_high_part1(s) )
2538 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
2540 ®charclass_multi_char_folds::multi_char_folds(1)
2542 /*** GENERATED CODE ***/
2543 #define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \
2544 ( ( 0x81 == ((U8*)s)[0] ) ? \
2545 ( ( ( 0xAB == ((U8*)s)[1] ) && ( 0x74 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2546 : ( 0x86 == ((U8*)s)[0] ) ? \
2547 ( ( 0x86 == ((U8*)s)[1] ) ? \
2548 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
2549 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
2550 : ( 0x88 == ((U8*)s)[0] ) ? \
2551 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x59 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2552 : ( 0x89 == ((U8*)s)[0] ) ? \
2553 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2554 : ( 0x90 == ((U8*)s)[0] ) ? \
2555 ( ( ( ( 0x75 == ((U8*)s)[1] ) && ( 0x90 == ((U8*)s)[2] ) ) && ( 0x75 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2556 : ( 0x91 == ((U8*)s)[0] ) ? \
2557 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x54 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2558 : ( 0xA2 == ((U8*)s)[0] ) ? \
2559 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
2560 : ( 0xA3 == ((U8*)s)[0] ) ? \
2561 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2562 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
2563 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x52 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2564 : ( 0xAB == ((U8*)s)[0] ) ? \
2565 ( ( ( 0x72 == ((U8*)s)[1] ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2566 : ( 0xB3 == ((U8*)s)[0] ) ? \
2567 ( ( ( ((U8*)s)[1] & 0xFD ) == 0x54 ) ? \
2568 ( ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2569 : ( 0x59 == ((U8*)s)[1] || 0x67 == ((U8*)s)[1] ) ? \
2570 ( ( 0xB0 == ((U8*)s)[2] ) ? \
2571 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
2572 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2573 : ( ( ( 0x69 == ((U8*)s)[1] ) && ( 0xB0 == ((U8*)s)[2] ) ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2574 : ( 0xB4 == ((U8*)s)[0] ) ? \
2575 ( ( 0x42 == ((U8*)s)[1] ) ? \
2576 ( ( ( 0xAE == ((U8*)s)[2] ) && ( 0x63 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2577 : ( 0x46 == ((U8*)s)[1] ) ? \
2578 ( ( 0xAE == ((U8*)s)[2] ) ? \
2579 ( ( 0x63 == ((U8*)s)[3] ) ? 4 : 0 ) \
2580 : ( ( 0xB0 == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2581 : ( 0x51 == ((U8*)s)[1] ) ? \
2582 ( ( 0xB0 == ((U8*)s)[2] ) ? \
2583 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
2584 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2585 : ( ( ( 0x56 == ((U8*)s)[1] ) && ( 0xB3 == ((U8*)s)[2] ) ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2586 : ( 0xC0 == ((U8*)s)[0] ) ? \
2587 ( ( ( ((U8*)s)[1] & 0xFE ) == 0x68 ) ? \
2588 ( ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) && ( 0xB3 == ((U8*)s)[3] ) ) && ( 0x69 == ((U8*)s)[4] ) ) ? 5 : 0 )\
2589 : ( ( ( ( 0x71 == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) || 0x58 == ((U8*)s)[2] || 0x64 == ((U8*)s)[2] || 0x72 == ((U8*)s)[2] ) ) && ( 0xB3 == ((U8*)s)[3] ) ) && ( 0x69 == ((U8*)s)[4] ) ) ? 5 : 0 )\
2593 /*** GENERATED CODE ***/
2594 #define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) \
2596 ( ( 0x81 == ((U8*)s)[0] ) ? \
2597 ( ( ( 0xAB == ((U8*)s)[1] ) && ( 0x74 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2598 : ( 0x86 == ((U8*)s)[0] ) ? \
2599 ( ( 0x86 == ((U8*)s)[1] ) ? \
2600 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
2601 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
2602 : ( 0x88 == ((U8*)s)[0] ) ? \
2603 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x59 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2604 : ( 0x89 == ((U8*)s)[0] ) ? \
2605 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2606 : ( 0x90 == ((U8*)s)[0] ) ? \
2607 ( ( ( ( 0x75 == ((U8*)s)[1] ) && ( 0x90 == ((U8*)s)[2] ) ) && ( 0x75 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2608 : ( 0x91 == ((U8*)s)[0] ) ? \
2609 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x54 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2610 : ( 0xA2 == ((U8*)s)[0] ) ? \
2611 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
2612 : ( 0xA3 == ((U8*)s)[0] ) ? \
2613 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2614 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
2615 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x52 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2616 : ( 0xAB == ((U8*)s)[0] ) ? \
2617 ( ( ( 0x72 == ((U8*)s)[1] ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2618 : ( 0xB3 == ((U8*)s)[0] ) ? \
2619 ( ( ( ((U8*)s)[1] & 0xFD ) == 0x54 ) ? \
2620 ( ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2621 : ( 0x59 == ((U8*)s)[1] || 0x67 == ((U8*)s)[1] ) ? \
2622 ( ( 0xB0 == ((U8*)s)[2] ) ? \
2623 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
2624 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2625 : ( ( ( 0x69 == ((U8*)s)[1] ) && ( 0xB0 == ((U8*)s)[2] ) ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2626 : ( 0xB4 == ((U8*)s)[0] ) ? \
2627 ( ( 0x42 == ((U8*)s)[1] ) ? \
2628 ( ( ( 0xAE == ((U8*)s)[2] ) && ( 0x63 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2629 : ( 0x46 == ((U8*)s)[1] ) ? \
2630 ( ( 0xAE == ((U8*)s)[2] ) ? \
2631 ( ( 0x63 == ((U8*)s)[3] ) ? 4 : 0 ) \
2632 : ( ( 0xB0 == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2633 : ( 0x51 == ((U8*)s)[1] ) ? \
2634 ( ( 0xB0 == ((U8*)s)[2] ) ? \
2635 ( ( 0x43 == ((U8*)s)[3] ) ? 4 : 0 ) \
2636 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2637 : ( ( ( 0x56 == ((U8*)s)[1] ) && ( 0xB3 == ((U8*)s)[2] ) ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2640 ( ( 0x81 == ((U8*)s)[0] ) ? \
2641 ( ( ( 0xAB == ((U8*)s)[1] ) && ( 0x74 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2642 : ( 0x86 == ((U8*)s)[0] ) ? \
2643 ( ( 0x86 == ((U8*)s)[1] ) ? \
2644 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
2645 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
2646 : ( 0x88 == ((U8*)s)[0] ) ? \
2647 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x59 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2648 : ( 0x89 == ((U8*)s)[0] ) ? \
2649 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2650 : ( 0x91 == ((U8*)s)[0] ) ? \
2651 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x54 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2652 : ( 0xA2 == ((U8*)s)[0] ) ? \
2653 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
2654 : ( 0xA3 == ((U8*)s)[0] ) ? \
2655 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2656 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
2657 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x52 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2658 : ( ( ( 0xAB == ((U8*)s)[0] ) && ( 0x72 == ((U8*)s)[1] ) ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 )\
2660 ( ( 0x86 == ((U8*)s)[0] ) ? \
2661 ( ( 0x86 == ((U8*)s)[1] || 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 )\
2662 : ( ( 0xA2 == ((U8*)s)[0] ) && ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ) ? 2 : 0 )\
2666 /*** GENERATED CODE ***/
2667 #define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \
2669 ( ( 0x81 == ((U8*)s)[0] ) ? \
2670 ( ( ( 0xAB == ((U8*)s)[1] ) && ( 0x74 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2671 : ( 0x86 == ((U8*)s)[0] ) ? \
2672 ( ( 0x86 == ((U8*)s)[1] ) ? \
2673 ( ( 0x89 == ((U8*)s)[2] || 0x93 == ((U8*)s)[2] ) ? 3 : 2 ) \
2674 : ( 0x89 == ((U8*)s)[1] || 0x93 == ((U8*)s)[1] ) ? 2 : 0 ) \
2675 : ( 0x88 == ((U8*)s)[0] ) ? \
2676 ( ( ( 0xAF == ((U8*)s)[1] ) && ( 0x59 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2677 : ( 0x89 == ((U8*)s)[0] ) ? \
2678 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2679 : ( 0x90 == ((U8*)s)[0] ) ? \
2680 ( ( ( ( 0x75 == ((U8*)s)[1] ) && ( 0x90 == ((U8*)s)[2] ) ) && ( 0x75 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2681 : ( 0x91 == ((U8*)s)[0] ) ? \
2682 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x54 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2683 : ( 0xA2 == ((U8*)s)[0] ) ? \
2684 ( ( ( ((U8*)s)[1] & 0xFE ) == 0xA2 ) ? 2 : 0 ) \
2685 : ( 0xA3 == ((U8*)s)[0] ) ? \
2686 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2687 : ( 0xA6 == ((U8*)s)[0] || 0xA8 == ((U8*)s)[0] ) ? \
2688 ( ( ( 0xAE == ((U8*)s)[1] ) && ( 0x52 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2689 : ( 0xAB == ((U8*)s)[0] ) ? \
2690 ( ( ( 0x72 == ((U8*)s)[1] ) && ( 0x95 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2691 : ( 0xB3 == ((U8*)s)[0] ) ? \
2692 ( ( ( ((U8*)s)[1] & 0xFD ) == 0x54 ) ? \
2693 ( ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2694 : ( 0x59 == ((U8*)s)[1] || 0x67 == ((U8*)s)[1] ) ? \
2695 ( ( 0xB0 == ((U8*)s)[2] ) ? \
2696 ( ( 0x43 == ((U8*)s)[3] ) ? \
2697 ( ( ( 0xB3 == ((U8*)s)[4] ) && ( 0x69 == ((U8*)s)[5] ) ) ? 6 : 4 )\
2699 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2700 : ( 0x69 == ((U8*)s)[1] ) ? \
2701 ( ( 0xAE == ((U8*)s)[2] ) ? \
2702 ( ( 0x49 == ((U8*)s)[3] ) ? \
2703 ( ( 0xAE == ((U8*)s)[4] ) ? \
2704 ( ( 0x41 == ((U8*)s)[5] || 0x42 == ((U8*)s)[5] ) ? 6 : 0 )\
2705 : ( ( 0xB0 == ((U8*)s)[4] ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 0 )\
2707 : ( ( 0xB0 == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2709 : ( 0xB4 == ((U8*)s)[0] ) ? \
2710 ( ( 0x42 == ((U8*)s)[1] ) ? \
2711 ( ( ( 0xAE == ((U8*)s)[2] ) && ( 0x63 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2712 : ( 0x46 == ((U8*)s)[1] ) ? \
2713 ( ( 0xAE == ((U8*)s)[2] ) ? \
2714 ( ( 0x49 == ((U8*)s)[3] ) ? \
2715 ( ( 0xAE == ((U8*)s)[4] ) ? \
2716 ( ( 0x41 == ((U8*)s)[5] || 0x42 == ((U8*)s)[5] ) ? 6 : 0 )\
2717 : ( ( 0xB0 == ((U8*)s)[4] ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 0 )\
2718 : ( 0x63 == ((U8*)s)[3] ) ? \
2719 ( ( 0xAE == ((U8*)s)[4] ) ? \
2720 ( ( 0x41 == ((U8*)s)[5] || 0x42 == ((U8*)s)[5] ) ? 6 : 4 )\
2721 : ( ( 0xB0 == ((U8*)s)[4] ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 4 )\
2723 : ( ( 0xB0 == ((U8*)s)[2] ) && ( 0x43 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2724 : ( 0x51 == ((U8*)s)[1] ) ? \
2725 ( ( 0xB0 == ((U8*)s)[2] ) ? \
2726 ( ( 0x43 == ((U8*)s)[3] ) ? \
2727 ( ( ( 0xB3 == ((U8*)s)[4] ) && ( 0x69 == ((U8*)s)[5] ) ) ? 6 : 4 )\
2729 : ( ( 0xB3 == ((U8*)s)[2] ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2730 : ( ( ( 0x56 == ((U8*)s)[1] ) && ( 0xB3 == ((U8*)s)[2] ) ) && ( 0x69 == ((U8*)s)[3] ) ) ? 4 : 0 )\
2731 : ( 0xB7 == ((U8*)s)[0] ) ? \
2732 ( ( 0x53 == ((U8*)s)[1] ) ? \
2733 ( ( 0x46 == ((U8*)s)[2] ) ? \
2734 ( ( ( ( 0xB7 == ((U8*)s)[3] ) && ( 0x54 == ((U8*)s)[4] ) ) && ( 0x43 == ((U8*)s)[5] ) ) ? 6 : 0 )\
2735 : ( 0x64 == ((U8*)s)[2] ) ? \
2736 ( ( ( ( 0xB7 == ((U8*)s)[3] ) && ( 0x53 == ((U8*)s)[4] ) ) && ( ( ( ((U8*)s)[5] & 0xDF ) == 0x46 ) || ((U8*)s)[5] == 0x53 || ((U8*)s)[5] == 0x55 ) ) ? 6 : 0 )\
2737 : ( ( ( ( 0x74 == ((U8*)s)[2] ) && ( 0xB7 == ((U8*)s)[3] ) ) && ( 0x53 == ((U8*)s)[4] ) ) && ( 0x66 == ((U8*)s)[5] ) ) ? 6 : 0 )\
2739 : ( 0xC0 == ((U8*)s)[0] ) ? \
2740 ( ( ( ((U8*)s)[1] & 0xFE ) == 0x68 ) ? \
2741 ( ( ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) && ( 0xB3 == ((U8*)s)[3] ) ) && ( 0x69 == ((U8*)s)[4] ) ) ? 5 : 0 )\
2742 : ( ( ( ( 0x71 == ((U8*)s)[1] ) && ( ( 0x41 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x48 ) || 0x58 == ((U8*)s)[2] || 0x64 == ((U8*)s)[2] || 0x72 == ((U8*)s)[2] ) ) && ( 0xB3 == ((U8*)s)[3] ) ) && ( 0x69 == ((U8*)s)[4] ) ) ? 5 : 0 )\
2744 : ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )
2747 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
2749 ®charclass_multi_char_folds::multi_char_folds(0)
2751 /*** GENERATED CODE ***/
2752 #define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \
2754 ( ( ( ((U8*)s)[0] & 0xBF ) == 0x86 ) ? \
2755 ( ( ( ((U8*)s)[1] & 0xBF ) == 0x86 ) ? \
2756 ( ( ( ( ((U8*)s)[2] & 0xBF ) == 0x89 ) || ( ( ((U8*)s)[2] & 0xBF ) == 0x93 ) ) ? 3 : 2 )\
2757 : ( ( ( ((U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\
2758 : ( ( ( ((U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\
2760 ( ( ( ((U8*)s)[0] & 0xBF ) == 0x86 ) ? \
2761 ( ( ( ( ((U8*)s)[1] & 0xBF ) == 0x86 ) || ( ( ((U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\
2762 : ( ( ( ((U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\
2766 FOLDS_TO_MULTI: characters that fold to multi-char strings
2768 \p{_Perl_Folds_To_Multi_Char}
2770 /*** GENERATED CODE ***/
2771 #define is_FOLDS_TO_MULTI_utf8(s) \
2772 ( ( 0x8B == ((U8*)s)[0] ) ? \
2773 ( ( 0x75 == ((U8*)s)[1] ) ? 2 : 0 ) \
2774 : ( 0x8E == ((U8*)s)[0] || 0x9D == ((U8*)s)[0] || ( ((U8*)s)[0] & 0xFE ) == 0xB2 ) ?\
2775 ( ( 0x58 == ((U8*)s)[1] ) ? 2 : 0 ) \
2776 : ( 0x8F == ((U8*)s)[0] ) ? \
2777 ( ( 0x51 == ((U8*)s)[1] ) ? 2 : 0 ) \
2778 : ( 0xB7 == ((U8*)s)[0] ) ? \
2779 ( ( ( 0x54 == ((U8*)s)[1] ) && ( 0x48 == ((U8*)s)[2] ) ) ? 3 : 0 ) \
2780 : ( 0xC0 == ((U8*)s)[0] ) ? \
2781 ( ( 0x64 == ((U8*)s)[1] ) ? \
2782 ( ( ( ( ((U8*)s)[2] & 0xFE ) == 0x66 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFB ) == 0x70 ) ) ? 3 : 0 )\
2783 : ( 0x70 == ((U8*)s)[1] ) ? \
2784 ( ( ((U8*)s)[2] == 0x58 || ((U8*)s)[2] == 0x62 || ( ( ((U8*)s)[2] & 0xFD ) == 0x64 ) ) ? 3 : 0 )\
2785 : ( 0x72 == ((U8*)s)[1] ) ? \
2786 ( ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x70 ) ) ? 3 : 0 )\
2787 : ( 0x73 == ((U8*)s)[1] ) ? \
2788 ( ( ( ( ((U8*)s)[2] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[2] & 0xEE ) == 0x42 ) || ( ( ((U8*)s)[2] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x48 ) || ( ( ((U8*)s)[2] & 0xFA ) == 0x62 ) || ((U8*)s)[2] == 0x64 || ((U8*)s)[2] == 0x72 ) ? 3 : 0 )\
2789 : ( 0x74 == ((U8*)s)[1] ) ? \
2790 ( ( ( ( ((U8*)s)[2] & 0xFB ) == 0x43 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x44 ) || ((U8*)s)[2] == 0x48 || ((U8*)s)[2] == 0x54 || ( ( ((U8*)s)[2] & 0xFA ) == 0x62 ) ) ? 3 : 0 )\
2791 : ( ( 0x75 == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xFB ) == 0x43 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x44 ) || ((U8*)s)[2] == 0x48 || ( ( ((U8*)s)[2] & 0xFA ) == 0x62 ) || ((U8*)s)[2] == 0x64 || ((U8*)s)[2] == 0x72 ) ) ? 3 : 0 )\
2792 : ( ( ( ( 0xDC == ((U8*)s)[0] ) && ( 0x74 == ((U8*)s)[1] ) ) && ( 0x68 == ((U8*)s)[2] ) ) && ( ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) || ( 0x63 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x67 ) ) ) ? 4 : 0 )
2795 PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale
2797 \p{_Perl_Problematic_Locale_Folds}
2799 /*** GENERATED CODE ***/
2800 #define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \
2801 ( ( ( ( ((U8*)s)[0] & 0xC0 ) == 0x00 ) || ( ( ((U8*)s)[0] & 0xEF ) == 0x40 ) || ( ( ((U8*)s)[0] & 0xCE ) == 0x4A ) || ( ( ((U8*)s)[0] & 0xCC ) == 0x4C ) || ( ( ((U8*)s)[0] & 0xFE ) == 0x60 ) || ( ( ((U8*)s)[0] & 0xAF ) == 0x81 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x82 ) || ( ( ((U8*)s)[0] & 0xEC ) == 0x84 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x88 ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xA2 ) || ( ( ((U8*)s)[0] & 0xFC ) == 0xA4 ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xA8 ) || ( ( ((U8*)s)[0] & 0xBF ) == 0xBB ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xBC ) || ( ( ((U8*)s)[0] & 0xCE ) == 0xC2 ) || ( ( ((U8*)s)[0] & 0xCC ) == 0xC4 ) || ( ( ((U8*)s)[0] & 0xCE ) == 0xC8 ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xF0 ) || ( ( ((U8*)s)[0] & 0xFD ) == 0xFD ) ) ? 1\
2802 : ( 0x8A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x8C ) ? \
2803 ( ( ( ( ((U8*)s)[1] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[1] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[1] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[1] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[1] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[1] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[1] & 0xFA ) == 0x70 ) ) ? 2 : 0 )\
2804 : ( 0x8E == ((U8*)s)[0] || 0x9D == ((U8*)s)[0] ) ? \
2805 ( ( 0x58 == ((U8*)s)[1] ) ? 2 : 0 ) \
2806 : ( 0x8F == ((U8*)s)[0] ) ? \
2807 ( ( 0x51 == ((U8*)s)[1] ) ? 2 : 0 ) \
2808 : ( 0x90 == ((U8*)s)[0] ) ? \
2809 ( ( 0x68 == ((U8*)s)[1] || 0x75 == ((U8*)s)[1] ) ? 2 : 0 ) \
2810 : ( ( ((U8*)s)[0] & 0xFE ) == 0xB2 ) ? \
2811 ( ( 0x72 == ((U8*)s)[1] ) ? 2 : 0 ) \
2812 : ( 0xC0 == ((U8*)s)[0] ) ? \
2813 ( ( ( 0x64 == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xFE ) == 0x66 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFB ) == 0x70 ) ) ) ? 3 : 0 )\
2814 : ( 0xCA == ((U8*)s)[0] ) ? \
2815 ( ( ( 0x51 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x52 ) ) ? 3 : 0 )\
2816 : ( ( ( ( 0xDC == ((U8*)s)[0] ) && ( 0x74 == ((U8*)s)[1] ) ) && ( 0x68 == ((U8*)s)[2] ) ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 )
2818 /*** GENERATED CODE ***/
2819 #define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \
2820 ( cp <= 0xFF || ( 0xFF < cp && \
2821 ( 0x130 == cp || ( 0x130 < cp && \
2822 ( 0x149 == cp || ( 0x149 < cp && \
2823 ( 0x178 == cp || ( 0x178 < cp && \
2824 ( 0x17F == cp || ( 0x17F < cp && \
2825 ( 0x1F0 == cp || ( 0x1F0 < cp && \
2826 ( 0x39C == cp || ( 0x39C < cp && \
2827 ( 0x3BC == cp || ( 0x3BC < cp && \
2828 ( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
2829 ( 0x1E9E == cp || ( 0x1E9E < cp && \
2830 ( 0x212A == cp || ( 0x212A < cp && \
2831 ( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
2834 PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale
2836 \p{_Perl_Problematic_Locale_Foldeds_Start}
2838 /*** GENERATED CODE ***/
2839 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \
2840 ( ( ( ( ((U8*)s)[0] & 0xC0 ) == 0x00 ) || ( ( ((U8*)s)[0] & 0xEF ) == 0x40 ) || ( ( ((U8*)s)[0] & 0xCE ) == 0x4A ) || ( ( ((U8*)s)[0] & 0xCC ) == 0x4C ) || ( ( ((U8*)s)[0] & 0xFE ) == 0x60 ) || ( ( ((U8*)s)[0] & 0xAF ) == 0x81 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x82 ) || ( ( ((U8*)s)[0] & 0xEC ) == 0x84 ) || ( ( ((U8*)s)[0] & 0xEE ) == 0x88 ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xA2 ) || ( ( ((U8*)s)[0] & 0xFC ) == 0xA4 ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xA8 ) || ( ( ((U8*)s)[0] & 0xBF ) == 0xBB ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xBC ) || ( ( ((U8*)s)[0] & 0xCE ) == 0xC2 ) || ( ( ((U8*)s)[0] & 0xCC ) == 0xC4 ) || ( ( ((U8*)s)[0] & 0xCE ) == 0xC8 ) || ( ( ((U8*)s)[0] & 0xFE ) == 0xF0 ) || ( ( ((U8*)s)[0] & 0xFD ) == 0xFD ) ) ? 1\
2841 : ( 0x8A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x8C ) ? \
2842 ( ( ( ( ((U8*)s)[1] & 0xEF ) == 0x41 ) || ( ( ((U8*)s)[1] & 0xCE ) == 0x42 ) || ( ( ((U8*)s)[1] & 0xEC ) == 0x44 ) || ( ( ((U8*)s)[1] & 0xEE ) == 0x48 ) || ( ( ((U8*)s)[1] & 0xFC ) == 0x64 ) || ( ( ((U8*)s)[1] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[1] & 0xFA ) == 0x70 ) ) ? 2 : 0 )\
2843 : ( 0x8E == ((U8*)s)[0] || 0x9D == ((U8*)s)[0] ) ? \
2844 ( ( 0x58 == ((U8*)s)[1] ) ? 2 : 0 ) \
2845 : ( 0x8F == ((U8*)s)[0] ) ? \
2846 ( ( 0x51 == ((U8*)s)[1] ) ? 2 : 0 ) \
2847 : ( 0x90 == ((U8*)s)[0] ) ? \
2848 ( ( 0x68 == ((U8*)s)[1] || 0x75 == ((U8*)s)[1] ) ? 2 : 0 ) \
2849 : ( 0xAB == ((U8*)s)[0] || ( ((U8*)s)[0] & 0xFE ) == 0xB2 ) ? \
2850 ( ( 0x72 == ((U8*)s)[1] ) ? 2 : 0 ) \
2851 : ( 0xC0 == ((U8*)s)[0] ) ? \
2852 ( ( ( 0x64 == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xFE ) == 0x66 ) || ( ( ((U8*)s)[2] & 0xFE ) == 0x68 ) || ( ( ((U8*)s)[2] & 0xFB ) == 0x70 ) ) ) ? 3 : 0 )\
2853 : ( 0xCA == ((U8*)s)[0] ) ? \
2854 ( ( ( 0x51 == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x52 ) ) ? 3 : 0 )\
2855 : ( ( ( ( 0xDC == ((U8*)s)[0] ) && ( 0x74 == ((U8*)s)[1] ) ) && ( 0x68 == ((U8*)s)[2] ) ) && ( 0x41 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0x47 ) ) ? 4 : 0 )
2857 /*** GENERATED CODE ***/
2858 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \
2859 ( cp <= 0xFF || ( 0xFF < cp && \
2860 ( 0x130 == cp || ( 0x130 < cp && \
2861 ( 0x149 == cp || ( 0x149 < cp && \
2862 ( 0x178 == cp || ( 0x178 < cp && \
2863 ( 0x17F == cp || ( 0x17F < cp && \
2864 ( 0x1F0 == cp || ( 0x1F0 < cp && \
2865 ( 0x2BC == cp || ( 0x2BC < cp && \
2866 ( 0x39C == cp || ( 0x39C < cp && \
2867 ( 0x3BC == cp || ( 0x3BC < cp && \
2868 ( ( 0x1E96 <= cp && cp <= 0x1E9A ) || ( 0x1E9A < cp && \
2869 ( 0x1E9E == cp || ( 0x1E9E < cp && \
2870 ( 0x212A == cp || ( 0x212A < cp && \
2871 ( 0x212B == cp || ( 0xFB00 <= cp && cp <= 0xFB06 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
2874 PATWS: pattern white space
2878 /*** GENERATED CODE ***/
2879 #define is_PATWS_safe(s,e,is_utf8) \
2880 ( ( LIKELY((e) > (s)) ) ? \
2881 ( ( ( ( ((U8*)s)[0] & 0xEF ) == 0x05 ) || ((U8*)s)[0] == 0x0B || ( ( ((U8*)s)[0] & 0xFE ) == 0x0C ) || ((U8*)s)[0] == 0x25 || ((U8*)s)[0] == 0x40 ) ? 1\
2882 : ( ( is_utf8 && LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) && ( 0xCA == ((U8*)s)[0] ) ) ? ( ( 0x41 == ((U8*)s)[1] ) ?\
2883 ( ( ( ((U8*)s)[2] & 0xFE ) == 0x56 ) ? 3 : 0 ) \
2884 : ( ( 0x42 == ((U8*)s)[1] ) && ( 0x49 == ((U8*)s)[2] || 0x51 == ((U8*)s)[2] ) ) ? 3 : 0 ) : 0 )\
2887 /*** GENERATED CODE ***/
2888 #define is_PATWS_cp(cp) \
2889 ( 0x05 == cp || ( 0x05 < cp && \
2890 ( ( 0x0B <= cp && cp <= 0x0D ) || ( 0x0D < cp && \
2891 ( 0x15 == cp || ( 0x15 < cp && \
2892 ( 0x25 == cp || ( 0x25 < cp && \
2893 ( 0x40 == cp || ( 0x40 < cp && \
2894 ( 0x200E == cp || ( 0x200E < cp && \
2895 ( 0x200F == cp || ( 0x200F < cp && \
2896 ( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
2898 #endif /* EBCDIC POSIX-BC */
2900 #endif /* H_REGCHARCLASS */