1 /* -*- buffer-read-only: t -*- 2 * 3 * regcharclass.h 4 * 5 * Copyright (C) 2007, 2011 by Larry Wall and others 6 * 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. 9 * 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. 15 */ 16 17 18 #ifndef PERL_REGCHARCLASS_H_ /* Guard against nested #includes */ 19 #define PERL_REGCHARCLASS_H_ 20 21 #if 'A' == 65 /* ASCII/Latin1 */ 22 /* 23 LNBREAK: Line Break: \R 24 25 "\x0D\x0A" # CRLF - Network (Windows) line ending 26 \p{VertSpace} 27 */ 28 /*** GENERATED CODE ***/ 29 #define is_LNBREAK_safe(s,e,is_utf8) \ 30 ( ((e)-(s) > 2) ? \ 31 ( ( inRANGE(((const U8*)s)[0], 0x0A, 0x0C ) ) ? 1 \ 32 : ( 0x0D == ((const U8*)s)[0] ) ? \ 33 ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) \ 34 : ( is_utf8 ) ? \ 35 ( ( 0xC2 == ((const U8*)s)[0] ) ? \ 36 ( ( 0x85 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 37 : ( ( ( 0xE2 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0xA8, 0xA9 ) ) ) ? 3 : 0 )\ 38 : ( 0x85 == ((const U8*)s)[0] ) ) \ 39 : ((e)-(s) > 1) ? \ 40 ( ( inRANGE(((const U8*)s)[0], 0x0A, 0x0C ) ) ? 1 \ 41 : ( 0x0D == ((const U8*)s)[0] ) ? \ 42 ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) \ 43 : ( is_utf8 ) ? \ 44 ( ( ( 0xC2 == ((const U8*)s)[0] ) && ( 0x85 == ((const U8*)s)[1] ) ) ? 2 : 0 )\ 45 : ( 0x85 == ((const U8*)s)[0] ) ) \ 46 : ((e)-(s) > 0) ? \ 47 ( ( inRANGE(((const U8*)s)[0], 0x0A, 0x0D ) ) ? 1 \ 48 : ( !( is_utf8 ) ) ? \ 49 ( 0x85 == ((const U8*)s)[0] ) \ 50 : 0 ) \ 51 : 0 ) 52 53 /*** GENERATED CODE ***/ 54 #define is_LNBREAK_utf8_safe(s,e) \ 55 ( ((e)-(s) > 2) ? \ 56 ( ( inRANGE(((const U8*)s)[0], 0x0A, 0x0C ) ) ? 1 \ 57 : ( 0x0D == ((const U8*)s)[0] ) ? \ 58 ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) \ 59 : ( 0xC2 == ((const U8*)s)[0] ) ? \ 60 ( ( 0x85 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 61 : ( ( ( 0xE2 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0xA8, 0xA9 ) ) ) ? 3 : 0 )\ 62 : ((e)-(s) > 1) ? \ 63 ( ( inRANGE(((const U8*)s)[0], 0x0A, 0x0C ) ) ? 1 \ 64 : ( 0x0D == ((const U8*)s)[0] ) ? \ 65 ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) \ 66 : ( ( 0xC2 == ((const U8*)s)[0] ) && ( 0x85 == ((const U8*)s)[1] ) ) ? 2 : 0 )\ 67 : ((e)-(s) > 0) ? \ 68 ( inRANGE(((const U8*)s)[0], 0x0A, 0x0D ) ) \ 69 : 0 ) 70 71 /*** GENERATED CODE ***/ 72 #define is_LNBREAK_latin1_safe(s,e) \ 73 ( ((e)-(s) > 1) ? \ 74 ( ( inRANGE(((const U8*)s)[0], 0x0A, 0x0C ) || 0x85 == ((const U8*)s)[0] ) ? 1\ 75 : ( 0x0D == ((const U8*)s)[0] ) ? \ 76 ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) \ 77 : 0 ) \ 78 : ((e)-(s) > 0) ? \ 79 ( inRANGE(((const U8*)s)[0], 0x0A, 0x0D ) || 0x85 == ((const U8*)s)[0] )\ 80 : 0 ) 81 82 /* 83 HORIZWS: Horizontal Whitespace: \h \H 84 85 \p{HorizSpace} 86 */ 87 /*** GENERATED CODE ***/ 88 #define is_HORIZWS_high(s) \ 89 ( ( 0xE1 == ((const U8*)s)[0] ) ? \ 90 ( ( ( 0x9A == ((const U8*)s)[1] ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 91 : ( 0xE2 == ((const U8*)s)[0] ) ? \ 92 ( ( 0x80 == ((const U8*)s)[1] ) ? \ 93 ( ( inRANGE(((const U8*)s)[2], 0x80, 0x8A ) || 0xAF == ((const U8*)s)[2] ) ? 3 : 0 )\ 94 : ( ( 0x81 == ((const U8*)s)[1] ) && ( 0x9F == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 95 : ( ( ( 0xE3 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 ) 96 97 /*** GENERATED CODE ***/ 98 #define is_HORIZWS_cp_high(cp) \ 99 ( 0x1680 == cp || ( 0x1680 < cp && \ 100 ( inRANGE(cp, 0x2000, 0x200A) || ( 0x200A < cp && \ 101 ( 0x202F == cp || ( 0x202F < cp && \ 102 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) 103 104 /* 105 VERTWS: Vertical Whitespace: \v \V 106 107 \p{VertSpace} 108 */ 109 /*** GENERATED CODE ***/ 110 #define is_VERTWS_high(s) \ 111 ( ( ( ( 0xE2 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0xA8, 0xA9 ) ) ) ? 3 : 0 ) 112 113 /*** GENERATED CODE ***/ 114 #define is_VERTWS_cp_high(cp) \ 115 ( 0x2028 == cp || 0x2029 == cp ) 116 117 /* 118 XDIGIT: Hexadecimal digits 119 120 \p{XDigit} 121 */ 122 /*** GENERATED CODE ***/ 123 #define is_XDIGIT_high(s) \ 124 ( ( 0xEF == ((const U8*)s)[0] ) ? \ 125 ( ( 0xBC == ((const U8*)s)[1] ) ? \ 126 ( ( inRANGE(((const U8*)s)[2], 0x90, 0x99 ) || inRANGE(((const U8*)s)[2], 0xA1, 0xA6 ) ) ? 3 : 0 )\ 127 : ( ( 0xBD == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x81, 0x86 ) ) ) ? 3 : 0 )\ 128 : 0 ) 129 130 /*** GENERATED CODE ***/ 131 #define is_XDIGIT_cp_high(cp) \ 132 ( inRANGE(cp, 0xFF10, 0xFF19) || ( 0xFF19 < cp && \ 133 ( inRANGE(cp, 0xFF21, 0xFF26) || inRANGE(cp, 0xFF41, 0xFF46) ) ) ) 134 135 /* 136 XPERLSPACE: \p{XPerlSpace} 137 138 \p{XPerlSpace} 139 */ 140 /*** GENERATED CODE ***/ 141 #define is_XPERLSPACE_high(s) \ 142 ( ( 0xE1 == ((const U8*)s)[0] ) ? \ 143 ( ( ( 0x9A == ((const U8*)s)[1] ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 144 : ( 0xE2 == ((const U8*)s)[0] ) ? \ 145 ( ( 0x80 == ((const U8*)s)[1] ) ? \ 146 ( ( inRANGE(((const U8*)s)[2], 0x80, 0x8A ) || inRANGE(((const U8*)s)[2], 0xA8, 0xA9 ) || 0xAF == ((const U8*)s)[2] ) ? 3 : 0 )\ 147 : ( ( 0x81 == ((const U8*)s)[1] ) && ( 0x9F == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 148 : ( ( ( 0xE3 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 ) 149 150 /*** GENERATED CODE ***/ 151 #define is_XPERLSPACE_cp_high(cp) \ 152 ( 0x1680 == cp || ( 0x1680 < cp && \ 153 ( inRANGE(cp, 0x2000, 0x200A) || ( 0x200A < cp && \ 154 ( 0x2028 == cp || ( 0x2028 < cp && \ 155 ( 0x2029 == cp || ( 0x2029 < cp && \ 156 ( 0x202F == cp || ( 0x202F < cp && \ 157 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) ) 158 159 /* 160 NONCHAR: Non character code points 161 162 \p{_Perl_Nchar} 163 */ 164 /*** GENERATED CODE ***/ 165 #define is_NONCHAR_utf8_safe(s,e) \ 166 ( ( ( LIKELY((e) > (s)) ) && ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ) ? ( ( 0xEF == ((const U8*)s)[0] ) ?\ 167 ( ( 0xB7 == ((const U8*)s)[1] ) ? \ 168 ( ( inRANGE(((const U8*)s)[2], 0x90, 0xAF ) ) ? 3 : 0 ) \ 169 : ( ( 0xBF == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0xBE, 0xBF ) ) ) ? 3 : 0 )\ 170 : ( 0xF0 == ((const U8*)s)[0] ) ? \ 171 ( ( ( ( ((const U8*)s)[1] == 0x9F || ( ( ((const U8*)s)[1] & 0xEF ) == 0xAF ) ) && ( 0xBF == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0xBE, 0xBF ) ) ) ? 4 : 0 )\ 172 : ( inRANGE(((const U8*)s)[0], 0xF1, 0xF3 ) ) ? \ 173 ( ( ( ( ( ((const U8*)s)[1] & 0xCF ) == 0x8F ) && ( 0xBF == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0xBE, 0xBF ) ) ) ? 4 : 0 )\ 174 : ( ( ( ( 0xF4 == ((const U8*)s)[0] ) && ( 0x8F == ((const U8*)s)[1] ) ) && ( 0xBF == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0xBE, 0xBF ) ) ) ? 4 : 0 ) : 0 ) 175 176 /* 177 SURROGATE: Surrogate code points 178 179 \p{_Perl_Surrogate} 180 */ 181 /*** GENERATED CODE ***/ 182 #define is_SURROGATE_utf8_safe(s,e) \ 183 ( ( ( ( ( ((e) - (s)) >= 3 ) && ( 0xED == ((const U8*)s)[0] ) ) && ( inRANGE(((const U8*)s)[1], 0xA0, 0xBF ) ) ) && ( inRANGE(((const U8*)s)[2], 0x80, 0xBF ) ) ) ? 3 : 0 ) 184 185 /* 186 QUOTEMETA: Meta-characters that \Q should quote 187 188 \p{_Perl_Quotemeta} 189 */ 190 /*** GENERATED CODE ***/ 191 #define is_QUOTEMETA_high(s) \ 192 ( ( 0xCD == ((const U8*)s)[0] ) ? \ 193 ( ( 0x8F == ((const U8*)s)[1] ) ? 2 : 0 ) \ 194 : ( 0xD8 == ((const U8*)s)[0] ) ? \ 195 ( ( 0x9C == ((const U8*)s)[1] ) ? 2 : 0 ) \ 196 : ( 0xE1 == ((const U8*)s)[0] ) ? \ 197 ( ( 0x85 == ((const U8*)s)[1] ) ? \ 198 ( ( inRANGE(((const U8*)s)[2], 0x9F, 0xA0 ) ) ? 3 : 0 ) \ 199 : ( 0x9A == ((const U8*)s)[1] ) ? \ 200 ( ( 0x80 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 201 : ( 0x9E == ((const U8*)s)[1] ) ? \ 202 ( ( inRANGE(((const U8*)s)[2], 0xB4, 0xB5 ) ) ? 3 : 0 ) \ 203 : ( ( 0xA0 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x8B, 0x8E ) ) ) ? 3 : 0 )\ 204 : ( 0xE2 == ((const U8*)s)[0] ) ? \ 205 ( ( 0x80 == ((const U8*)s)[1] ) ? \ 206 ( ( inRANGE(((const U8*)s)[2], 0x80, 0xBE ) ) ? 3 : 0 ) \ 207 : ( 0x81 == ((const U8*)s)[1] ) ? \ 208 ( ( inRANGE(((const U8*)s)[2], 0x81, 0x93 ) || inRANGE(((const U8*)s)[2], 0x95, 0xAF ) ) ? 3 : 0 )\ 209 : ( 0x86 == ((const U8*)s)[1] ) ? \ 210 ( ( inRANGE(((const U8*)s)[2], 0x90, 0xBF ) ) ? 3 : 0 ) \ 211 : ( inRANGE(((const U8*)s)[1], 0x87, 0x90 ) || inRANGE(((const U8*)s)[1], 0x94, 0x9C ) || inRANGE(((const U8*)s)[1], 0x9F, 0xAF ) || inRANGE(((const U8*)s)[1], 0xB8, 0xB9 ) ) ?\ 212 3 \ 213 : ( 0x91 == ((const U8*)s)[1] ) ? \ 214 ( ( inRANGE(((const U8*)s)[2], 0x80, 0x9F ) ) ? 3 : 0 ) \ 215 : ( 0x9D == ((const U8*)s)[1] ) ? \ 216 ( ( inRANGE(((const U8*)s)[2], 0x80, 0xB5 ) ) ? 3 : 0 ) \ 217 : ( ( 0x9E == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x94, 0xBF ) ) ) ? 3 : 0 )\ 218 : ( 0xE3 == ((const U8*)s)[0] ) ? \ 219 ( ( 0x80 == ((const U8*)s)[1] ) ? \ 220 ( ( inRANGE(((const U8*)s)[2], 0x80, 0x83 ) || inRANGE(((const U8*)s)[2], 0x88, 0xA0 ) || 0xB0 == ((const U8*)s)[2] ) ? 3 : 0 )\ 221 : ( ( 0x85 == ((const U8*)s)[1] ) && ( 0xA4 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 222 : ( 0xEF == ((const U8*)s)[0] ) ? \ 223 ( ( 0xB4 == ((const U8*)s)[1] ) ? \ 224 ( ( inRANGE(((const U8*)s)[2], 0xBE, 0xBF ) ) ? 3 : 0 ) \ 225 : ( 0xB8 == ((const U8*)s)[1] ) ? \ 226 ( ( inRANGE(((const U8*)s)[2], 0x80, 0x8F ) ) ? 3 : 0 ) \ 227 : ( 0xB9 == ((const U8*)s)[1] ) ? \ 228 ( ( inRANGE(((const U8*)s)[2], 0x85, 0x86 ) ) ? 3 : 0 ) \ 229 : ( 0xBB == ((const U8*)s)[1] ) ? \ 230 ( ( 0xBF == ((const U8*)s)[2] ) ? 3 : 0 ) \ 231 : ( 0xBE == ((const U8*)s)[1] ) ? \ 232 ( ( 0xA0 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 233 : ( ( 0xBF == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0xB0, 0xB8 ) ) ) ? 3 : 0 )\ 234 : ( 0xF0 == ((const U8*)s)[0] ) ? \ 235 ( ( 0x9B == ((const U8*)s)[1] ) ? \ 236 ( ( ( 0xB2 == ((const U8*)s)[2] ) && ( inRANGE(((const U8*)s)[3], 0xA0, 0xA3 ) ) ) ? 4 : 0 )\ 237 : ( ( ( 0x9D == ((const U8*)s)[1] ) && ( 0x85 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0xB3, 0xBA ) ) ) ? 4 : 0 )\ 238 : ( ( 0xF3 == ((const U8*)s)[0] ) && ( 0xA0 == ((const U8*)s)[1] ) ) ? 4 : 0 ) 239 240 /* 241 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character 242 243 ®charclass_multi_char_folds::multi_char_folds('u', 'a') 244 */ 245 /*** GENERATED CODE ***/ 246 #define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \ 247 ( ( 0x61 == ((const U8*)s)[0] ) ? \ 248 ( ( ( 0xCA == ((const U8*)s)[1] ) && ( 0xBE == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 249 : ( 0x66 == ((const U8*)s)[0] ) ? \ 250 ( ( 0x66 == ((const U8*)s)[1] ) ? \ 251 ( ( 0x69 == ((const U8*)s)[2] || 0x6C == ((const U8*)s)[2] ) ? 3 : 2 )\ 252 : ( 0x69 == ((const U8*)s)[1] || 0x6C == ((const U8*)s)[1] ) ? 2 : 0 )\ 253 : ( 0x68 == ((const U8*)s)[0] ) ? \ 254 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 255 : ( 0x69 == ((const U8*)s)[0] ) ? \ 256 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x87 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 257 : ( 0x6A == ((const U8*)s)[0] ) ? \ 258 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8C == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 259 : ( 0x73 == ((const U8*)s)[0] ) ? \ 260 ( ( inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ? 2 : 0 ) \ 261 : ( 0x74 == ((const U8*)s)[0] ) ? \ 262 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x88 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 263 : ( 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? \ 264 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 265 : ( 0xC5 == ((const U8*)s)[0] ) ? \ 266 ( ( ( ( 0xBF == ((const U8*)s)[1] ) && ( 0xC5 == ((const U8*)s)[2] ) ) && ( 0xBF == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 267 : ( 0xCA == ((const U8*)s)[0] ) ? \ 268 ( ( ( 0xBC == ((const U8*)s)[1] ) && ( 0x6E == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 269 : ( 0xCE == ((const U8*)s)[0] ) ? \ 270 ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) ? \ 271 ( ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 272 : ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((const U8*)s)[1] ) ? \ 273 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 274 ( ( 0x82 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 275 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 276 : ( ( ( 0xB9 == ((const U8*)s)[1] ) && ( 0xCD == ((const U8*)s)[2] ) ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 277 : ( 0xCF == ((const U8*)s)[0] ) ? \ 278 ( ( 0x81 == ((const U8*)s)[1] ) ? \ 279 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x93 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 280 : ( 0x85 == ((const U8*)s)[1] ) ? \ 281 ( ( 0xCC == ((const U8*)s)[2] ) ? \ 282 ( ( 0x93 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 283 : ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 284 : ( 0x89 == ((const U8*)s)[1] ) ? \ 285 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 286 ( ( 0x82 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 287 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 288 : ( ( ( 0x8E == ((const U8*)s)[1] ) && ( 0xCE == ((const U8*)s)[2] ) ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 289 : ( 0xD5 == ((const U8*)s)[0] ) ? \ 290 ( ( 0xA5 == ((const U8*)s)[1] ) ? \ 291 ( ( ( 0xD6 == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 292 : ( 0xB4 == ((const U8*)s)[1] ) ? \ 293 ( ( ( 0xD5 == ((const U8*)s)[2] ) && ( ( ( ((const U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((const U8*)s)[3] == 0xAB || ((const U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\ 294 : ( ( ( 0xBE == ((const U8*)s)[1] ) && ( 0xD5 == ((const U8*)s)[2] ) ) && ( 0xB6 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 295 : ( 0xE1 == ((const U8*)s)[0] ) ? \ 296 ( ( 0xBC == ((const U8*)s)[1] ) ? \ 297 ( ( ( ( ( ((const U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((const U8*)s)[3] ) ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 298 : ( ( ( ( 0xBD == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((const U8*)s)[2] & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0xBC ) ) && ( 0xCE == ((const U8*)s)[3] ) ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 299 : 0 ) 300 301 302 /*** GENERATED CODE ***/ 303 #define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) \ 304 ( ((e)-(s) > 3) ? \ 305 ( ( 0x61 == ((const U8*)s)[0] ) ? \ 306 ( ( ( 0xCA == ((const U8*)s)[1] ) && ( 0xBE == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 307 : ( 0x66 == ((const U8*)s)[0] ) ? \ 308 ( ( 0x66 == ((const U8*)s)[1] ) ? \ 309 ( ( 0x69 == ((const U8*)s)[2] || 0x6C == ((const U8*)s)[2] ) ? 3 : 2 )\ 310 : ( 0x69 == ((const U8*)s)[1] || 0x6C == ((const U8*)s)[1] ) ? 2 : 0 )\ 311 : ( 0x68 == ((const U8*)s)[0] ) ? \ 312 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 313 : ( 0x69 == ((const U8*)s)[0] ) ? \ 314 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x87 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 315 : ( 0x6A == ((const U8*)s)[0] ) ? \ 316 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8C == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 317 : ( 0x73 == ((const U8*)s)[0] ) ? \ 318 ( ( inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ? 2 : 0 ) \ 319 : ( 0x74 == ((const U8*)s)[0] ) ? \ 320 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x88 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 321 : ( 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? \ 322 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 323 : ( 0xC5 == ((const U8*)s)[0] ) ? \ 324 ( ( ( ( 0xBF == ((const U8*)s)[1] ) && ( 0xC5 == ((const U8*)s)[2] ) ) && ( 0xBF == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 325 : ( 0xCA == ((const U8*)s)[0] ) ? \ 326 ( ( ( 0xBC == ((const U8*)s)[1] ) && ( 0x6E == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 327 : ( 0xCE == ((const U8*)s)[0] ) ? \ 328 ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) ? \ 329 ( ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 330 : ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((const U8*)s)[1] ) ? \ 331 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 332 ( ( 0x82 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 333 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 334 : ( ( ( 0xB9 == ((const U8*)s)[1] ) && ( 0xCD == ((const U8*)s)[2] ) ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 335 : ( 0xCF == ((const U8*)s)[0] ) ? \ 336 ( ( 0x81 == ((const U8*)s)[1] ) ? \ 337 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x93 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 338 : ( 0x85 == ((const U8*)s)[1] ) ? \ 339 ( ( 0xCC == ((const U8*)s)[2] ) ? \ 340 ( ( 0x93 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 341 : ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 342 : ( 0x89 == ((const U8*)s)[1] ) ? \ 343 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 344 ( ( 0x82 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 345 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 346 : ( ( ( 0x8E == ((const U8*)s)[1] ) && ( 0xCE == ((const U8*)s)[2] ) ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 347 : ( 0xD5 == ((const U8*)s)[0] ) ? \ 348 ( ( 0xA5 == ((const U8*)s)[1] ) ? \ 349 ( ( ( 0xD6 == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 350 : ( 0xB4 == ((const U8*)s)[1] ) ? \ 351 ( ( ( 0xD5 == ((const U8*)s)[2] ) && ( ( ( ((const U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((const U8*)s)[3] == 0xAB || ((const U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\ 352 : ( ( ( 0xBE == ((const U8*)s)[1] ) && ( 0xD5 == ((const U8*)s)[2] ) ) && ( 0xB6 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 353 : 0 ) \ 354 : ((e)-(s) > 2) ? \ 355 ( ( 0x61 == ((const U8*)s)[0] ) ? \ 356 ( ( ( 0xCA == ((const U8*)s)[1] ) && ( 0xBE == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 357 : ( 0x66 == ((const U8*)s)[0] ) ? \ 358 ( ( 0x66 == ((const U8*)s)[1] ) ? \ 359 ( ( 0x69 == ((const U8*)s)[2] || 0x6C == ((const U8*)s)[2] ) ? 3 : 2 )\ 360 : ( 0x69 == ((const U8*)s)[1] || 0x6C == ((const U8*)s)[1] ) ? 2 : 0 )\ 361 : ( 0x68 == ((const U8*)s)[0] ) ? \ 362 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 363 : ( 0x69 == ((const U8*)s)[0] ) ? \ 364 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x87 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 365 : ( 0x6A == ((const U8*)s)[0] ) ? \ 366 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8C == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 367 : ( 0x73 == ((const U8*)s)[0] ) ? \ 368 ( ( inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ? 2 : 0 ) \ 369 : ( 0x74 == ((const U8*)s)[0] ) ? \ 370 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x88 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 371 : ( 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? \ 372 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 373 : ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0xBC == ((const U8*)s)[1] ) ) && ( 0x6E == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 374 : ((e)-(s) > 1) ? \ 375 ( ( 0x66 == ((const U8*)s)[0] ) ? \ 376 ( ( 0x66 == ((const U8*)s)[1] || 0x69 == ((const U8*)s)[1] || 0x6C == ((const U8*)s)[1] ) ? 2 : 0 )\ 377 : ( ( 0x73 == ((const U8*)s)[0] ) && ( inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ) ? 2 : 0 )\ 378 : 0 ) 379 380 381 /*** GENERATED CODE ***/ 382 #define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \ 383 ( ((e)-(s) > 5) ? \ 384 ( ( 0x61 == ((const U8*)s)[0] ) ? \ 385 ( ( ( 0xCA == ((const U8*)s)[1] ) && ( 0xBE == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 386 : ( 0x66 == ((const U8*)s)[0] ) ? \ 387 ( ( 0x66 == ((const U8*)s)[1] ) ? \ 388 ( ( 0x69 == ((const U8*)s)[2] || 0x6C == ((const U8*)s)[2] ) ? 3 : 2 )\ 389 : ( 0x69 == ((const U8*)s)[1] || 0x6C == ((const U8*)s)[1] ) ? 2 : 0 )\ 390 : ( 0x68 == ((const U8*)s)[0] ) ? \ 391 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 392 : ( 0x69 == ((const U8*)s)[0] ) ? \ 393 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x87 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 394 : ( 0x6A == ((const U8*)s)[0] ) ? \ 395 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8C == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 396 : ( 0x73 == ((const U8*)s)[0] ) ? \ 397 ( ( inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ? 2 : 0 ) \ 398 : ( 0x74 == ((const U8*)s)[0] ) ? \ 399 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x88 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 400 : ( 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? \ 401 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 402 : ( 0xC5 == ((const U8*)s)[0] ) ? \ 403 ( ( ( ( 0xBF == ((const U8*)s)[1] ) && ( 0xC5 == ((const U8*)s)[2] ) ) && ( 0xBF == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 404 : ( 0xCA == ((const U8*)s)[0] ) ? \ 405 ( ( ( 0xBC == ((const U8*)s)[1] ) && ( 0x6E == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 406 : ( 0xCE == ((const U8*)s)[0] ) ? \ 407 ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) ? \ 408 ( ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 409 : ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((const U8*)s)[1] ) ? \ 410 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 411 ( ( 0x82 == ((const U8*)s)[3] ) ? \ 412 ( ( ( 0xCE == ((const U8*)s)[4] ) && ( 0xB9 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ 413 : 0 ) \ 414 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 415 : ( 0xB9 == ((const U8*)s)[1] ) ? \ 416 ( ( 0xCC == ((const U8*)s)[2] ) ? \ 417 ( ( 0x88 == ((const U8*)s)[3] ) ? \ 418 ( ( 0xCC == ((const U8*)s)[4] ) ? \ 419 ( ( inRANGE(((const U8*)s)[5], 0x80, 0x81 ) ) ? 6 : 0 )\ 420 : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 421 : 0 ) \ 422 : ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 423 : 0 ) \ 424 : ( 0xCF == ((const U8*)s)[0] ) ? \ 425 ( ( 0x81 == ((const U8*)s)[1] ) ? \ 426 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x93 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 427 : ( 0x85 == ((const U8*)s)[1] ) ? \ 428 ( ( 0xCC == ((const U8*)s)[2] ) ? \ 429 ( ( 0x88 == ((const U8*)s)[3] ) ? \ 430 ( ( 0xCC == ((const U8*)s)[4] ) ? \ 431 ( ( inRANGE(((const U8*)s)[5], 0x80, 0x81 ) ) ? 6 : 0 )\ 432 : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 433 : ( 0x93 == ((const U8*)s)[3] ) ? \ 434 ( ( 0xCC == ((const U8*)s)[4] ) ? \ 435 ( ( inRANGE(((const U8*)s)[5], 0x80, 0x81 ) ) ? 6 : 4 )\ 436 : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ 437 : 0 ) \ 438 : ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 439 : ( 0x89 == ((const U8*)s)[1] ) ? \ 440 ( ( 0xCD == ((const U8*)s)[2] ) ? \ 441 ( ( 0x82 == ((const U8*)s)[3] ) ? \ 442 ( ( ( 0xCE == ((const U8*)s)[4] ) && ( 0xB9 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ 443 : 0 ) \ 444 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 445 : ( ( ( 0x8E == ((const U8*)s)[1] ) && ( 0xCE == ((const U8*)s)[2] ) ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 446 : ( 0xD5 == ((const U8*)s)[0] ) ? \ 447 ( ( 0xA5 == ((const U8*)s)[1] ) ? \ 448 ( ( ( 0xD6 == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 449 : ( 0xB4 == ((const U8*)s)[1] ) ? \ 450 ( ( ( 0xD5 == ((const U8*)s)[2] ) && ( ( ( ((const U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((const U8*)s)[3] == 0xAB || ((const U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\ 451 : ( ( ( 0xBE == ((const U8*)s)[1] ) && ( 0xD5 == ((const U8*)s)[2] ) ) && ( 0xB6 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 452 : ( 0xE1 == ((const U8*)s)[0] ) ? \ 453 ( ( 0xBC == ((const U8*)s)[1] ) ? \ 454 ( ( ( ( ( ((const U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((const U8*)s)[3] ) ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 455 : ( ( ( ( 0xBD == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((const U8*)s)[2] & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0xBC ) ) && ( 0xCE == ((const U8*)s)[3] ) ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 456 : 0 ) \ 457 : ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) ) 458 459 /* 460 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character 461 462 ®charclass_multi_char_folds::multi_char_folds('l', 'a') 463 */ 464 /*** GENERATED CODE ***/ 465 #define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \ 466 ( ((e)-(s) > 2) ? \ 467 ( ( ( ((const U8*)s)[0] & 0xDF ) == 0x46 ) ? \ 468 ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x46 ) ? \ 469 ( ( ( ( ((const U8*)s)[2] & 0xDF ) == 0x49 ) || ( ( ((const U8*)s)[2] & 0xDF ) == 0x4C ) ) ? 3 : 2 )\ 470 : ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x49 ) || ( ( ((const U8*)s)[1] & 0xDF ) == 0x4C ) ) ? 2 : 0 )\ 471 : ( ( ( ((const U8*)s)[0] & 0xDF ) == 0x53 ) && ( inRANGE(((const U8*)s)[1], 0x53, 0x54 ) || inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ) ? 2 : 0 )\ 472 : ((e)-(s) > 1) ? \ 473 ( ( ( ((const U8*)s)[0] & 0xDF ) == 0x46 ) ? \ 474 ( ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x46 ) || ( ( ((const U8*)s)[1] & 0xDF ) == 0x49 ) || ( ( ((const U8*)s)[1] & 0xDF ) == 0x4C ) ) ? 2 : 0 )\ 475 : ( ( ( ((const U8*)s)[0] & 0xDF ) == 0x53 ) && ( inRANGE(((const U8*)s)[1], 0x53, 0x54 ) || inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ) ? 2 : 0 )\ 476 : 0 ) 477 478 /* 479 THREE_CHAR_FOLD: A three-character multi-char fold 480 481 ®charclass_multi_char_folds::multi_char_folds('u', '3') 482 */ 483 /*** GENERATED CODE ***/ 484 #define is_THREE_CHAR_FOLD_utf8_safe(s,e) \ 485 ( ((e)-(s) > 5) ? \ 486 ( ( 0x66 == ((const U8*)s)[0] ) ? \ 487 ( ( ( 0x66 == ((const U8*)s)[1] ) && ( 0x69 == ((const U8*)s)[2] || 0x6C == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 488 : ( 0xCE == ((const U8*)s)[0] ) ? \ 489 ( ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((const U8*)s)[1] ) ? \ 490 ( ( ( ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) && ( 0xCE == ((const U8*)s)[4] ) ) && ( 0xB9 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 491 : ( ( ( 0xB9 == ((const U8*)s)[1] ) && ( 0xCC == ((const U8*)s)[2] ) ) && ( 0x88 == ((const U8*)s)[3] ) ) ? ( ( 0xCC == ((const U8*)s)[4] ) ?\ 492 ( ( inRANGE(((const U8*)s)[5], 0x80, 0x81 ) ) ? 6 : 0 )\ 493 : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ 494 : ( 0xCF == ((const U8*)s)[0] ) ? \ 495 ( ( 0x85 == ((const U8*)s)[1] ) ? \ 496 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x88 == ((const U8*)s)[3] || 0x93 == ((const U8*)s)[3] ) ) ? ( ( 0xCC == ((const U8*)s)[4] ) ?\ 497 ( ( inRANGE(((const U8*)s)[5], 0x80, 0x81 ) ) ? 6 : 0 )\ 498 : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ 499 : ( ( ( ( ( 0x89 == ((const U8*)s)[1] ) && ( 0xCD == ((const U8*)s)[2] ) ) && ( 0x82 == ((const U8*)s)[3] ) ) && ( 0xCE == ((const U8*)s)[4] ) ) && ( 0xB9 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 500 : 0 ) \ 501 : ( ( ( ((e)-(s) > 2) && ( 0x66 == ((const U8*)s)[0] ) ) && ( 0x66 == ((const U8*)s)[1] ) ) && ( 0x69 == ((const U8*)s)[2] || 0x6C == ((const U8*)s)[2] ) ) ? 3 : 0 ) 502 503 /* 504 THREE_CHAR_FOLD: A three-character multi-char fold 505 506 ®charclass_multi_char_folds::multi_char_folds('l', '3') 507 */ 508 /*** GENERATED CODE ***/ 509 #define is_THREE_CHAR_FOLD_latin1_safe(s,e) \ 510 ( ( ( ( ( ((e) - (s)) >= 3 ) && ( ( ((const U8*)s)[0] & 0xDF ) == 0x46 ) ) && ( ( ((const U8*)s)[1] & 0xDF ) == 0x46 ) ) && ( ( ( ((const U8*)s)[2] & 0xDF ) == 0x49 ) || ( ( ((const U8*)s)[2] & 0xDF ) == 0x4C ) ) ) ? 3 : 0 ) 511 512 /* 513 THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds 514 515 ®charclass_multi_char_folds::multi_char_folds('u', 'h') 516 */ 517 /*** GENERATED CODE ***/ 518 #define is_THREE_CHAR_FOLD_HEAD_utf8_safe(s,e) \ 519 ( ((e)-(s) > 3) ? \ 520 ( ( 0x61 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x68, 0x6A ) || inRANGE(((const U8*)s)[0], 0x73, 0x74 ) || 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? 1\ 521 : ( 0x66 == ((const U8*)s)[0] ) ? \ 522 ( ( 0x66 == ((const U8*)s)[1] ) ? 2 : 1 ) \ 523 : ( 0xCA == ((const U8*)s)[0] ) ? \ 524 ( ( 0xBC == ((const U8*)s)[1] ) ? 2 : 0 ) \ 525 : ( 0xCE == ((const U8*)s)[0] ) ? \ 526 ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) ? 2 \ 527 : ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((const U8*)s)[1] ) ? \ 528 ( ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 529 : ( 0xB9 == ((const U8*)s)[1] ) ? \ 530 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x88 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 531 : 0 ) \ 532 : ( 0xCF == ((const U8*)s)[0] ) ? \ 533 ( ( 0x81 == ((const U8*)s)[1] || 0x8E == ((const U8*)s)[1] ) ? 2 \ 534 : ( 0x85 == ((const U8*)s)[1] ) ? \ 535 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x88 == ((const U8*)s)[3] || 0x93 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 536 : ( 0x89 == ((const U8*)s)[1] ) ? \ 537 ( ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 538 : 0 ) \ 539 : ( 0xD5 == ((const U8*)s)[0] ) ? \ 540 ( ( 0xA5 == ((const U8*)s)[1] || 0xB4 == ((const U8*)s)[1] || 0xBE == ((const U8*)s)[1] ) ? 2 : 0 )\ 541 : ( 0xE1 == ((const U8*)s)[0] ) ? \ 542 ( ( 0xBC == ((const U8*)s)[1] ) ? \ 543 ( ( ( ((const U8*)s)[2] & 0xD8 ) == 0x80 ) ? 3 : 0 ) \ 544 : ( ( 0xBD == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((const U8*)s)[2] & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0xBC ) ) ? 3 : 0 )\ 545 : 0 ) \ 546 : ((e)-(s) > 2) ? \ 547 ( ( 0x61 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x68, 0x6A ) || inRANGE(((const U8*)s)[0], 0x73, 0x74 ) || 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? 1\ 548 : ( 0x66 == ((const U8*)s)[0] ) ? \ 549 ( ( 0x66 == ((const U8*)s)[1] ) ? 2 : 1 ) \ 550 : ( 0xCA == ((const U8*)s)[0] ) ? \ 551 ( ( 0xBC == ((const U8*)s)[1] ) ? 2 : 0 ) \ 552 : ( 0xCE == ((const U8*)s)[0] ) ? \ 553 ( ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) || ( ( ((const U8*)s)[1] & 0xF7 ) == 0xB1 ) || ((const U8*)s)[1] == 0xB7 ) ? 2 : 0 )\ 554 : ( 0xCF == ((const U8*)s)[0] ) ? \ 555 ( ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x81 ) || ((const U8*)s)[1] == 0x89 || ((const U8*)s)[1] == 0x8E ) ? 2 : 0 )\ 556 : ( 0xD5 == ((const U8*)s)[0] ) ? \ 557 ( ( 0xA5 == ((const U8*)s)[1] || 0xB4 == ((const U8*)s)[1] || 0xBE == ((const U8*)s)[1] ) ? 2 : 0 )\ 558 : ( 0xE1 == ((const U8*)s)[0] ) ? \ 559 ( ( 0xBC == ((const U8*)s)[1] ) ? \ 560 ( ( ( ((const U8*)s)[2] & 0xD8 ) == 0x80 ) ? 3 : 0 ) \ 561 : ( ( 0xBD == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((const U8*)s)[2] & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0xBC ) ) ? 3 : 0 )\ 562 : 0 ) \ 563 : ((e)-(s) > 1) ? \ 564 ( ( 0x61 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x68, 0x6A ) || inRANGE(((const U8*)s)[0], 0x73, 0x74 ) || 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? 1\ 565 : ( 0x66 == ((const U8*)s)[0] ) ? \ 566 ( ( 0x66 == ((const U8*)s)[1] ) ? 2 : 1 ) \ 567 : ( 0xCA == ((const U8*)s)[0] ) ? \ 568 ( ( 0xBC == ((const U8*)s)[1] ) ? 2 : 0 ) \ 569 : ( 0xCE == ((const U8*)s)[0] ) ? \ 570 ( ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) || ( ( ((const U8*)s)[1] & 0xF7 ) == 0xB1 ) || ((const U8*)s)[1] == 0xB7 ) ? 2 : 0 )\ 571 : ( 0xCF == ((const U8*)s)[0] ) ? \ 572 ( ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x81 ) || ((const U8*)s)[1] == 0x89 || ((const U8*)s)[1] == 0x8E ) ? 2 : 0 )\ 573 : ( ( 0xD5 == ((const U8*)s)[0] ) && ( 0xA5 == ((const U8*)s)[1] || 0xB4 == ((const U8*)s)[1] || 0xBE == ((const U8*)s)[1] ) ) ? 2 : 0 )\ 574 : ((e)-(s) > 0) ? \ 575 ( 0x61 == ((const U8*)s)[0] || 0x66 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x68, 0x6A ) || inRANGE(((const U8*)s)[0], 0x73, 0x74 ) || 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] )\ 576 : 0 ) 577 578 /* 579 THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds 580 581 ®charclass_multi_char_folds::multi_char_folds('l', 'h') 582 */ 583 /*** GENERATED CODE ***/ 584 #define is_THREE_CHAR_FOLD_HEAD_latin1_safe(s,e) \ 585 ( ((e)-(s) > 1) ? \ 586 ( ( ( ( ((const U8*)s)[0] & 0xDF ) == 0x41 ) || ( ( ((const U8*)s)[0] & 0xDE ) == 0x48 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x4A ) || ( ( ((const U8*)s)[0] & 0xDB ) == 0x53 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x54 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x59 ) ) ? 1\ 587 : ( ( ((const U8*)s)[0] & 0xDF ) == 0x46 ) ? \ 588 ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x46 ) ? 2 : 1 ) \ 589 : 0 ) \ 590 : ((e)-(s) > 0) ? \ 591 ( ( ( ((const U8*)s)[0] & 0xDF ) == 0x41 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x46 ) || ( ( ((const U8*)s)[0] & 0xDE ) == 0x48 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x4A ) || ( ( ((const U8*)s)[0] & 0xDB ) == 0x53 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x54 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x59 ) )\ 592 : 0 ) 593 594 /* 595 FOLDS_TO_MULTI: characters that fold to multi-char strings 596 597 \p{_Perl_Folds_To_Multi_Char} 598 */ 599 /*** GENERATED CODE ***/ 600 #define is_FOLDS_TO_MULTI_utf8(s) \ 601 ( ( 0xC3 == ((const U8*)s)[0] ) ? \ 602 ( ( 0x9F == ((const U8*)s)[1] ) ? 2 : 0 ) \ 603 : ( 0xC4 == ((const U8*)s)[0] || 0xC7 == ((const U8*)s)[0] ) ? \ 604 ( ( 0xB0 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 605 : ( 0xC5 == ((const U8*)s)[0] ) ? \ 606 ( ( 0x89 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 607 : ( 0xCE == ((const U8*)s)[0] ) ? \ 608 ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x90 ) ? 2 : 0 ) \ 609 : ( 0xD6 == ((const U8*)s)[0] ) ? \ 610 ( ( 0x87 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 611 : ( 0xE1 == ((const U8*)s)[0] ) ? \ 612 ( ( 0xBA == ((const U8*)s)[1] ) ? \ 613 ( ( inRANGE(((const U8*)s)[2], 0x96, 0x9A ) || 0x9E == ((const U8*)s)[2] ) ? 3 : 0 )\ 614 : ( 0xBD == ((const U8*)s)[1] ) ? \ 615 ( ( ( ((const U8*)s)[2] & 0xF9 ) == 0x90 ) ? 3 : 0 ) \ 616 : ( 0xBE == ((const U8*)s)[1] ) ? \ 617 ( ( inRANGE(((const U8*)s)[2], 0x80, 0xAF ) || inRANGE(((const U8*)s)[2], 0xB2, 0xB4 ) || inRANGE(((const U8*)s)[2], 0xB6, 0xB7 ) || 0xBC == ((const U8*)s)[2] ) ? 3 : 0 )\ 618 : ( ( 0xBF == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xCA ) == 0x82 ) || ( ( ((const U8*)s)[2] & 0xF7 ) == 0x84 ) || ((const U8*)s)[2] == 0xA4 || ( ( ((const U8*)s)[2] & 0xF7 ) == 0xB4 ) ) ) ? 3 : 0 )\ 619 : ( ( ( 0xEF == ((const U8*)s)[0] ) && ( 0xAC == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x80, 0x86 ) || inRANGE(((const U8*)s)[2], 0x93, 0x97 ) ) ) ? 3 : 0 ) 620 621 /* 622 PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale 623 624 \p{_Perl_Problematic_Locale_Folds} 625 */ 626 /*** GENERATED CODE ***/ 627 #define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \ 628 ( ( ((const U8*)s)[0] <= 0x7F ) ? 1 \ 629 : ( inRANGE(((const U8*)s)[0], 0xC2, 0xC3 ) ) ? \ 630 2 \ 631 : ( 0xC4 == ((const U8*)s)[0] ) ? \ 632 ( ( inRANGE(((const U8*)s)[1], 0xB0, 0xB1 ) ) ? 2 : 0 ) \ 633 : ( 0xC5 == ((const U8*)s)[0] ) ? \ 634 ( ( 0x89 == ((const U8*)s)[1] || 0xB8 == ((const U8*)s)[1] || 0xBF == ((const U8*)s)[1] ) ? 2 : 0 )\ 635 : ( 0xC7 == ((const U8*)s)[0] ) ? \ 636 ( ( 0xB0 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 637 : ( 0xCC == ((const U8*)s)[0] ) ? \ 638 ( ( 0x87 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 639 : ( 0xCE == ((const U8*)s)[0] ) ? \ 640 ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x9C ) ? 2 : 0 ) \ 641 : ( 0xE1 == ((const U8*)s)[0] ) ? \ 642 ( ( ( 0xBA == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x96, 0x9A ) || 0x9E == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 643 : ( 0xE2 == ((const U8*)s)[0] ) ? \ 644 ( ( ( 0x84 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0xAA, 0xAB ) ) ) ? 3 : 0 )\ 645 : ( ( ( 0xEF == ((const U8*)s)[0] ) && ( 0xAC == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x80, 0x86 ) ) ) ? 3 : 0 ) 646 647 /*** GENERATED CODE ***/ 648 #define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \ 649 ( cp <= 0xFF || ( 0xFF < cp && \ 650 ( 0x130 == cp || ( 0x130 < cp && \ 651 ( 0x131 == cp || ( 0x131 < cp && \ 652 ( 0x149 == cp || ( 0x149 < cp && \ 653 ( 0x178 == cp || ( 0x178 < cp && \ 654 ( 0x17F == cp || ( 0x17F < cp && \ 655 ( 0x1F0 == cp || ( 0x1F0 < cp && \ 656 ( 0x307 == cp || ( 0x307 < cp && \ 657 ( 0x39C == cp || ( 0x39C < cp && \ 658 ( 0x3BC == cp || ( 0x3BC < cp && \ 659 ( inRANGE(cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \ 660 ( 0x1E9E == cp || ( 0x1E9E < cp && \ 661 ( 0x212A == cp || ( 0x212A < cp && \ 662 ( 0x212B == cp || inRANGE(cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 663 664 /* 665 PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale 666 667 \p{_Perl_Problematic_Locale_Foldeds_Start} 668 */ 669 /*** GENERATED CODE ***/ 670 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \ 671 ( ( ((const U8*)s)[0] <= 0x7F ) ? 1 \ 672 : ( inRANGE(((const U8*)s)[0], 0xC2, 0xC3 ) ) ? \ 673 2 \ 674 : ( 0xC4 == ((const U8*)s)[0] ) ? \ 675 ( ( inRANGE(((const U8*)s)[1], 0xB0, 0xB1 ) ) ? 2 : 0 ) \ 676 : ( 0xC5 == ((const U8*)s)[0] ) ? \ 677 ( ( 0x89 == ((const U8*)s)[1] || 0xB8 == ((const U8*)s)[1] || 0xBF == ((const U8*)s)[1] ) ? 2 : 0 )\ 678 : ( 0xC7 == ((const U8*)s)[0] ) ? \ 679 ( ( 0xB0 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 680 : ( 0xCA == ((const U8*)s)[0] ) ? \ 681 ( ( 0xBC == ((const U8*)s)[1] ) ? 2 : 0 ) \ 682 : ( 0xCE == ((const U8*)s)[0] ) ? \ 683 ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x9C ) ? 2 : 0 ) \ 684 : ( 0xE1 == ((const U8*)s)[0] ) ? \ 685 ( ( ( 0xBA == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x96, 0x9A ) || 0x9E == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 686 : ( 0xE2 == ((const U8*)s)[0] ) ? \ 687 ( ( ( 0x84 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0xAA, 0xAB ) ) ) ? 3 : 0 )\ 688 : ( ( ( 0xEF == ((const U8*)s)[0] ) && ( 0xAC == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x80, 0x86 ) ) ) ? 3 : 0 ) 689 690 /*** GENERATED CODE ***/ 691 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \ 692 ( cp <= 0xFF || ( 0xFF < cp && \ 693 ( 0x130 == cp || ( 0x130 < cp && \ 694 ( 0x131 == cp || ( 0x131 < cp && \ 695 ( 0x149 == cp || ( 0x149 < cp && \ 696 ( 0x178 == cp || ( 0x178 < cp && \ 697 ( 0x17F == cp || ( 0x17F < cp && \ 698 ( 0x1F0 == cp || ( 0x1F0 < cp && \ 699 ( 0x2BC == cp || ( 0x2BC < cp && \ 700 ( 0x39C == cp || ( 0x39C < cp && \ 701 ( 0x3BC == cp || ( 0x3BC < cp && \ 702 ( inRANGE(cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \ 703 ( 0x1E9E == cp || ( 0x1E9E < cp && \ 704 ( 0x212A == cp || ( 0x212A < cp && \ 705 ( 0x212B == cp || inRANGE(cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 706 707 /* 708 PATWS: pattern white space 709 710 \p{_Perl_PatWS} 711 */ 712 /*** GENERATED CODE ***/ 713 #define is_PATWS_safe(s,e,is_utf8) \ 714 ( ( LIKELY((e) > (s)) ) ? \ 715 ( ( inRANGE(((const U8*)s)[0], 0x09, 0x0D ) || 0x20 == ((const U8*)s)[0] ) ? 1\ 716 : (! is_utf8 ) ? \ 717 ( 0x85 == ((const U8*)s)[0] ) \ 718 : ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ? \ 719 ( ( 0xC2 == ((const U8*)s)[0] ) ? \ 720 ( ( 0x85 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 721 : ( ( ( 0xE2 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x8E, 0x8F ) || inRANGE(((const U8*)s)[2], 0xA8, 0xA9 ) ) ) ? 3 : 0 )\ 722 : 0 ) \ 723 : 0 ) 724 725 /*** GENERATED CODE ***/ 726 #define is_PATWS_cp(cp) \ 727 ( inRANGE(cp, 0x09, 0x0D) || ( 0x0D < cp && \ 728 ( 0x20 == cp || ( 0x20 < cp && \ 729 ( 0x85 == cp || ( 0x85 < cp && \ 730 ( 0x200E == cp || ( 0x200E < cp && \ 731 ( 0x200F == cp || ( 0x200F < cp && \ 732 ( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) ) 733 734 /* 735 HANGUL_ED: Hangul syllables whose first character is \xED 736 737 0xD000 - 0xD7FF 738 */ 739 /*** GENERATED CODE ***/ 740 #define is_HANGUL_ED_utf8_safe(s,e) \ 741 ( ( ( ( ( ((e) - (s)) >= 3 ) && ( 0xED == ((const U8*)s)[0] ) ) && ( inRANGE(((const U8*)s)[1], 0x80, 0x9F ) ) ) && ( inRANGE(((const U8*)s)[2], 0x80, 0xBF ) ) ) ? 3 : 0 ) 742 743 #endif /* ASCII/Latin1 */ 744 745 #if 'A' == 193 /* EBCDIC 1047 */ \ 746 && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \ 747 && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ 748 && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21 749 /* 750 LNBREAK: Line Break: \R 751 752 "\x0D\x0A" # CRLF - Network (Windows) line ending 753 \p{VertSpace} 754 */ 755 /*** GENERATED CODE ***/ 756 #define is_LNBREAK_safe(s,e,is_utf8) \ 757 ( ((e)-(s) > 2) ? \ 758 ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ 759 : ( 0x0D == ((const U8*)s)[0] ) ? \ 760 ( ( 0x15 == ((const U8*)s)[1] ) ? 2 : 1 ) \ 761 : ( ( ( ( is_utf8 ) && ( 0xCA == ((const U8*)s)[0] ) ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 )\ 762 : ((e)-(s) > 1) ? \ 763 ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ 764 : ( 0x0D == ((const U8*)s)[0] ) ? \ 765 ( ( 0x15 == ((const U8*)s)[1] ) ? 2 : 1 ) \ 766 : 0 ) \ 767 : ((e)-(s) > 0) ? \ 768 ( inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\ 769 : 0 ) 770 771 /*** GENERATED CODE ***/ 772 #define is_LNBREAK_utf8_safe(s,e) \ 773 ( ((e)-(s) > 2) ? \ 774 ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ 775 : ( 0x0D == ((const U8*)s)[0] ) ? \ 776 ( ( 0x15 == ((const U8*)s)[1] ) ? 2 : 1 ) \ 777 : ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 )\ 778 : ((e)-(s) > 1) ? \ 779 ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ 780 : ( 0x0D == ((const U8*)s)[0] ) ? \ 781 ( ( 0x15 == ((const U8*)s)[1] ) ? 2 : 1 ) \ 782 : 0 ) \ 783 : ((e)-(s) > 0) ? \ 784 ( inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\ 785 : 0 ) 786 787 /*** GENERATED CODE ***/ 788 #define is_LNBREAK_latin1_safe(s,e) \ 789 ( ((e)-(s) > 1) ? \ 790 ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ 791 : ( 0x0D == ((const U8*)s)[0] ) ? \ 792 ( ( 0x15 == ((const U8*)s)[1] ) ? 2 : 1 ) \ 793 : 0 ) \ 794 : ((e)-(s) > 0) ? \ 795 ( inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\ 796 : 0 ) 797 798 /* 799 HORIZWS: Horizontal Whitespace: \h \H 800 801 \p{HorizSpace} 802 */ 803 /*** GENERATED CODE ***/ 804 #define is_HORIZWS_high(s) \ 805 ( ( 0xBC == ((const U8*)s)[0] ) ? \ 806 ( ( ( 0x63 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 807 : ( 0xCA == ((const U8*)s)[0] ) ? \ 808 ( ( 0x41 == ((const U8*)s)[1] ) ? \ 809 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || 0x51 == ((const U8*)s)[2] ) ? 3 : 0 )\ 810 : ( 0x42 == ((const U8*)s)[1] ) ? \ 811 ( ( 0x56 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 812 : ( ( 0x43 == ((const U8*)s)[1] ) && ( 0x73 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 813 : ( ( ( 0xCE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] ) ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 ) 814 815 /*** GENERATED CODE ***/ 816 #define is_HORIZWS_cp_high(cp) \ 817 ( 0x1680 == cp || ( 0x1680 < cp && \ 818 ( inRANGE(cp, 0x2000, 0x200A) || ( 0x200A < cp && \ 819 ( 0x202F == cp || ( 0x202F < cp && \ 820 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) 821 822 /* 823 VERTWS: Vertical Whitespace: \v \V 824 825 \p{VertSpace} 826 */ 827 /*** GENERATED CODE ***/ 828 #define is_VERTWS_high(s) \ 829 ( ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 ) 830 831 /*** GENERATED CODE ***/ 832 #define is_VERTWS_cp_high(cp) \ 833 ( 0x2028 == cp || 0x2029 == cp ) 834 835 /* 836 XDIGIT: Hexadecimal digits 837 838 \p{XDigit} 839 */ 840 /*** GENERATED CODE ***/ 841 #define is_XDIGIT_high(s) \ 842 ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x73 == ((const U8*)s)[1] ) ) ? ( ( 0x67 == ((const U8*)s)[2] ) ?\ 843 ( ( inRANGE(((const U8*)s)[3], 0x57, 0x59 ) || inRANGE(((const U8*)s)[3], 0x62, 0x68 ) ) ? 4 : 0 )\ 844 : ( ( inRANGE(((const U8*)s)[2], 0x68, 0x69 ) ) && ( inRANGE(((const U8*)s)[3], 0x42, 0x47 ) ) ) ? 4 : 0 ) : 0 ) 845 846 /*** GENERATED CODE ***/ 847 #define is_XDIGIT_cp_high(cp) \ 848 ( inRANGE(cp, 0xFF10, 0xFF19) || ( 0xFF19 < cp && \ 849 ( inRANGE(cp, 0xFF21, 0xFF26) || inRANGE(cp, 0xFF41, 0xFF46) ) ) ) 850 851 /* 852 XPERLSPACE: \p{XPerlSpace} 853 854 \p{XPerlSpace} 855 */ 856 /*** GENERATED CODE ***/ 857 #define is_XPERLSPACE_high(s) \ 858 ( ( 0xBC == ((const U8*)s)[0] ) ? \ 859 ( ( ( 0x63 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 860 : ( 0xCA == ((const U8*)s)[0] ) ? \ 861 ( ( 0x41 == ((const U8*)s)[1] ) ? \ 862 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || 0x51 == ((const U8*)s)[2] ) ? 3 : 0 )\ 863 : ( 0x42 == ((const U8*)s)[1] ) ? \ 864 ( ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) || 0x56 == ((const U8*)s)[2] ) ? 3 : 0 )\ 865 : ( ( 0x43 == ((const U8*)s)[1] ) && ( 0x73 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 866 : ( ( ( 0xCE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] ) ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 ) 867 868 /*** GENERATED CODE ***/ 869 #define is_XPERLSPACE_cp_high(cp) \ 870 ( 0x1680 == cp || ( 0x1680 < cp && \ 871 ( inRANGE(cp, 0x2000, 0x200A) || ( 0x200A < cp && \ 872 ( 0x2028 == cp || ( 0x2028 < cp && \ 873 ( 0x2029 == cp || ( 0x2029 < cp && \ 874 ( 0x202F == cp || ( 0x202F < cp && \ 875 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) ) 876 877 /* 878 NONCHAR: Non character code points 879 880 \p{_Perl_Nchar} 881 */ 882 /*** GENERATED CODE ***/ 883 #define is_NONCHAR_utf8_safe(s,e) \ 884 ( ( ( LIKELY((e) > (s)) ) && ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ) ? ( ( 0xDD == ((const U8*)s)[0] ) ?\ 885 ( ( 0x73 == ((const U8*)s)[1] ) ? \ 886 ( ( 0x55 == ((const U8*)s)[2] ) ? \ 887 ( ( inRANGE(((const U8*)s)[3], 0x57, 0x59 ) || inRANGE(((const U8*)s)[3], 0x62, 0x6A ) || inRANGE(((const U8*)s)[3], 0x70, 0x73 ) ) ? 4 : 0 )\ 888 : ( 0x56 == ((const U8*)s)[2] ) ? \ 889 ( ( inRANGE(((const U8*)s)[3], 0x41, 0x4A ) || inRANGE(((const U8*)s)[3], 0x51, 0x56 ) ) ? 4 : 0 )\ 890 : ( ( 0x73 == ((const U8*)s)[2] ) && ( inRANGE(((const U8*)s)[3], 0x72, 0x73 ) ) ) ? 4 : 0 )\ 891 : 0 ) \ 892 : ( 0xDF == ((const U8*)s)[0] || 0xEA == ((const U8*)s)[0] || 0xEC == ((const U8*)s)[0] ) ?\ 893 ( ( ( ( 0x73 == ((const U8*)s)[1] ) && ( 0x73 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x72, 0x73 ) ) ) ? 4 : 0 )\ 894 : ( 0xED == ((const U8*)s)[0] ) ? \ 895 ( ( ( ( ( ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x52 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x54 ) || ((const U8*)s)[1] == 0x58 || ((const U8*)s)[1] == 0x62 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x64 ) || ( ( ((const U8*)s)[1] & 0xFD ) == 0x68 ) || ( ( ((const U8*)s)[1] & 0xFD ) == 0x71 ) ) && ( 0x73 == ((const U8*)s)[2] ) ) && ( 0x73 == ((const U8*)s)[3] ) ) && ( inRANGE(((const U8*)s)[4], 0x72, 0x73 ) ) ) ? 5 : 0 )\ 896 : ( ( ( ( ( 0xEE == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( 0x73 == ((const U8*)s)[2] ) ) && ( 0x73 == ((const U8*)s)[3] ) ) && ( inRANGE(((const U8*)s)[4], 0x72, 0x73 ) ) ) ? 5 : 0 ) : 0 ) 897 898 /* 899 SURROGATE: Surrogate code points 900 901 \p{_Perl_Surrogate} 902 */ 903 /*** GENERATED CODE ***/ 904 #define is_SURROGATE_utf8_safe(s,e) \ 905 ( ( ( ( ( ( ((e) - (s)) >= 4 ) && ( 0xDD == ((const U8*)s)[0] ) ) && ( inRANGE(((const U8*)s)[1], 0x65, 0x66 ) ) ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x4A ) || inRANGE(((const U8*)s)[3], 0x51, 0x59 ) || inRANGE(((const U8*)s)[3], 0x62, 0x6A ) || inRANGE(((const U8*)s)[3], 0x70, 0x73 ) ) ) ? 4 : 0 ) 906 907 /* 908 QUOTEMETA: Meta-characters that \Q should quote 909 910 \p{_Perl_Quotemeta} 911 */ 912 /*** GENERATED CODE ***/ 913 #define is_QUOTEMETA_high(s) \ 914 ( ( 0xB1 == ((const U8*)s)[0] ) ? \ 915 ( ( 0x56 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 916 : ( 0xB8 == ((const U8*)s)[0] ) ? \ 917 ( ( ( 0x57 == ((const U8*)s)[1] ) && ( 0x70 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 918 : ( 0xBB == ((const U8*)s)[0] ) ? \ 919 ( ( 0x51 == ((const U8*)s)[1] ) ? \ 920 ( ( 0x73 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 921 : ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 922 : ( 0xBC == ((const U8*)s)[0] ) ? \ 923 ( ( 0x63 == ((const U8*)s)[1] ) ? \ 924 ( ( 0x41 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 925 : ( ( 0x71 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x63, 0x64 ) ) ) ? 3 : 0 )\ 926 : ( 0xBE == ((const U8*)s)[0] ) ? \ 927 ( ( ( 0x41 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x52, 0x55 ) ) ) ? 3 : 0 )\ 928 : ( 0xCA == ((const U8*)s)[0] ) ? \ 929 ( ( 0x41 == ((const U8*)s)[1] || inRANGE(((const U8*)s)[1], 0x54, 0x59 ) || inRANGE(((const U8*)s)[1], 0x62, 0x6A ) || inRANGE(((const U8*)s)[1], 0x70, 0x73 ) ) ?\ 930 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ? 3 : 0 )\ 931 : ( 0x42 == ((const U8*)s)[1] ) ? \ 932 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ? 3 : 0 )\ 933 : ( 0x43 == ((const U8*)s)[1] ) ? \ 934 ( ( inRANGE(((const U8*)s)[2], 0x42, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x62 == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x64, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ? 3 : 0 )\ 935 : ( 0x44 == ((const U8*)s)[1] ) ? \ 936 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x56 ) ) ? 3 : 0 )\ 937 : ( ( 0x53 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x57, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ) ? 3 : 0 )\ 938 : ( 0xCB == ((const U8*)s)[0] ) ? \ 939 ( ( inRANGE(((const U8*)s)[1], 0x41, 0x43 ) || inRANGE(((const U8*)s)[1], 0x49, 0x4A ) || inRANGE(((const U8*)s)[1], 0x51, 0x59 ) || inRANGE(((const U8*)s)[1], 0x62, 0x69 ) || inRANGE(((const U8*)s)[1], 0x71, 0x73 ) ) ?\ 940 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ? 3 : 0 )\ 941 : ( 0x6A == ((const U8*)s)[1] ) ? \ 942 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x64 ) ) ? 3 : 0 )\ 943 : ( ( 0x70 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x63, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ) ? 3 : 0 )\ 944 : ( 0xCC == ((const U8*)s)[0] ) ? \ 945 ( ( ( inRANGE(((const U8*)s)[1], 0x41, 0x4A ) || inRANGE(((const U8*)s)[1], 0x51, 0x59 ) || inRANGE(((const U8*)s)[1], 0x62, 0x6A ) || inRANGE(((const U8*)s)[1], 0x70, 0x73 ) ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ) ? 3 : 0 )\ 946 : ( 0xCD == ((const U8*)s)[0] ) ? \ 947 ( ( ( inRANGE(((const U8*)s)[1], 0x57, 0x59 ) || 0x62 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ) ? 3 : 0 )\ 948 : ( 0xCE == ((const U8*)s)[0] ) ? \ 949 ( ( 0x41 == ((const U8*)s)[1] ) ? \ 950 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x44 ) || inRANGE(((const U8*)s)[2], 0x49, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ? 3 : 0 )\ 951 : ( 0x42 == ((const U8*)s)[1] ) ? \ 952 ( ( 0x41 == ((const U8*)s)[2] || 0x57 == ((const U8*)s)[2] ) ? 3 : 0 )\ 953 : ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x45 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 954 : ( 0xDD == ((const U8*)s)[0] ) ? \ 955 ( ( 0x73 == ((const U8*)s)[1] ) ? \ 956 ( ( 0x4A == ((const U8*)s)[2] ) ? \ 957 ( ( inRANGE(((const U8*)s)[3], 0x72, 0x73 ) ) ? 4 : 0 ) \ 958 : ( 0x57 == ((const U8*)s)[2] ) ? \ 959 ( ( inRANGE(((const U8*)s)[3], 0x41, 0x4A ) || inRANGE(((const U8*)s)[3], 0x51, 0x56 ) ) ? 4 : 0 )\ 960 : ( 0x59 == ((const U8*)s)[2] ) ? \ 961 ( ( inRANGE(((const U8*)s)[3], 0x46, 0x47 ) ) ? 4 : 0 ) \ 962 : ( 0x66 == ((const U8*)s)[2] ) ? \ 963 ( ( 0x73 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 964 : ( 0x71 == ((const U8*)s)[2] ) ? \ 965 ( ( 0x41 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 966 : ( ( 0x73 == ((const U8*)s)[2] ) && ( inRANGE(((const U8*)s)[3], 0x57, 0x59 ) || inRANGE(((const U8*)s)[3], 0x62, 0x67 ) ) ) ? 4 : 0 )\ 967 : 0 ) \ 968 : ( 0xDF == ((const U8*)s)[0] ) ? \ 969 ( ( 0x56 == ((const U8*)s)[1] ) ? \ 970 ( ( ( 0x46 == ((const U8*)s)[2] ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x44 ) ) ) ? 4 : 0 )\ 971 : ( ( ( 0x63 == ((const U8*)s)[1] ) && ( 0x52 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x62, 0x69 ) ) ) ? 4 : 0 )\ 972 : ( ( ( ( ( 0xED == ((const U8*)s)[0] ) && ( 0x70 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x44 ) ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x4A ) || inRANGE(((const U8*)s)[3], 0x51, 0x59 ) || inRANGE(((const U8*)s)[3], 0x62, 0x6A ) || inRANGE(((const U8*)s)[3], 0x70, 0x73 ) ) ) && ( inRANGE(((const U8*)s)[4], 0x41, 0x4A ) || inRANGE(((const U8*)s)[4], 0x51, 0x59 ) || inRANGE(((const U8*)s)[4], 0x62, 0x6A ) || inRANGE(((const U8*)s)[4], 0x70, 0x73 ) ) ) ? 5 : 0 ) 973 974 /* 975 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character 976 977 ®charclass_multi_char_folds::multi_char_folds('u', 'a') 978 */ 979 /*** GENERATED CODE ***/ 980 #define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \ 981 ( ( 0x86 == ((const U8*)s)[1] ) ? \ 982 ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\ 983 : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 ) 984 985 986 /*** GENERATED CODE ***/ 987 #define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) \ 988 ( ( 0x88 == ((const U8*)s)[0] ) ? \ 989 ( ( ( 0xB0 == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 990 : ( 0x89 == ((const U8*)s)[0] ) ? \ 991 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 992 : ( 0x8F == ((const U8*)s)[0] ) ? \ 993 ( ( ( ( 0x73 == ((const U8*)s)[1] ) && ( 0x8F == ((const U8*)s)[2] ) ) && ( 0x73 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 994 : ( 0x91 == ((const U8*)s)[0] ) ? \ 995 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 996 : ( 0xA2 == ((const U8*)s)[0] ) ? \ 997 ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \ 998 : ( 0xA3 == ((const U8*)s)[0] ) ? \ 999 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1000 : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \ 1001 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1002 : ( 0xAB == ((const U8*)s)[0] ) ? \ 1003 ( ( ( 0x70 == ((const U8*)s)[1] ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1004 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 1005 ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? \ 1006 ( ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1007 : ( 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] ) ? \ 1008 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 1009 ( ( 0x43 == ((const U8*)s)[3] ) ? \ 1010 ( ( ( 0xB4 == ((const U8*)s)[4] ) && ( 0x68 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ 1011 : 0 ) \ 1012 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1013 : ( 0x68 == ((const U8*)s)[1] ) ? \ 1014 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 1015 ( ( 0x49 == ((const U8*)s)[3] ) ? \ 1016 ( ( 0xAF == ((const U8*)s)[4] ) ? \ 1017 ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\ 1018 : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 1019 : 0 ) \ 1020 : ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1021 : 0 ) \ 1022 : ( 0xB5 == ((const U8*)s)[0] ) ? \ 1023 ( ( 0x42 == ((const U8*)s)[1] ) ? \ 1024 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x62 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1025 : ( 0x46 == ((const U8*)s)[1] ) ? \ 1026 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 1027 ( ( 0x49 == ((const U8*)s)[3] ) ? \ 1028 ( ( 0xAF == ((const U8*)s)[4] ) ? \ 1029 ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\ 1030 : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 1031 : ( 0x62 == ((const U8*)s)[3] ) ? \ 1032 ( ( 0xAF == ((const U8*)s)[4] ) ? \ 1033 ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 4 )\ 1034 : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ 1035 : 0 ) \ 1036 : ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1037 : ( 0x4A == ((const U8*)s)[1] ) ? \ 1038 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 1039 ( ( 0x43 == ((const U8*)s)[3] ) ? \ 1040 ( ( ( 0xB4 == ((const U8*)s)[4] ) && ( 0x68 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ 1041 : 0 ) \ 1042 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1043 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB4 == ((const U8*)s)[2] ) ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1044 : ( 0xB8 == ((const U8*)s)[0] ) ? \ 1045 ( ( 0x52 == ((const U8*)s)[1] ) ? \ 1046 ( ( 0x46 == ((const U8*)s)[2] ) ? \ 1047 ( ( ( ( 0xB8 == ((const U8*)s)[3] ) && ( 0x53 == ((const U8*)s)[4] ) ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 1048 : ( 0x63 == ((const U8*)s)[2] ) ? \ 1049 ( ( ( ( 0xB8 == ((const U8*)s)[3] ) && ( 0x52 == ((const U8*)s)[4] ) ) && ( 0x46 == ((const U8*)s)[5] || 0x52 == ((const U8*)s)[5] || 0x54 == ((const U8*)s)[5] || 0x65 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 1050 : ( ( ( ( 0x72 == ((const U8*)s)[2] ) && ( 0xB8 == ((const U8*)s)[3] ) ) && ( 0x52 == ((const U8*)s)[4] ) ) && ( 0x65 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 1051 : 0 ) \ 1052 : ( 0xBF == ((const U8*)s)[0] ) ? \ 1053 ( ( inRANGE(((const U8*)s)[1], 0x67, 0x68 ) ) ? \ 1054 ( ( ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) && ( 0xB4 == ((const U8*)s)[3] ) ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 1055 : ( ( ( ( 0x6A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) || 0x57 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x70 == ((const U8*)s)[2] ) ) && ( 0xB4 == ((const U8*)s)[3] ) ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 1056 : 0 ) 1057 1058 1059 /*** GENERATED CODE ***/ 1060 #define is_MULTI_CHAR_FOLD_utf8_safe_part2(s,e) \ 1061 ( ( 0x81 == ((const U8*)s)[0] ) ? \ 1062 ( ( ( 0xAB == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1063 : ( 0x86 == ((const U8*)s)[0] ) ? \ 1064 ( ( 0x86 == ((const U8*)s)[1] ) ? \ 1065 ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\ 1066 : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\ 1067 : ( 0x88 == ((const U8*)s)[0] ) ? \ 1068 ( ( ( 0xB0 == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1069 : ( 0x89 == ((const U8*)s)[0] ) ? \ 1070 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1071 : ( 0x8F == ((const U8*)s)[0] ) ? \ 1072 ( ( ( ( 0x73 == ((const U8*)s)[1] ) && ( 0x8F == ((const U8*)s)[2] ) ) && ( 0x73 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1073 : ( 0x91 == ((const U8*)s)[0] ) ? \ 1074 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1075 : ( 0xA2 == ((const U8*)s)[0] ) ? \ 1076 ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \ 1077 : ( 0xA3 == ((const U8*)s)[0] ) ? \ 1078 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1079 : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \ 1080 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1081 : ( 0xAB == ((const U8*)s)[0] ) ? \ 1082 ( ( ( 0x70 == ((const U8*)s)[1] ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1083 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 1084 ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? \ 1085 ( ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1086 : ( 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] ) ? \ 1087 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 1088 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1089 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1090 : ( ( ( 0x68 == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1091 : ( 0xB5 == ((const U8*)s)[0] ) ? \ 1092 ( ( 0x42 == ((const U8*)s)[1] ) ? \ 1093 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x62 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1094 : ( 0x46 == ((const U8*)s)[1] ) ? \ 1095 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 1096 ( ( 0x62 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1097 : ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1098 : ( 0x4A == ((const U8*)s)[1] ) ? \ 1099 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 1100 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1101 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1102 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB4 == ((const U8*)s)[2] ) ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1103 : ( 0xBF == ((const U8*)s)[0] ) ? \ 1104 ( ( inRANGE(((const U8*)s)[1], 0x67, 0x68 ) ) ? \ 1105 ( ( ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) && ( 0xB4 == ((const U8*)s)[3] ) ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 1106 : ( ( ( ( 0x6A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) || 0x57 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x70 == ((const U8*)s)[2] ) ) && ( 0xB4 == ((const U8*)s)[3] ) ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 1107 : 0 ) 1108 1109 1110 /*** GENERATED CODE ***/ 1111 #define is_MULTI_CHAR_FOLD_utf8_safe_part3(s,e) \ 1112 ( ((e)-(s) > 3) ? \ 1113 ( ( 0x81 == ((const U8*)s)[0] ) ? \ 1114 ( ( ( 0xAB == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1115 : ( 0x86 == ((const U8*)s)[0] ) ? \ 1116 ( ( 0x86 == ((const U8*)s)[1] ) ? \ 1117 ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\ 1118 : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\ 1119 : ( 0x88 == ((const U8*)s)[0] ) ? \ 1120 ( ( ( 0xB0 == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1121 : ( 0x89 == ((const U8*)s)[0] ) ? \ 1122 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1123 : ( 0x8F == ((const U8*)s)[0] ) ? \ 1124 ( ( ( ( 0x73 == ((const U8*)s)[1] ) && ( 0x8F == ((const U8*)s)[2] ) ) && ( 0x73 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1125 : ( 0x91 == ((const U8*)s)[0] ) ? \ 1126 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1127 : ( 0xA2 == ((const U8*)s)[0] ) ? \ 1128 ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \ 1129 : ( 0xA3 == ((const U8*)s)[0] ) ? \ 1130 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1131 : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \ 1132 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1133 : ( 0xAB == ((const U8*)s)[0] ) ? \ 1134 ( ( ( 0x70 == ((const U8*)s)[1] ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1135 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 1136 ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? \ 1137 ( ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1138 : ( 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] ) ? \ 1139 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 1140 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1141 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1142 : ( ( ( 0x68 == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1143 : ( 0xB5 == ((const U8*)s)[0] ) ? \ 1144 ( ( 0x42 == ((const U8*)s)[1] ) ? \ 1145 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x62 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1146 : ( 0x46 == ((const U8*)s)[1] ) ? \ 1147 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 1148 ( ( 0x62 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1149 : ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1150 : ( 0x4A == ((const U8*)s)[1] ) ? \ 1151 ( ( 0xB1 == ((const U8*)s)[2] ) ? \ 1152 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1153 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1154 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB4 == ((const U8*)s)[2] ) ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1155 : 0 ) \ 1156 : ((e)-(s) > 2) ? \ 1157 ( ( 0x81 == ((const U8*)s)[0] ) ? \ 1158 ( ( ( 0xAB == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1159 : ( 0x86 == ((const U8*)s)[0] ) ? \ 1160 ( ( 0x86 == ((const U8*)s)[1] ) ? \ 1161 ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\ 1162 : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\ 1163 : ( 0x88 == ((const U8*)s)[0] ) ? \ 1164 ( ( ( 0xB0 == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1165 : ( 0x89 == ((const U8*)s)[0] ) ? \ 1166 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1167 : ( 0x91 == ((const U8*)s)[0] ) ? \ 1168 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1169 : ( 0xA2 == ((const U8*)s)[0] ) ? \ 1170 ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \ 1171 : ( 0xA3 == ((const U8*)s)[0] ) ? \ 1172 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1173 : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \ 1174 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1175 : ( ( ( 0xAB == ((const U8*)s)[0] ) && ( 0x70 == ((const U8*)s)[1] ) ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1176 : ((e)-(s) > 1) ? \ 1177 ( ( 0x86 == ((const U8*)s)[0] ) ? \ 1178 ( ( 0x86 == ((const U8*)s)[1] || 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\ 1179 : ( ( 0xA2 == ((const U8*)s)[0] ) && ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ) ? 2 : 0 )\ 1180 : 0 ) 1181 1182 1183 /*** GENERATED CODE ***/ 1184 #define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \ 1185 ( ((e)-(s) > 5) ? \ 1186 ( ( 0x81 == ((const U8*)s)[0] ) ? \ 1187 ( ( ( 0xAB == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1188 : ( 0x86 == ((const U8*)s)[0] ) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )\ 1189 : ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part2(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part3(s,e) ) 1190 1191 /* 1192 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character 1193 1194 ®charclass_multi_char_folds::multi_char_folds('l', 'a') 1195 */ 1196 /*** GENERATED CODE ***/ 1197 #define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \ 1198 ( ((e)-(s) > 2) ? \ 1199 ( ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ? \ 1200 ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) ? \ 1201 ( ( ( ( ((const U8*)s)[2] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[2] & 0xBF ) == 0x93 ) ) ? 3 : 2 )\ 1202 : ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\ 1203 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((const U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\ 1204 : ((e)-(s) > 1) ? \ 1205 ( ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ? \ 1206 ( ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) || ( ( ((const U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\ 1207 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((const U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\ 1208 : 0 ) 1209 1210 /* 1211 THREE_CHAR_FOLD: A three-character multi-char fold 1212 1213 ®charclass_multi_char_folds::multi_char_folds('u', '3') 1214 */ 1215 /*** GENERATED CODE ***/ 1216 #define is_THREE_CHAR_FOLD_utf8_safe(s,e) \ 1217 ( ((e)-(s) > 5) ? \ 1218 ( ( 0x86 == ((const U8*)s)[0] ) ? \ 1219 ( ( ( 0x86 == ((const U8*)s)[1] ) && ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1220 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 1221 ( ( 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] ) ? \ 1222 ( ( ( ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) && ( 0xB4 == ((const U8*)s)[4] ) ) && ( 0x68 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 1223 : ( ( ( 0x68 == ((const U8*)s)[1] ) && ( 0xAF == ((const U8*)s)[2] ) ) && ( 0x49 == ((const U8*)s)[3] ) ) ? ( ( 0xAF == ((const U8*)s)[4] ) ?\ 1224 ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\ 1225 : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ 1226 : ( 0xB5 == ((const U8*)s)[0] ) ? \ 1227 ( ( 0x46 == ((const U8*)s)[1] ) ? \ 1228 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] || 0x62 == ((const U8*)s)[3] ) ) ? ( ( 0xAF == ((const U8*)s)[4] ) ?\ 1229 ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\ 1230 : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ 1231 : ( ( ( ( ( 0x4A == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) && ( 0xB4 == ((const U8*)s)[4] ) ) && ( 0x68 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 1232 : 0 ) \ 1233 : ( ( ( ((e)-(s) > 2) && ( 0x86 == ((const U8*)s)[0] ) ) && ( 0x86 == ((const U8*)s)[1] ) ) && ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ) ? 3 : 0 ) 1234 1235 /* 1236 THREE_CHAR_FOLD: A three-character multi-char fold 1237 1238 ®charclass_multi_char_folds::multi_char_folds('l', '3') 1239 */ 1240 /*** GENERATED CODE ***/ 1241 #define is_THREE_CHAR_FOLD_latin1_safe(s,e) \ 1242 ( ( ( ( ( ((e) - (s)) >= 3 ) && ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ) && ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) ) && ( ( ( ((const U8*)s)[2] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[2] & 0xBF ) == 0x93 ) ) ) ? 3 : 0 ) 1243 1244 /* 1245 THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds 1246 1247 ®charclass_multi_char_folds::multi_char_folds('u', 'h') 1248 */ 1249 /*** GENERATED CODE ***/ 1250 #define is_THREE_CHAR_FOLD_HEAD_utf8_safe(s,e) \ 1251 ( ((e)-(s) > 3) ? \ 1252 ( ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA6 || ((const U8*)s)[0] == 0xA8 ) ? 1\ 1253 : ( 0x86 == ((const U8*)s)[0] ) ? \ 1254 ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \ 1255 : ( 0xAB == ((const U8*)s)[0] ) ? \ 1256 ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1257 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 1258 ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? 2 \ 1259 : ( 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] ) ? \ 1260 ( ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 1261 : ( 0x68 == ((const U8*)s)[1] ) ? \ 1262 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 1263 : 0 ) \ 1264 : ( 0xB5 == ((const U8*)s)[0] ) ? \ 1265 ( ( 0x42 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? 2 \ 1266 : ( 0x46 == ((const U8*)s)[1] ) ? \ 1267 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] || 0x62 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 1268 : ( 0x4A == ((const U8*)s)[1] ) ? \ 1269 ( ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 1270 : 0 ) \ 1271 : ( 0xB8 == ((const U8*)s)[0] ) ? \ 1272 ( ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x46 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1273 : ( 0xBF == ((const U8*)s)[0] ) ? \ 1274 ( ( inRANGE(((const U8*)s)[1], 0x67, 0x68 ) ) ? \ 1275 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) ? 3 : 0 ) \ 1276 : ( ( 0x6A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) || 0x57 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x70 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1277 : 0 ) \ 1278 : ((e)-(s) > 2) ? \ 1279 ( ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA6 || ((const U8*)s)[0] == 0xA8 ) ? 1\ 1280 : ( 0x86 == ((const U8*)s)[0] ) ? \ 1281 ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \ 1282 : ( 0xAB == ((const U8*)s)[0] ) ? \ 1283 ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1284 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 1285 ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] || 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] || 0x68 == ((const U8*)s)[1] ) ? 2 : 0 )\ 1286 : ( 0xB5 == ((const U8*)s)[0] ) ? \ 1287 ( ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x42 ) || ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x55 ) ? 2 : 0 )\ 1288 : ( 0xB8 == ((const U8*)s)[0] ) ? \ 1289 ( ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x46 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1290 : ( 0xBF == ((const U8*)s)[0] ) ? \ 1291 ( ( inRANGE(((const U8*)s)[1], 0x67, 0x68 ) ) ? \ 1292 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) ? 3 : 0 ) \ 1293 : ( ( 0x6A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) || 0x57 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x70 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1294 : 0 ) \ 1295 : ((e)-(s) > 1) ? \ 1296 ( ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA6 || ((const U8*)s)[0] == 0xA8 ) ? 1\ 1297 : ( 0x86 == ((const U8*)s)[0] ) ? \ 1298 ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \ 1299 : ( 0xAB == ((const U8*)s)[0] ) ? \ 1300 ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1301 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 1302 ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] || 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] || 0x68 == ((const U8*)s)[1] ) ? 2 : 0 )\ 1303 : ( ( 0xB5 == ((const U8*)s)[0] ) && ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x42 ) || ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x55 ) ) ? 2 : 0 )\ 1304 : ((e)-(s) > 0) ? \ 1305 ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x86 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA8 )\ 1306 : 0 ) 1307 1308 /* 1309 THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds 1310 1311 ®charclass_multi_char_folds::multi_char_folds('l', 'h') 1312 */ 1313 /*** GENERATED CODE ***/ 1314 #define is_THREE_CHAR_FOLD_HEAD_latin1_safe(s,e) \ 1315 ( ((e)-(s) > 1) ? \ 1316 ( ( ( ( ((const U8*)s)[0] & 0xAF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((const U8*)s)[0] & 0xBF ) == 0xA6 ) || ( ( ((const U8*)s)[0] & 0xBF ) == 0xA8 ) ) ? 1\ 1317 : ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ? \ 1318 ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) ? 2 : 1 ) \ 1319 : 0 ) \ 1320 : ((e)-(s) > 0) ? \ 1321 ( ( ( ((const U8*)s)[0] & 0xAF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0x9F ) == 0x86 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((const U8*)s)[0] & 0xBF ) == 0xA8 ) )\ 1322 : 0 ) 1323 1324 /* 1325 FOLDS_TO_MULTI: characters that fold to multi-char strings 1326 1327 \p{_Perl_Folds_To_Multi_Char} 1328 */ 1329 /*** GENERATED CODE ***/ 1330 #define is_FOLDS_TO_MULTI_utf8(s) \ 1331 ( ( 0x8A == ((const U8*)s)[0] ) ? \ 1332 ( ( 0x73 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1333 : ( 0x8D == ((const U8*)s)[0] || 0x9C == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xB3, 0xB4 ) ) ?\ 1334 ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1335 : ( 0x8E == ((const U8*)s)[0] ) ? \ 1336 ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1337 : ( 0xB8 == ((const U8*)s)[0] ) ? \ 1338 ( ( ( 0x53 == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1339 : ( 0xBF == ((const U8*)s)[0] ) ? \ 1340 ( ( 0x63 == ((const U8*)s)[1] ) ? \ 1341 ( ( inRANGE(((const U8*)s)[2], 0x65, 0x69 ) || 0x72 == ((const U8*)s)[2] ) ? 3 : 0 )\ 1342 : ( 0x69 == ((const U8*)s)[1] ) ? \ 1343 ( ( 0x57 == ((const U8*)s)[2] || 0x59 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x65 == ((const U8*)s)[2] ) ? 3 : 0 )\ 1344 : ( 0x70 == ((const U8*)s)[1] ) ? \ 1345 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ? 3 : 0 )\ 1346 : ( 0x71 == ((const U8*)s)[1] ) ? \ 1347 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x56 ) || 0x59 == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x63 ) || inRANGE(((const U8*)s)[2], 0x65, 0x66 ) || 0x70 == ((const U8*)s)[2] ) ? 3 : 0 )\ 1348 : ( 0x72 == ((const U8*)s)[1] ) ? \ 1349 ( ( inRANGE(((const U8*)s)[2], 0x43, 0x45 ) || inRANGE(((const U8*)s)[2], 0x47, 0x48 ) || 0x53 == ((const U8*)s)[2] || 0x59 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x65, 0x66 ) ) ? 3 : 0 )\ 1350 : ( ( 0x73 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x43, 0x45 ) || inRANGE(((const U8*)s)[2], 0x47, 0x48 ) || 0x59 == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x63 ) || inRANGE(((const U8*)s)[2], 0x65, 0x66 ) || 0x70 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1351 : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x72 == ((const U8*)s)[1] ) ) && ( 0x67 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x47 ) || inRANGE(((const U8*)s)[3], 0x62, 0x66 ) ) ) ? 4 : 0 ) 1352 1353 /* 1354 PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale 1355 1356 \p{_Perl_Problematic_Locale_Folds} 1357 */ 1358 /*** GENERATED CODE ***/ 1359 #define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \ 1360 ( ( ( ((const U8*)s)[0] <= 0x40 ) || inRANGE(((const U8*)s)[0], 0x4B, 0x50 ) || inRANGE(((const U8*)s)[0], 0x5A, 0x61 ) || inRANGE(((const U8*)s)[0], 0x6B, 0x6F ) || inRANGE(((const U8*)s)[0], 0x79, 0x7F ) || inRANGE(((const U8*)s)[0], 0x81, 0x89 ) || inRANGE(((const U8*)s)[0], 0x91, 0x99 ) || inRANGE(((const U8*)s)[0], 0xA1, 0xA9 ) || 0xAD == ((const U8*)s)[0] || 0xBD == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xC0, 0xC9 ) || inRANGE(((const U8*)s)[0], 0xD0, 0xD9 ) || 0xE0 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xE2, 0xE9 ) || inRANGE(((const U8*)s)[0], 0xF0, 0xF9 ) || 0xFF == ((const U8*)s)[0] ) ? 1\ 1361 : ( 0x80 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x8A, 0x8B ) ) ?\ 1362 ( ( inRANGE(((const U8*)s)[1], 0x41, 0x4A ) || inRANGE(((const U8*)s)[1], 0x51, 0x59 ) || inRANGE(((const U8*)s)[1], 0x62, 0x6A ) || inRANGE(((const U8*)s)[1], 0x70, 0x73 ) ) ? 2 : 0 )\ 1363 : ( 0x8D == ((const U8*)s)[0] ) ? \ 1364 ( ( inRANGE(((const U8*)s)[1], 0x57, 0x58 ) ) ? 2 : 0 ) \ 1365 : ( 0x8E == ((const U8*)s)[0] ) ? \ 1366 ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1367 : ( 0x8F == ((const U8*)s)[0] ) ? \ 1368 ( ( 0x67 == ((const U8*)s)[1] || 0x73 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1369 : ( 0x9C == ((const U8*)s)[0] ) ? \ 1370 ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1371 : ( 0xAF == ((const U8*)s)[0] ) ? \ 1372 ( ( 0x48 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1373 : ( inRANGE(((const U8*)s)[0], 0xB3, 0xB4 ) ) ? \ 1374 ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1375 : ( 0xBF == ((const U8*)s)[0] ) ? \ 1376 ( ( ( 0x63 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x65, 0x69 ) || 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1377 : ( 0xCA == ((const U8*)s)[0] ) ? \ 1378 ( ( ( 0x4A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x51, 0x52 ) ) ) ? 3 : 0 )\ 1379 : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x72 == ((const U8*)s)[1] ) ) && ( 0x67 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x47 ) ) ) ? 4 : 0 ) 1380 1381 /*** GENERATED CODE ***/ 1382 #define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \ 1383 ( cp <= 0xFF || ( 0xFF < cp && \ 1384 ( 0x130 == cp || ( 0x130 < cp && \ 1385 ( 0x131 == cp || ( 0x131 < cp && \ 1386 ( 0x149 == cp || ( 0x149 < cp && \ 1387 ( 0x178 == cp || ( 0x178 < cp && \ 1388 ( 0x17F == cp || ( 0x17F < cp && \ 1389 ( 0x1F0 == cp || ( 0x1F0 < cp && \ 1390 ( 0x307 == cp || ( 0x307 < cp && \ 1391 ( 0x39C == cp || ( 0x39C < cp && \ 1392 ( 0x3BC == cp || ( 0x3BC < cp && \ 1393 ( inRANGE(cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \ 1394 ( 0x1E9E == cp || ( 0x1E9E < cp && \ 1395 ( 0x212A == cp || ( 0x212A < cp && \ 1396 ( 0x212B == cp || inRANGE(cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 1397 1398 /* 1399 PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale 1400 1401 \p{_Perl_Problematic_Locale_Foldeds_Start} 1402 */ 1403 /*** GENERATED CODE ***/ 1404 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \ 1405 ( ( ( ((const U8*)s)[0] <= 0x40 ) || inRANGE(((const U8*)s)[0], 0x4B, 0x50 ) || inRANGE(((const U8*)s)[0], 0x5A, 0x61 ) || inRANGE(((const U8*)s)[0], 0x6B, 0x6F ) || inRANGE(((const U8*)s)[0], 0x79, 0x7F ) || inRANGE(((const U8*)s)[0], 0x81, 0x89 ) || inRANGE(((const U8*)s)[0], 0x91, 0x99 ) || inRANGE(((const U8*)s)[0], 0xA1, 0xA9 ) || 0xAD == ((const U8*)s)[0] || 0xBD == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xC0, 0xC9 ) || inRANGE(((const U8*)s)[0], 0xD0, 0xD9 ) || 0xE0 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xE2, 0xE9 ) || inRANGE(((const U8*)s)[0], 0xF0, 0xF9 ) || 0xFF == ((const U8*)s)[0] ) ? 1\ 1406 : ( 0x80 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x8A, 0x8B ) ) ?\ 1407 ( ( inRANGE(((const U8*)s)[1], 0x41, 0x4A ) || inRANGE(((const U8*)s)[1], 0x51, 0x59 ) || inRANGE(((const U8*)s)[1], 0x62, 0x6A ) || inRANGE(((const U8*)s)[1], 0x70, 0x73 ) ) ? 2 : 0 )\ 1408 : ( 0x8D == ((const U8*)s)[0] ) ? \ 1409 ( ( inRANGE(((const U8*)s)[1], 0x57, 0x58 ) ) ? 2 : 0 ) \ 1410 : ( 0x8E == ((const U8*)s)[0] ) ? \ 1411 ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1412 : ( 0x8F == ((const U8*)s)[0] ) ? \ 1413 ( ( 0x67 == ((const U8*)s)[1] || 0x73 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1414 : ( 0x9C == ((const U8*)s)[0] ) ? \ 1415 ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1416 : ( 0xAB == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xB3, 0xB4 ) ) ?\ 1417 ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1418 : ( 0xBF == ((const U8*)s)[0] ) ? \ 1419 ( ( ( 0x63 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x65, 0x69 ) || 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1420 : ( 0xCA == ((const U8*)s)[0] ) ? \ 1421 ( ( ( 0x4A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x51, 0x52 ) ) ) ? 3 : 0 )\ 1422 : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x72 == ((const U8*)s)[1] ) ) && ( 0x67 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x47 ) ) ) ? 4 : 0 ) 1423 1424 /*** GENERATED CODE ***/ 1425 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \ 1426 ( cp <= 0xFF || ( 0xFF < cp && \ 1427 ( 0x130 == cp || ( 0x130 < cp && \ 1428 ( 0x131 == cp || ( 0x131 < cp && \ 1429 ( 0x149 == cp || ( 0x149 < cp && \ 1430 ( 0x178 == cp || ( 0x178 < cp && \ 1431 ( 0x17F == cp || ( 0x17F < cp && \ 1432 ( 0x1F0 == cp || ( 0x1F0 < cp && \ 1433 ( 0x2BC == cp || ( 0x2BC < cp && \ 1434 ( 0x39C == cp || ( 0x39C < cp && \ 1435 ( 0x3BC == cp || ( 0x3BC < cp && \ 1436 ( inRANGE(cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \ 1437 ( 0x1E9E == cp || ( 0x1E9E < cp && \ 1438 ( 0x212A == cp || ( 0x212A < cp && \ 1439 ( 0x212B == cp || inRANGE(cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 1440 1441 /* 1442 PATWS: pattern white space 1443 1444 \p{_Perl_PatWS} 1445 */ 1446 /*** GENERATED CODE ***/ 1447 #define is_PATWS_safe(s,e,is_utf8) \ 1448 ( ( LIKELY((e) > (s)) ) ? \ 1449 ( ( 0x05 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] || 0x40 == ((const U8*)s)[0] ) ? 1\ 1450 : ( ( is_utf8 && LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) && ( 0xCA == ((const U8*)s)[0] ) ) ? ( ( 0x41 == ((const U8*)s)[1] ) ?\ 1451 ( ( inRANGE(((const U8*)s)[2], 0x55, 0x56 ) ) ? 3 : 0 ) \ 1452 : ( ( 0x42 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 ) : 0 )\ 1453 : 0 ) 1454 1455 /*** GENERATED CODE ***/ 1456 #define is_PATWS_cp(cp) \ 1457 ( 0x05 == cp || ( 0x05 < cp && \ 1458 ( inRANGE(cp, 0x0B, 0x0D) || ( 0x0D < cp && \ 1459 ( 0x15 == cp || ( 0x15 < cp && \ 1460 ( 0x25 == cp || ( 0x25 < cp && \ 1461 ( 0x40 == cp || ( 0x40 < cp && \ 1462 ( 0x200E == cp || ( 0x200E < cp && \ 1463 ( 0x200F == cp || ( 0x200F < cp && \ 1464 ( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 1465 1466 #endif /* EBCDIC 1047 */ 1467 1468 #if 'A' == 193 /* EBCDIC 037 */ \ 1469 && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \ 1470 && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \ 1471 && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37 1472 /* 1473 LNBREAK: Line Break: \R 1474 1475 "\x0D\x0A" # CRLF - Network (Windows) line ending 1476 \p{VertSpace} 1477 */ 1478 /*** GENERATED CODE ***/ 1479 #define is_LNBREAK_safe(s,e,is_utf8) \ 1480 ( ((e)-(s) > 2) ? \ 1481 ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ 1482 : ( 0x0D == ((const U8*)s)[0] ) ? \ 1483 ( ( 0x25 == ((const U8*)s)[1] ) ? 2 : 1 ) \ 1484 : ( ( ( ( is_utf8 ) && ( 0xCA == ((const U8*)s)[0] ) ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 )\ 1485 : ((e)-(s) > 1) ? \ 1486 ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ 1487 : ( 0x0D == ((const U8*)s)[0] ) ? \ 1488 ( ( 0x25 == ((const U8*)s)[1] ) ? 2 : 1 ) \ 1489 : 0 ) \ 1490 : ((e)-(s) > 0) ? \ 1491 ( inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\ 1492 : 0 ) 1493 1494 /*** GENERATED CODE ***/ 1495 #define is_LNBREAK_utf8_safe(s,e) \ 1496 ( ((e)-(s) > 2) ? \ 1497 ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ 1498 : ( 0x0D == ((const U8*)s)[0] ) ? \ 1499 ( ( 0x25 == ((const U8*)s)[1] ) ? 2 : 1 ) \ 1500 : ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 )\ 1501 : ((e)-(s) > 1) ? \ 1502 ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ 1503 : ( 0x0D == ((const U8*)s)[0] ) ? \ 1504 ( ( 0x25 == ((const U8*)s)[1] ) ? 2 : 1 ) \ 1505 : 0 ) \ 1506 : ((e)-(s) > 0) ? \ 1507 ( inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\ 1508 : 0 ) 1509 1510 /*** GENERATED CODE ***/ 1511 #define is_LNBREAK_latin1_safe(s,e) \ 1512 ( ((e)-(s) > 1) ? \ 1513 ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\ 1514 : ( 0x0D == ((const U8*)s)[0] ) ? \ 1515 ( ( 0x25 == ((const U8*)s)[1] ) ? 2 : 1 ) \ 1516 : 0 ) \ 1517 : ((e)-(s) > 0) ? \ 1518 ( inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\ 1519 : 0 ) 1520 1521 /* 1522 HORIZWS: Horizontal Whitespace: \h \H 1523 1524 \p{HorizSpace} 1525 */ 1526 /*** GENERATED CODE ***/ 1527 #define is_HORIZWS_high(s) \ 1528 ( ( 0xBD == ((const U8*)s)[0] ) ? \ 1529 ( ( ( 0x62 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1530 : ( 0xCA == ((const U8*)s)[0] ) ? \ 1531 ( ( 0x41 == ((const U8*)s)[1] ) ? \ 1532 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || 0x51 == ((const U8*)s)[2] ) ? 3 : 0 )\ 1533 : ( 0x42 == ((const U8*)s)[1] ) ? \ 1534 ( ( 0x56 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 1535 : ( ( 0x43 == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1536 : ( ( ( 0xCE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] ) ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 ) 1537 1538 /*** GENERATED CODE ***/ 1539 #define is_HORIZWS_cp_high(cp) \ 1540 ( 0x1680 == cp || ( 0x1680 < cp && \ 1541 ( inRANGE(cp, 0x2000, 0x200A) || ( 0x200A < cp && \ 1542 ( 0x202F == cp || ( 0x202F < cp && \ 1543 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) 1544 1545 /* 1546 VERTWS: Vertical Whitespace: \v \V 1547 1548 \p{VertSpace} 1549 */ 1550 /*** GENERATED CODE ***/ 1551 #define is_VERTWS_high(s) \ 1552 ( ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 ) 1553 1554 /*** GENERATED CODE ***/ 1555 #define is_VERTWS_cp_high(cp) \ 1556 ( 0x2028 == cp || 0x2029 == cp ) 1557 1558 /* 1559 XDIGIT: Hexadecimal digits 1560 1561 \p{XDigit} 1562 */ 1563 /*** GENERATED CODE ***/ 1564 #define is_XDIGIT_high(s) \ 1565 ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x72 == ((const U8*)s)[1] ) ) ? ( ( 0x66 == ((const U8*)s)[2] ) ?\ 1566 ( ( inRANGE(((const U8*)s)[3], 0x57, 0x59 ) || 0x5F == ((const U8*)s)[3] || inRANGE(((const U8*)s)[3], 0x62, 0x67 ) ) ? 4 : 0 )\ 1567 : ( ( inRANGE(((const U8*)s)[2], 0x67, 0x68 ) ) && ( inRANGE(((const U8*)s)[3], 0x42, 0x47 ) ) ) ? 4 : 0 ) : 0 ) 1568 1569 /*** GENERATED CODE ***/ 1570 #define is_XDIGIT_cp_high(cp) \ 1571 ( inRANGE(cp, 0xFF10, 0xFF19) || ( 0xFF19 < cp && \ 1572 ( inRANGE(cp, 0xFF21, 0xFF26) || inRANGE(cp, 0xFF41, 0xFF46) ) ) ) 1573 1574 /* 1575 XPERLSPACE: \p{XPerlSpace} 1576 1577 \p{XPerlSpace} 1578 */ 1579 /*** GENERATED CODE ***/ 1580 #define is_XPERLSPACE_high(s) \ 1581 ( ( 0xBD == ((const U8*)s)[0] ) ? \ 1582 ( ( ( 0x62 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1583 : ( 0xCA == ((const U8*)s)[0] ) ? \ 1584 ( ( 0x41 == ((const U8*)s)[1] ) ? \ 1585 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || 0x51 == ((const U8*)s)[2] ) ? 3 : 0 )\ 1586 : ( 0x42 == ((const U8*)s)[1] ) ? \ 1587 ( ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) || 0x56 == ((const U8*)s)[2] ) ? 3 : 0 )\ 1588 : ( ( 0x43 == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1589 : ( ( ( 0xCE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] ) ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 ) 1590 1591 /*** GENERATED CODE ***/ 1592 #define is_XPERLSPACE_cp_high(cp) \ 1593 ( 0x1680 == cp || ( 0x1680 < cp && \ 1594 ( inRANGE(cp, 0x2000, 0x200A) || ( 0x200A < cp && \ 1595 ( 0x2028 == cp || ( 0x2028 < cp && \ 1596 ( 0x2029 == cp || ( 0x2029 < cp && \ 1597 ( 0x202F == cp || ( 0x202F < cp && \ 1598 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) ) 1599 1600 /* 1601 NONCHAR: Non character code points 1602 1603 \p{_Perl_Nchar} 1604 */ 1605 /*** GENERATED CODE ***/ 1606 #define is_NONCHAR_utf8_safe(s,e) \ 1607 ( ( ( LIKELY((e) > (s)) ) && ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ) ? ( ( 0xDD == ((const U8*)s)[0] ) ?\ 1608 ( ( 0x72 == ((const U8*)s)[1] ) ? \ 1609 ( ( 0x55 == ((const U8*)s)[2] ) ? \ 1610 ( ( inRANGE(((const U8*)s)[3], 0x57, 0x59 ) || 0x5F == ((const U8*)s)[3] || inRANGE(((const U8*)s)[3], 0x62, 0x6A ) || inRANGE(((const U8*)s)[3], 0x70, 0x72 ) ) ? 4 : 0 )\ 1611 : ( 0x56 == ((const U8*)s)[2] ) ? \ 1612 ( ( inRANGE(((const U8*)s)[3], 0x41, 0x4A ) || inRANGE(((const U8*)s)[3], 0x51, 0x56 ) ) ? 4 : 0 )\ 1613 : ( ( 0x72 == ((const U8*)s)[2] ) && ( inRANGE(((const U8*)s)[3], 0x71, 0x72 ) ) ) ? 4 : 0 )\ 1614 : 0 ) \ 1615 : ( 0xDF == ((const U8*)s)[0] || 0xEA == ((const U8*)s)[0] || 0xEC == ((const U8*)s)[0] ) ?\ 1616 ( ( ( ( 0x72 == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x71, 0x72 ) ) ) ? 4 : 0 )\ 1617 : ( 0xED == ((const U8*)s)[0] ) ? \ 1618 ( ( ( ( ( ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x52 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x54 ) || ((const U8*)s)[1] == 0x58 || ((const U8*)s)[1] == 0x5F || ((const U8*)s)[1] == 0x63 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x65 ) || ((const U8*)s)[1] == 0x69 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x70 ) ) && ( 0x72 == ((const U8*)s)[2] ) ) && ( 0x72 == ((const U8*)s)[3] ) ) && ( inRANGE(((const U8*)s)[4], 0x71, 0x72 ) ) ) ? 5 : 0 )\ 1619 : ( ( ( ( ( 0xEE == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( 0x72 == ((const U8*)s)[2] ) ) && ( 0x72 == ((const U8*)s)[3] ) ) && ( inRANGE(((const U8*)s)[4], 0x71, 0x72 ) ) ) ? 5 : 0 ) : 0 ) 1620 1621 /* 1622 SURROGATE: Surrogate code points 1623 1624 \p{_Perl_Surrogate} 1625 */ 1626 /*** GENERATED CODE ***/ 1627 #define is_SURROGATE_utf8_safe(s,e) \ 1628 ( ( ( ( ( ( ((e) - (s)) >= 4 ) && ( 0xDD == ((const U8*)s)[0] ) ) && ( inRANGE(((const U8*)s)[1], 0x64, 0x65 ) ) ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x4A ) || inRANGE(((const U8*)s)[3], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[3] || inRANGE(((const U8*)s)[3], 0x62, 0x6A ) || inRANGE(((const U8*)s)[3], 0x70, 0x72 ) ) ) ? 4 : 0 ) 1629 1630 /* 1631 QUOTEMETA: Meta-characters that \Q should quote 1632 1633 \p{_Perl_Quotemeta} 1634 */ 1635 /*** GENERATED CODE ***/ 1636 #define is_QUOTEMETA_high_part0(s) \ 1637 ( ( 0x51 == ((const U8*)s)[1] ) ? \ 1638 ( ( 0x72 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 1639 : ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 ) 1640 1641 1642 /*** GENERATED CODE ***/ 1643 #define is_QUOTEMETA_high_part1(s) \ 1644 ( ( 0xBD == ((const U8*)s)[0] ) ? \ 1645 ( ( 0x62 == ((const U8*)s)[1] ) ? \ 1646 ( ( 0x41 == ((const U8*)s)[2] ) ? 3 : 0 ) \ 1647 : ( ( 0x70 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x62, 0x63 ) ) ) ? 3 : 0 )\ 1648 : ( 0xBE == ((const U8*)s)[0] ) ? \ 1649 ( ( ( 0x41 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x52, 0x55 ) ) ) ? 3 : 0 )\ 1650 : ( 0xCA == ((const U8*)s)[0] ) ? \ 1651 ( ( 0x41 == ((const U8*)s)[1] || inRANGE(((const U8*)s)[1], 0x54, 0x59 ) || 0x5F == ((const U8*)s)[1] || inRANGE(((const U8*)s)[1], 0x62, 0x6A ) || inRANGE(((const U8*)s)[1], 0x70, 0x72 ) ) ?\ 1652 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ? 3 : 0 )\ 1653 : ( 0x42 == ((const U8*)s)[1] ) ? \ 1654 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x71 ) ) ? 3 : 0 )\ 1655 : ( 0x43 == ((const U8*)s)[1] ) ? \ 1656 ( ( inRANGE(((const U8*)s)[2], 0x42, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x63, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ? 3 : 0 )\ 1657 : ( 0x44 == ((const U8*)s)[1] ) ? \ 1658 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x56 ) ) ? 3 : 0 )\ 1659 : ( ( 0x53 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x57, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ) ? 3 : 0 )\ 1660 : ( 0xCB == ((const U8*)s)[0] ) ? \ 1661 ( ( inRANGE(((const U8*)s)[1], 0x41, 0x43 ) || inRANGE(((const U8*)s)[1], 0x49, 0x4A ) || inRANGE(((const U8*)s)[1], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[1] || inRANGE(((const U8*)s)[1], 0x62, 0x68 ) || inRANGE(((const U8*)s)[1], 0x70, 0x72 ) ) ?\ 1662 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ? 3 : 0 )\ 1663 : ( 0x69 == ((const U8*)s)[1] ) ? \ 1664 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x63 ) ) ? 3 : 0 )\ 1665 : ( ( 0x6A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ) ? 3 : 0 )\ 1666 : ( 0xCC == ((const U8*)s)[0] ) ? \ 1667 ( ( ( inRANGE(((const U8*)s)[1], 0x41, 0x4A ) || inRANGE(((const U8*)s)[1], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[1] || inRANGE(((const U8*)s)[1], 0x62, 0x6A ) || inRANGE(((const U8*)s)[1], 0x70, 0x72 ) ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ) ? 3 : 0 )\ 1668 : ( 0xCD == ((const U8*)s)[0] ) ? \ 1669 ( ( ( inRANGE(((const U8*)s)[1], 0x57, 0x59 ) || 0x5F == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ) ? 3 : 0 )\ 1670 : ( 0xCE == ((const U8*)s)[0] ) ? \ 1671 ( ( 0x41 == ((const U8*)s)[1] ) ? \ 1672 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x44 ) || inRANGE(((const U8*)s)[2], 0x49, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ? 3 : 0 )\ 1673 : ( 0x42 == ((const U8*)s)[1] ) ? \ 1674 ( ( 0x41 == ((const U8*)s)[2] || 0x57 == ((const U8*)s)[2] ) ? 3 : 0 )\ 1675 : ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x45 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1676 : ( 0xDD == ((const U8*)s)[0] ) ? \ 1677 ( ( 0x72 == ((const U8*)s)[1] ) ? \ 1678 ( ( 0x4A == ((const U8*)s)[2] ) ? \ 1679 ( ( inRANGE(((const U8*)s)[3], 0x71, 0x72 ) ) ? 4 : 0 ) \ 1680 : ( 0x57 == ((const U8*)s)[2] ) ? \ 1681 ( ( inRANGE(((const U8*)s)[3], 0x41, 0x4A ) || inRANGE(((const U8*)s)[3], 0x51, 0x56 ) ) ? 4 : 0 )\ 1682 : ( 0x59 == ((const U8*)s)[2] ) ? \ 1683 ( ( inRANGE(((const U8*)s)[3], 0x46, 0x47 ) ) ? 4 : 0 ) \ 1684 : ( 0x65 == ((const U8*)s)[2] ) ? \ 1685 ( ( 0x72 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1686 : ( 0x70 == ((const U8*)s)[2] ) ? \ 1687 ( ( 0x41 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1688 : ( ( 0x72 == ((const U8*)s)[2] ) && ( inRANGE(((const U8*)s)[3], 0x57, 0x59 ) || 0x5F == ((const U8*)s)[3] || inRANGE(((const U8*)s)[3], 0x62, 0x66 ) ) ) ? 4 : 0 )\ 1689 : 0 ) \ 1690 : ( 0xDF == ((const U8*)s)[0] ) ? \ 1691 ( ( 0x56 == ((const U8*)s)[1] ) ? \ 1692 ( ( ( 0x46 == ((const U8*)s)[2] ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x44 ) ) ) ? 4 : 0 )\ 1693 : ( ( ( 0x62 == ((const U8*)s)[1] ) && ( 0x52 == ((const U8*)s)[2] ) ) && ( 0x5F == ((const U8*)s)[3] || inRANGE(((const U8*)s)[3], 0x62, 0x68 ) ) ) ? 4 : 0 )\ 1694 : ( ( ( ( ( 0xED == ((const U8*)s)[0] ) && ( 0x6A == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x44 ) ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x4A ) || inRANGE(((const U8*)s)[3], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[3] || inRANGE(((const U8*)s)[3], 0x62, 0x6A ) || inRANGE(((const U8*)s)[3], 0x70, 0x72 ) ) ) && ( inRANGE(((const U8*)s)[4], 0x41, 0x4A ) || inRANGE(((const U8*)s)[4], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[4] || inRANGE(((const U8*)s)[4], 0x62, 0x6A ) || inRANGE(((const U8*)s)[4], 0x70, 0x72 ) ) ) ? 5 : 0 ) 1695 1696 1697 /*** GENERATED CODE ***/ 1698 #define is_QUOTEMETA_high(s) \ 1699 ( ( 0xAF == ((const U8*)s)[0] ) ? \ 1700 ( ( 0x56 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1701 : ( 0xB7 == ((const U8*)s)[0] ) ? \ 1702 ( ( ( 0x57 == ((const U8*)s)[1] ) && ( 0x6A == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1703 : ( 0xBC == ((const U8*)s)[0] ) ? is_QUOTEMETA_high_part0(s) : is_QUOTEMETA_high_part1(s) ) 1704 1705 /* 1706 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character 1707 1708 ®charclass_multi_char_folds::multi_char_folds('u', 'a') 1709 */ 1710 /*** GENERATED CODE ***/ 1711 #define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \ 1712 ( ( 0x86 == ((const U8*)s)[1] ) ? \ 1713 ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\ 1714 : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 ) 1715 1716 1717 /*** GENERATED CODE ***/ 1718 #define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) \ 1719 ( ( 0x88 == ((const U8*)s)[0] ) ? \ 1720 ( ( ( 0xAE == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1721 : ( 0x89 == ((const U8*)s)[0] ) ? \ 1722 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1723 : ( 0x8E == ((const U8*)s)[0] ) ? \ 1724 ( ( ( ( 0x72 == ((const U8*)s)[1] ) && ( 0x8E == ((const U8*)s)[2] ) ) && ( 0x72 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1725 : ( 0x91 == ((const U8*)s)[0] ) ? \ 1726 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1727 : ( 0xA2 == ((const U8*)s)[0] ) ? \ 1728 ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \ 1729 : ( 0xA3 == ((const U8*)s)[0] ) ? \ 1730 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1731 : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \ 1732 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1733 : ( 0xAA == ((const U8*)s)[0] ) ? \ 1734 ( ( ( 0x6A == ((const U8*)s)[1] ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1735 : ( 0xB3 == ((const U8*)s)[0] ) ? \ 1736 ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? \ 1737 ( ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1738 : ( 0x58 == ((const U8*)s)[1] || 0x65 == ((const U8*)s)[1] ) ? \ 1739 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 1740 ( ( 0x43 == ((const U8*)s)[3] ) ? \ 1741 ( ( ( 0xB3 == ((const U8*)s)[4] ) && ( 0x67 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ 1742 : 0 ) \ 1743 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1744 : ( 0x67 == ((const U8*)s)[1] ) ? \ 1745 ( ( 0xAD == ((const U8*)s)[2] ) ? \ 1746 ( ( 0x49 == ((const U8*)s)[3] ) ? \ 1747 ( ( 0xAD == ((const U8*)s)[4] ) ? \ 1748 ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\ 1749 : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 1750 : 0 ) \ 1751 : ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1752 : 0 ) \ 1753 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 1754 ( ( 0x42 == ((const U8*)s)[1] ) ? \ 1755 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x5F == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1756 : ( 0x46 == ((const U8*)s)[1] ) ? \ 1757 ( ( 0xAD == ((const U8*)s)[2] ) ? \ 1758 ( ( 0x49 == ((const U8*)s)[3] ) ? \ 1759 ( ( 0xAD == ((const U8*)s)[4] ) ? \ 1760 ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\ 1761 : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 1762 : ( 0x5F == ((const U8*)s)[3] ) ? \ 1763 ( ( 0xAD == ((const U8*)s)[4] ) ? \ 1764 ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 4 )\ 1765 : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ 1766 : 0 ) \ 1767 : ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1768 : ( 0x4A == ((const U8*)s)[1] ) ? \ 1769 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 1770 ( ( 0x43 == ((const U8*)s)[3] ) ? \ 1771 ( ( ( 0xB3 == ((const U8*)s)[4] ) && ( 0x67 == ((const U8*)s)[5] ) ) ? 6 : 4 )\ 1772 : 0 ) \ 1773 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1774 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB3 == ((const U8*)s)[2] ) ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1775 : ( 0xB7 == ((const U8*)s)[0] ) ? \ 1776 ( ( 0x52 == ((const U8*)s)[1] ) ? \ 1777 ( ( 0x46 == ((const U8*)s)[2] ) ? \ 1778 ( ( ( ( 0xB7 == ((const U8*)s)[3] ) && ( 0x53 == ((const U8*)s)[4] ) ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 1779 : ( 0x62 == ((const U8*)s)[2] ) ? \ 1780 ( ( ( ( 0xB7 == ((const U8*)s)[3] ) && ( 0x52 == ((const U8*)s)[4] ) ) && ( 0x46 == ((const U8*)s)[5] || 0x52 == ((const U8*)s)[5] || 0x54 == ((const U8*)s)[5] || 0x64 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 1781 : ( ( ( ( 0x71 == ((const U8*)s)[2] ) && ( 0xB7 == ((const U8*)s)[3] ) ) && ( 0x52 == ((const U8*)s)[4] ) ) && ( 0x64 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 1782 : 0 ) \ 1783 : ( 0xBF == ((const U8*)s)[0] ) ? \ 1784 ( ( inRANGE(((const U8*)s)[1], 0x66, 0x67 ) ) ? \ 1785 ( ( ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) && ( 0xB3 == ((const U8*)s)[3] ) ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 1786 : ( ( ( ( 0x69 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) || 0x57 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x6A == ((const U8*)s)[2] ) ) && ( 0xB3 == ((const U8*)s)[3] ) ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 1787 : 0 ) 1788 1789 1790 /*** GENERATED CODE ***/ 1791 #define is_MULTI_CHAR_FOLD_utf8_safe_part2(s,e) \ 1792 ( ( 0x81 == ((const U8*)s)[0] ) ? \ 1793 ( ( ( 0xAA == ((const U8*)s)[1] ) && ( 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1794 : ( 0x86 == ((const U8*)s)[0] ) ? \ 1795 ( ( 0x86 == ((const U8*)s)[1] ) ? \ 1796 ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\ 1797 : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\ 1798 : ( 0x88 == ((const U8*)s)[0] ) ? \ 1799 ( ( ( 0xAE == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1800 : ( 0x89 == ((const U8*)s)[0] ) ? \ 1801 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1802 : ( 0x8E == ((const U8*)s)[0] ) ? \ 1803 ( ( ( ( 0x72 == ((const U8*)s)[1] ) && ( 0x8E == ((const U8*)s)[2] ) ) && ( 0x72 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1804 : ( 0x91 == ((const U8*)s)[0] ) ? \ 1805 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1806 : ( 0xA2 == ((const U8*)s)[0] ) ? \ 1807 ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \ 1808 : ( 0xA3 == ((const U8*)s)[0] ) ? \ 1809 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1810 : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \ 1811 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1812 : ( 0xAA == ((const U8*)s)[0] ) ? \ 1813 ( ( ( 0x6A == ((const U8*)s)[1] ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1814 : ( 0xB3 == ((const U8*)s)[0] ) ? \ 1815 ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? \ 1816 ( ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1817 : ( 0x58 == ((const U8*)s)[1] || 0x65 == ((const U8*)s)[1] ) ? \ 1818 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 1819 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1820 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1821 : ( ( ( 0x67 == ((const U8*)s)[1] ) && ( 0xAF == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1822 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 1823 ( ( 0x42 == ((const U8*)s)[1] ) ? \ 1824 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x5F == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1825 : ( 0x46 == ((const U8*)s)[1] ) ? \ 1826 ( ( 0xAD == ((const U8*)s)[2] ) ? \ 1827 ( ( 0x5F == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1828 : ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1829 : ( 0x4A == ((const U8*)s)[1] ) ? \ 1830 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 1831 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1832 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1833 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB3 == ((const U8*)s)[2] ) ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1834 : ( 0xBF == ((const U8*)s)[0] ) ? \ 1835 ( ( inRANGE(((const U8*)s)[1], 0x66, 0x67 ) ) ? \ 1836 ( ( ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) && ( 0xB3 == ((const U8*)s)[3] ) ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 1837 : ( ( ( ( 0x69 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) || 0x57 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x6A == ((const U8*)s)[2] ) ) && ( 0xB3 == ((const U8*)s)[3] ) ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 5 : 0 )\ 1838 : 0 ) 1839 1840 1841 /*** GENERATED CODE ***/ 1842 #define is_MULTI_CHAR_FOLD_utf8_safe_part3(s,e) \ 1843 ( ((e)-(s) > 3) ? \ 1844 ( ( 0x81 == ((const U8*)s)[0] ) ? \ 1845 ( ( ( 0xAA == ((const U8*)s)[1] ) && ( 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1846 : ( 0x86 == ((const U8*)s)[0] ) ? \ 1847 ( ( 0x86 == ((const U8*)s)[1] ) ? \ 1848 ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\ 1849 : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\ 1850 : ( 0x88 == ((const U8*)s)[0] ) ? \ 1851 ( ( ( 0xAE == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1852 : ( 0x89 == ((const U8*)s)[0] ) ? \ 1853 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1854 : ( 0x8E == ((const U8*)s)[0] ) ? \ 1855 ( ( ( ( 0x72 == ((const U8*)s)[1] ) && ( 0x8E == ((const U8*)s)[2] ) ) && ( 0x72 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1856 : ( 0x91 == ((const U8*)s)[0] ) ? \ 1857 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1858 : ( 0xA2 == ((const U8*)s)[0] ) ? \ 1859 ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \ 1860 : ( 0xA3 == ((const U8*)s)[0] ) ? \ 1861 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1862 : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \ 1863 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1864 : ( 0xAA == ((const U8*)s)[0] ) ? \ 1865 ( ( ( 0x6A == ((const U8*)s)[1] ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1866 : ( 0xB3 == ((const U8*)s)[0] ) ? \ 1867 ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? \ 1868 ( ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1869 : ( 0x58 == ((const U8*)s)[1] || 0x65 == ((const U8*)s)[1] ) ? \ 1870 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 1871 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1872 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1873 : ( ( ( 0x67 == ((const U8*)s)[1] ) && ( 0xAF == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1874 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 1875 ( ( 0x42 == ((const U8*)s)[1] ) ? \ 1876 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x5F == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1877 : ( 0x46 == ((const U8*)s)[1] ) ? \ 1878 ( ( 0xAD == ((const U8*)s)[2] ) ? \ 1879 ( ( 0x5F == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1880 : ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1881 : ( 0x4A == ((const U8*)s)[1] ) ? \ 1882 ( ( 0xAF == ((const U8*)s)[2] ) ? \ 1883 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \ 1884 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1885 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB3 == ((const U8*)s)[2] ) ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\ 1886 : 0 ) \ 1887 : ((e)-(s) > 2) ? \ 1888 ( ( 0x81 == ((const U8*)s)[0] ) ? \ 1889 ( ( ( 0xAA == ((const U8*)s)[1] ) && ( 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1890 : ( 0x86 == ((const U8*)s)[0] ) ? \ 1891 ( ( 0x86 == ((const U8*)s)[1] ) ? \ 1892 ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\ 1893 : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\ 1894 : ( 0x88 == ((const U8*)s)[0] ) ? \ 1895 ( ( ( 0xAE == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1896 : ( 0x89 == ((const U8*)s)[0] ) ? \ 1897 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1898 : ( 0x91 == ((const U8*)s)[0] ) ? \ 1899 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1900 : ( 0xA2 == ((const U8*)s)[0] ) ? \ 1901 ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \ 1902 : ( 0xA3 == ((const U8*)s)[0] ) ? \ 1903 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1904 : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \ 1905 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1906 : ( ( ( 0xAA == ((const U8*)s)[0] ) && ( 0x6A == ((const U8*)s)[1] ) ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1907 : ((e)-(s) > 1) ? \ 1908 ( ( 0x86 == ((const U8*)s)[0] ) ? \ 1909 ( ( 0x86 == ((const U8*)s)[1] || 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\ 1910 : ( ( 0xA2 == ((const U8*)s)[0] ) && ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ) ? 2 : 0 )\ 1911 : 0 ) 1912 1913 1914 /*** GENERATED CODE ***/ 1915 #define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \ 1916 ( ((e)-(s) > 5) ? \ 1917 ( ( 0x81 == ((const U8*)s)[0] ) ? \ 1918 ( ( ( 0xAA == ((const U8*)s)[1] ) && ( 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1919 : ( 0x86 == ((const U8*)s)[0] ) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )\ 1920 : ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part2(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part3(s,e) ) 1921 1922 /* 1923 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character 1924 1925 ®charclass_multi_char_folds::multi_char_folds('l', 'a') 1926 */ 1927 /*** GENERATED CODE ***/ 1928 #define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \ 1929 ( ((e)-(s) > 2) ? \ 1930 ( ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ? \ 1931 ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) ? \ 1932 ( ( ( ( ((const U8*)s)[2] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[2] & 0xBF ) == 0x93 ) ) ? 3 : 2 )\ 1933 : ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\ 1934 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((const U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\ 1935 : ((e)-(s) > 1) ? \ 1936 ( ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ? \ 1937 ( ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) || ( ( ((const U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\ 1938 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((const U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\ 1939 : 0 ) 1940 1941 /* 1942 THREE_CHAR_FOLD: A three-character multi-char fold 1943 1944 ®charclass_multi_char_folds::multi_char_folds('u', '3') 1945 */ 1946 /*** GENERATED CODE ***/ 1947 #define is_THREE_CHAR_FOLD_utf8_safe(s,e) \ 1948 ( ((e)-(s) > 5) ? \ 1949 ( ( 0x86 == ((const U8*)s)[0] ) ? \ 1950 ( ( ( 0x86 == ((const U8*)s)[1] ) && ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 1951 : ( 0xB3 == ((const U8*)s)[0] ) ? \ 1952 ( ( 0x58 == ((const U8*)s)[1] || 0x65 == ((const U8*)s)[1] ) ? \ 1953 ( ( ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) && ( 0xB3 == ((const U8*)s)[4] ) ) && ( 0x67 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 1954 : ( ( ( 0x67 == ((const U8*)s)[1] ) && ( 0xAD == ((const U8*)s)[2] ) ) && ( 0x49 == ((const U8*)s)[3] ) ) ? ( ( 0xAD == ((const U8*)s)[4] ) ?\ 1955 ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\ 1956 : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ 1957 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 1958 ( ( 0x46 == ((const U8*)s)[1] ) ? \ 1959 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] || 0x5F == ((const U8*)s)[3] ) ) ? ( ( 0xAD == ((const U8*)s)[4] ) ?\ 1960 ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\ 1961 : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\ 1962 : ( ( ( ( ( 0x4A == ((const U8*)s)[1] ) && ( 0xAF == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) && ( 0xB3 == ((const U8*)s)[4] ) ) && ( 0x67 == ((const U8*)s)[5] ) ) ? 6 : 0 )\ 1963 : 0 ) \ 1964 : ( ( ( ((e)-(s) > 2) && ( 0x86 == ((const U8*)s)[0] ) ) && ( 0x86 == ((const U8*)s)[1] ) ) && ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ) ? 3 : 0 ) 1965 1966 /* 1967 THREE_CHAR_FOLD: A three-character multi-char fold 1968 1969 ®charclass_multi_char_folds::multi_char_folds('l', '3') 1970 */ 1971 /*** GENERATED CODE ***/ 1972 #define is_THREE_CHAR_FOLD_latin1_safe(s,e) \ 1973 ( ( ( ( ( ((e) - (s)) >= 3 ) && ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ) && ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) ) && ( ( ( ((const U8*)s)[2] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[2] & 0xBF ) == 0x93 ) ) ) ? 3 : 0 ) 1974 1975 /* 1976 THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds 1977 1978 ®charclass_multi_char_folds::multi_char_folds('u', 'h') 1979 */ 1980 /*** GENERATED CODE ***/ 1981 #define is_THREE_CHAR_FOLD_HEAD_utf8_safe(s,e) \ 1982 ( ((e)-(s) > 3) ? \ 1983 ( ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA6 || ((const U8*)s)[0] == 0xA8 ) ? 1\ 1984 : ( 0x86 == ((const U8*)s)[0] ) ? \ 1985 ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \ 1986 : ( 0xAA == ((const U8*)s)[0] ) ? \ 1987 ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 1988 : ( 0xB3 == ((const U8*)s)[0] ) ? \ 1989 ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? 2 \ 1990 : ( 0x58 == ((const U8*)s)[1] || 0x65 == ((const U8*)s)[1] ) ? \ 1991 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 1992 : ( 0x67 == ((const U8*)s)[1] ) ? \ 1993 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 1994 : 0 ) \ 1995 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 1996 ( ( 0x42 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? 2 \ 1997 : ( 0x46 == ((const U8*)s)[1] ) ? \ 1998 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] || 0x5F == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 1999 : ( 0x4A == ((const U8*)s)[1] ) ? \ 2000 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 2 )\ 2001 : 0 ) \ 2002 : ( 0xB7 == ((const U8*)s)[0] ) ? \ 2003 ( ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x46 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2004 : ( 0xBF == ((const U8*)s)[0] ) ? \ 2005 ( ( inRANGE(((const U8*)s)[1], 0x66, 0x67 ) ) ? \ 2006 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) ? 3 : 0 ) \ 2007 : ( ( 0x69 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) || 0x57 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x6A == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2008 : 0 ) \ 2009 : ((e)-(s) > 2) ? \ 2010 ( ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA6 || ((const U8*)s)[0] == 0xA8 ) ? 1\ 2011 : ( 0x86 == ((const U8*)s)[0] ) ? \ 2012 ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \ 2013 : ( 0xAA == ((const U8*)s)[0] ) ? \ 2014 ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2015 : ( 0xB3 == ((const U8*)s)[0] ) ? \ 2016 ( ( ((const U8*)s)[1] == 0x53 || ((const U8*)s)[1] == 0x55 || ((const U8*)s)[1] == 0x58 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x65 ) ) ? 2 : 0 )\ 2017 : ( 0xB4 == ((const U8*)s)[0] ) ? \ 2018 ( ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x42 ) || ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x55 ) ? 2 : 0 )\ 2019 : ( 0xB7 == ((const U8*)s)[0] ) ? \ 2020 ( ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x46 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2021 : ( 0xBF == ((const U8*)s)[0] ) ? \ 2022 ( ( inRANGE(((const U8*)s)[1], 0x66, 0x67 ) ) ? \ 2023 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) ? 3 : 0 ) \ 2024 : ( ( 0x69 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) || 0x57 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x6A == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2025 : 0 ) \ 2026 : ((e)-(s) > 1) ? \ 2027 ( ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA6 || ((const U8*)s)[0] == 0xA8 ) ? 1\ 2028 : ( 0x86 == ((const U8*)s)[0] ) ? \ 2029 ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \ 2030 : ( 0xAA == ((const U8*)s)[0] ) ? \ 2031 ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2032 : ( 0xB3 == ((const U8*)s)[0] ) ? \ 2033 ( ( ((const U8*)s)[1] == 0x53 || ((const U8*)s)[1] == 0x55 || ((const U8*)s)[1] == 0x58 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x65 ) ) ? 2 : 0 )\ 2034 : ( ( 0xB4 == ((const U8*)s)[0] ) && ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x42 ) || ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x55 ) ) ? 2 : 0 )\ 2035 : ((e)-(s) > 0) ? \ 2036 ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x86 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA8 )\ 2037 : 0 ) 2038 2039 /* 2040 THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds 2041 2042 ®charclass_multi_char_folds::multi_char_folds('l', 'h') 2043 */ 2044 /*** GENERATED CODE ***/ 2045 #define is_THREE_CHAR_FOLD_HEAD_latin1_safe(s,e) \ 2046 ( ((e)-(s) > 1) ? \ 2047 ( ( ( ( ((const U8*)s)[0] & 0xAF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((const U8*)s)[0] & 0xBF ) == 0xA6 ) || ( ( ((const U8*)s)[0] & 0xBF ) == 0xA8 ) ) ? 1\ 2048 : ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ? \ 2049 ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) ? 2 : 1 ) \ 2050 : 0 ) \ 2051 : ((e)-(s) > 0) ? \ 2052 ( ( ( ((const U8*)s)[0] & 0xAF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0x9F ) == 0x86 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((const U8*)s)[0] & 0xBF ) == 0xA8 ) )\ 2053 : 0 ) 2054 2055 /* 2056 FOLDS_TO_MULTI: characters that fold to multi-char strings 2057 2058 \p{_Perl_Folds_To_Multi_Char} 2059 */ 2060 /*** GENERATED CODE ***/ 2061 #define is_FOLDS_TO_MULTI_utf8(s) \ 2062 ( ( 0x80 == ((const U8*)s)[0] ) ? \ 2063 ( ( 0x72 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2064 : ( 0x8C == ((const U8*)s)[0] || 0x9B == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xB2, 0xB3 ) ) ?\ 2065 ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2066 : ( 0x8D == ((const U8*)s)[0] ) ? \ 2067 ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2068 : ( 0xB7 == ((const U8*)s)[0] ) ? \ 2069 ( ( ( 0x53 == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2070 : ( 0xBF == ((const U8*)s)[0] ) ? \ 2071 ( ( 0x62 == ((const U8*)s)[1] ) ? \ 2072 ( ( inRANGE(((const U8*)s)[2], 0x64, 0x68 ) || 0x71 == ((const U8*)s)[2] ) ? 3 : 0 )\ 2073 : ( 0x68 == ((const U8*)s)[1] ) ? \ 2074 ( ( 0x57 == ((const U8*)s)[2] || 0x59 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x64 == ((const U8*)s)[2] ) ? 3 : 0 )\ 2075 : ( 0x6A == ((const U8*)s)[1] ) ? \ 2076 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ? 3 : 0 )\ 2077 : ( 0x70 == ((const U8*)s)[1] ) ? \ 2078 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x56 ) || 0x59 == ((const U8*)s)[2] || 0x5F == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x64, 0x65 ) || 0x6A == ((const U8*)s)[2] ) ? 3 : 0 )\ 2079 : ( 0x71 == ((const U8*)s)[1] ) ? \ 2080 ( ( inRANGE(((const U8*)s)[2], 0x43, 0x45 ) || inRANGE(((const U8*)s)[2], 0x47, 0x48 ) || 0x53 == ((const U8*)s)[2] || 0x59 == ((const U8*)s)[2] || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x64, 0x65 ) ) ? 3 : 0 )\ 2081 : ( ( 0x72 == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xFB ) == 0x43 ) || ( ( ((const U8*)s)[2] & 0xDE ) == 0x44 ) || ((const U8*)s)[2] == 0x48 || ((const U8*)s)[2] == 0x59 || ((const U8*)s)[2] == 0x5F || ( ( ((const U8*)s)[2] & 0xF7 ) == 0x62 ) ) ) ? 3 : 0 )\ 2082 : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x71 == ((const U8*)s)[1] ) ) && ( 0x66 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x47 ) || 0x5F == ((const U8*)s)[3] || inRANGE(((const U8*)s)[3], 0x62, 0x65 ) ) ) ? 4 : 0 ) 2083 2084 /* 2085 PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale 2086 2087 \p{_Perl_Problematic_Locale_Folds} 2088 */ 2089 /*** GENERATED CODE ***/ 2090 #define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \ 2091 ( ( ( ((const U8*)s)[0] <= 0x40 ) || inRANGE(((const U8*)s)[0], 0x4B, 0x50 ) || inRANGE(((const U8*)s)[0], 0x5A, 0x5E ) || inRANGE(((const U8*)s)[0], 0x60, 0x61 ) || inRANGE(((const U8*)s)[0], 0x6B, 0x6F ) || inRANGE(((const U8*)s)[0], 0x79, 0x7F ) || inRANGE(((const U8*)s)[0], 0x81, 0x89 ) || inRANGE(((const U8*)s)[0], 0x91, 0x99 ) || inRANGE(((const U8*)s)[0], 0xA1, 0xA9 ) || 0xB0 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xBA, 0xBB ) || inRANGE(((const U8*)s)[0], 0xC0, 0xC9 ) || inRANGE(((const U8*)s)[0], 0xD0, 0xD9 ) || 0xE0 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xE2, 0xE9 ) || inRANGE(((const U8*)s)[0], 0xF0, 0xF9 ) || 0xFF == ((const U8*)s)[0] ) ? 1\ 2092 : ( 0x78 == ((const U8*)s)[0] || 0x80 == ((const U8*)s)[0] || 0x8A == ((const U8*)s)[0] ) ?\ 2093 ( ( inRANGE(((const U8*)s)[1], 0x41, 0x4A ) || inRANGE(((const U8*)s)[1], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[1] || inRANGE(((const U8*)s)[1], 0x62, 0x6A ) || inRANGE(((const U8*)s)[1], 0x70, 0x72 ) ) ? 2 : 0 )\ 2094 : ( 0x8C == ((const U8*)s)[0] ) ? \ 2095 ( ( inRANGE(((const U8*)s)[1], 0x57, 0x58 ) ) ? 2 : 0 ) \ 2096 : ( 0x8D == ((const U8*)s)[0] ) ? \ 2097 ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2098 : ( 0x8E == ((const U8*)s)[0] ) ? \ 2099 ( ( 0x66 == ((const U8*)s)[1] || 0x72 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2100 : ( 0x9B == ((const U8*)s)[0] ) ? \ 2101 ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2102 : ( 0xAD == ((const U8*)s)[0] ) ? \ 2103 ( ( 0x48 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2104 : ( inRANGE(((const U8*)s)[0], 0xB2, 0xB3 ) ) ? \ 2105 ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2106 : ( 0xBF == ((const U8*)s)[0] ) ? \ 2107 ( ( ( 0x62 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x64, 0x68 ) || 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2108 : ( 0xCA == ((const U8*)s)[0] ) ? \ 2109 ( ( ( 0x4A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x51, 0x52 ) ) ) ? 3 : 0 )\ 2110 : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x71 == ((const U8*)s)[1] ) ) && ( 0x66 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x47 ) ) ) ? 4 : 0 ) 2111 2112 /*** GENERATED CODE ***/ 2113 #define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \ 2114 ( cp <= 0xFF || ( 0xFF < cp && \ 2115 ( 0x130 == cp || ( 0x130 < cp && \ 2116 ( 0x131 == cp || ( 0x131 < cp && \ 2117 ( 0x149 == cp || ( 0x149 < cp && \ 2118 ( 0x178 == cp || ( 0x178 < cp && \ 2119 ( 0x17F == cp || ( 0x17F < cp && \ 2120 ( 0x1F0 == cp || ( 0x1F0 < cp && \ 2121 ( 0x307 == cp || ( 0x307 < cp && \ 2122 ( 0x39C == cp || ( 0x39C < cp && \ 2123 ( 0x3BC == cp || ( 0x3BC < cp && \ 2124 ( inRANGE(cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \ 2125 ( 0x1E9E == cp || ( 0x1E9E < cp && \ 2126 ( 0x212A == cp || ( 0x212A < cp && \ 2127 ( 0x212B == cp || inRANGE(cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 2128 2129 /* 2130 PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale 2131 2132 \p{_Perl_Problematic_Locale_Foldeds_Start} 2133 */ 2134 /*** GENERATED CODE ***/ 2135 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \ 2136 ( ( ( ((const U8*)s)[0] <= 0x40 ) || inRANGE(((const U8*)s)[0], 0x4B, 0x50 ) || inRANGE(((const U8*)s)[0], 0x5A, 0x5E ) || inRANGE(((const U8*)s)[0], 0x60, 0x61 ) || inRANGE(((const U8*)s)[0], 0x6B, 0x6F ) || inRANGE(((const U8*)s)[0], 0x79, 0x7F ) || inRANGE(((const U8*)s)[0], 0x81, 0x89 ) || inRANGE(((const U8*)s)[0], 0x91, 0x99 ) || inRANGE(((const U8*)s)[0], 0xA1, 0xA9 ) || 0xB0 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xBA, 0xBB ) || inRANGE(((const U8*)s)[0], 0xC0, 0xC9 ) || inRANGE(((const U8*)s)[0], 0xD0, 0xD9 ) || 0xE0 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xE2, 0xE9 ) || inRANGE(((const U8*)s)[0], 0xF0, 0xF9 ) || 0xFF == ((const U8*)s)[0] ) ? 1\ 2137 : ( 0x78 == ((const U8*)s)[0] || 0x80 == ((const U8*)s)[0] || 0x8A == ((const U8*)s)[0] ) ?\ 2138 ( ( inRANGE(((const U8*)s)[1], 0x41, 0x4A ) || inRANGE(((const U8*)s)[1], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[1] || inRANGE(((const U8*)s)[1], 0x62, 0x6A ) || inRANGE(((const U8*)s)[1], 0x70, 0x72 ) ) ? 2 : 0 )\ 2139 : ( 0x8C == ((const U8*)s)[0] ) ? \ 2140 ( ( inRANGE(((const U8*)s)[1], 0x57, 0x58 ) ) ? 2 : 0 ) \ 2141 : ( 0x8D == ((const U8*)s)[0] ) ? \ 2142 ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2143 : ( 0x8E == ((const U8*)s)[0] ) ? \ 2144 ( ( 0x66 == ((const U8*)s)[1] || 0x72 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2145 : ( 0x9B == ((const U8*)s)[0] ) ? \ 2146 ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2147 : ( 0xAA == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xB2, 0xB3 ) ) ?\ 2148 ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \ 2149 : ( 0xBF == ((const U8*)s)[0] ) ? \ 2150 ( ( ( 0x62 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x64, 0x68 ) || 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\ 2151 : ( 0xCA == ((const U8*)s)[0] ) ? \ 2152 ( ( ( 0x4A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x51, 0x52 ) ) ) ? 3 : 0 )\ 2153 : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x71 == ((const U8*)s)[1] ) ) && ( 0x66 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x47 ) ) ) ? 4 : 0 ) 2154 2155 /*** GENERATED CODE ***/ 2156 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \ 2157 ( cp <= 0xFF || ( 0xFF < cp && \ 2158 ( 0x130 == cp || ( 0x130 < cp && \ 2159 ( 0x131 == cp || ( 0x131 < cp && \ 2160 ( 0x149 == cp || ( 0x149 < cp && \ 2161 ( 0x178 == cp || ( 0x178 < cp && \ 2162 ( 0x17F == cp || ( 0x17F < cp && \ 2163 ( 0x1F0 == cp || ( 0x1F0 < cp && \ 2164 ( 0x2BC == cp || ( 0x2BC < cp && \ 2165 ( 0x39C == cp || ( 0x39C < cp && \ 2166 ( 0x3BC == cp || ( 0x3BC < cp && \ 2167 ( inRANGE(cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \ 2168 ( 0x1E9E == cp || ( 0x1E9E < cp && \ 2169 ( 0x212A == cp || ( 0x212A < cp && \ 2170 ( 0x212B == cp || inRANGE(cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 2171 2172 /* 2173 PATWS: pattern white space 2174 2175 \p{_Perl_PatWS} 2176 */ 2177 /*** GENERATED CODE ***/ 2178 #define is_PATWS_safe(s,e,is_utf8) \ 2179 ( ( LIKELY((e) > (s)) ) ? \ 2180 ( ( 0x05 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] || 0x40 == ((const U8*)s)[0] ) ? 1\ 2181 : ( ( is_utf8 && LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) && ( 0xCA == ((const U8*)s)[0] ) ) ? ( ( 0x41 == ((const U8*)s)[1] ) ?\ 2182 ( ( inRANGE(((const U8*)s)[2], 0x55, 0x56 ) ) ? 3 : 0 ) \ 2183 : ( ( 0x42 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 ) : 0 )\ 2184 : 0 ) 2185 2186 /*** GENERATED CODE ***/ 2187 #define is_PATWS_cp(cp) \ 2188 ( 0x05 == cp || ( 0x05 < cp && \ 2189 ( inRANGE(cp, 0x0B, 0x0D) || ( 0x0D < cp && \ 2190 ( 0x15 == cp || ( 0x15 < cp && \ 2191 ( 0x25 == cp || ( 0x25 < cp && \ 2192 ( 0x40 == cp || ( 0x40 < cp && \ 2193 ( 0x200E == cp || ( 0x200E < cp && \ 2194 ( 0x200F == cp || ( 0x200F < cp && \ 2195 ( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 2196 2197 #endif /* EBCDIC 037 */ 2198 2199 #endif /* PERL_REGCHARCLASS_H_ */ 2200 2201 /* Generated from: 2202 * d60b1a3dffe16c4aaaf3f00d21993bb320d05e9828b106182214764d4c69935c lib/Unicode/UCD.pm 2203 * ce96627d4fc91b4fd886c409caeb9b76cf7bd345e12f05c6701add7f233f6437 lib/unicore/ArabicShaping.txt 2204 * 0e69eef3da722cc104522d8372e86d5b86bb7afcc761b0c991e39e832294946d lib/unicore/BidiBrackets.txt 2205 * a00d9d21585106a52113fb7b1d3d0373a5835be72e76862fb559ebddd474d70e lib/unicore/BidiMirroring.txt 2206 * 81a82b6a9fcf1a9c12f588d7a1decd73a9afdc4cac95b0eb7e576e7942d6c19f lib/unicore/Blocks.txt 2207 * 99d231d7c91688bbe8ca8ccebcc2f46b5b222f844babe4827295bae11e2abe5f lib/unicore/CaseFolding.txt 2208 * 38badafd818d8405324fe298c0676be0c95186368c84b5368375fd871a645144 lib/unicore/CompositionExclusions.txt 2209 * e779a443d3aa2a3166a15becaa2b737c922480e32c0453d5956093633555078f lib/unicore/DAge.txt 2210 * a5d45f59b39deaab3c72ce8c1a2e212a5e086dff11b1f9d5bb0e352642e82248 lib/unicore/DCoreProperties.txt 2211 * 3ac44e11c84bdaf6b207d2c2c20eed857ae17052393fc7f71b0fe951186ba906 lib/unicore/DNormalizationProps.txt 2212 * 4f822ec7a9ebbb3138ad29bade8b9688d25b39c7a3c0b7431f01e7229e4fcb6e lib/unicore/EastAsianWidth.txt 2213 * fc535aa1047a70105ab9a22c2b4c3f363a2ff02fe48ebbc5eeb9873b2752ff0b lib/unicore/EquivalentUnifiedIdeograph.txt 2214 * b9c5158ce944d2fec57e0e4ecb716bdabfc3bdde73525f1772fe03f61a30d473 lib/unicore/HangulSyllableType.txt 2215 * 36c1b2a626ff1fb23b8b21e6ea8712698f8ce668dded1cb48b8ddf6a6a1b04e9 lib/unicore/IdStatus.txt 2216 * 4857c4ffa3898e6128b2d46b0a02e499a663fb91464a69ef3611096f01293acc lib/unicore/IdType.txt 2217 * 69197b019fa5f2fb0d8c6ed1ed8acb9f2e8b5b8f45a947953ffa652f3bf54983 lib/unicore/IndicPositionalCategory.txt 2218 * 6604e2f0fde7428675364aa0006bc686b79488dcc60ae8cb29800af2be3352e8 lib/unicore/IndicSyllabicCategory.txt 2219 * 84ead63924aaa74b988b2eaf254a8733276ed108633ce2ef77a9ee1de7818162 lib/unicore/Jamo.txt 2220 * d5abcd8f54c8a2aa912924c485ccf7f968ad98feaa303d8e9a29ad89172f1faf lib/unicore/LineBreak.txt 2221 * 985128e8c8b2540233331d9b27d897d2c23bd5bcf1d05da960befce6efc59542 lib/unicore/NameAliases.txt 2222 * 27282b8aa01d4d0c44aef436cb74195ae8639ffa187aeee4e6247af76febea76 lib/unicore/NamedSequences.txt 2223 * 485b5a3ed25dbf1f94dfa5a9b69d8b4550ffd0c33045ccc55ccfd7c80b2a40cf lib/unicore/PropList.txt 2224 * 6b3902e9268cd843fe65cbdea992108c9528343ec0679f800b96f356bb553e5a lib/unicore/PropValueAliases.txt 2225 * 2bd5777847e3d6add3c7e5c0d1393ddcab89e5a0ac3ff498cb0c53041f0b86e4 lib/unicore/PropertyAliases.txt 2226 * 03a61dc89422e44cc2b73e8e893321007880ab69e2a4d281c0f1bc29c602b9d0 lib/unicore/ScriptExtensions.txt 2227 * 9a5ed1ec9b5f0d7147e9371ad792ab39203611af7637cff2aa4a5c663b172cde lib/unicore/Scripts.txt 2228 * 6424312f1dc39b22e0ff9c0ffb13dfad424d9b03e6a6dc6bca941f6bf5ef1ffd lib/unicore/SpecialCasing.txt 2229 * bdbffbbfc8ad4d3a6d01b5891510458f3d36f7170422af4ea2bed3211a73e8bb lib/unicore/UnicodeData.txt 2230 * 160f41816234addb511901d5f21febd69574578dd93de6ef8153e35693325575 lib/unicore/VerticalOrientation.txt 2231 * 32dfb37d21db530529a6ec3dc13d96f21f8e7c7faf7ff3db8a9760cd76cec81d lib/unicore/auxiliary/GCBTest.txt 2232 * 2bd3c5e2d62701ff81fb3ec318e179a4618cabb1493b1e0dd2b4e7e56c5437c4 lib/unicore/auxiliary/GraphemeBreakProperty.txt 2233 * c51fbebfa82a0f36473b44bfd71d5ef6cb6a1f81fb313375dc9a1910d79bb2b6 lib/unicore/auxiliary/LBTest.txt 2234 * 80b0107750818d8f370bd120b6fe56b6855b60581f72affe8b60409a469b4b65 lib/unicore/auxiliary/SBTest.txt 2235 * 09e3166ebab166ac630a227f77f4e794ebd433271abd5588f5a67e7f199c71ee lib/unicore/auxiliary/SentenceBreakProperty.txt 2236 * bf5373ce28a5df06796c93dc159dd15a997bb2950c92704b40ae8190cfc3716d lib/unicore/auxiliary/WBTest.txt 2237 * a2b7373cf2fe3fa3b26dbb53405ca849985f771ff47f1c61743978003ff80499 lib/unicore/auxiliary/WordBreakProperty.txt 2238 * d2686f400a638c80775d7c662556fb8fa8dd3bbe4aa548d9d31624264c6e1bb1 lib/unicore/emoji/emoji.txt 2239 * b827ae5da8c2b08947cc9a120a7b7fd2f1676fb160b508df78075381635b127c lib/unicore/extracted/DBidiClass.txt 2240 * 6fdc5b5ef40444a8f0c772e6b67c00498d4216fe0c0fdf76744ce338f2ad3810 lib/unicore/extracted/DBinaryProperties.txt 2241 * e14928a5bf6ad5958a80332bd42e96e14420080a95c660e5da29384e496755d0 lib/unicore/extracted/DCombiningClass.txt 2242 * 579a03281fbe87b78d5d9a8523de4d255edd7e4ca6eab0e4c7729de97e9b89b1 lib/unicore/extracted/DDecompositionType.txt 2243 * ad83c59b257e9d480ffd3001d4ac240c5fed7cb1919453e1c4e8877035256bcd lib/unicore/extracted/DEastAsianWidth.txt 2244 * 4502f0969e4e6558c4b4c6ca4c23dad70b863d61dd3d5eed1a62a6c3c99fd570 lib/unicore/extracted/DGeneralCategory.txt 2245 * 00bb88b89e2adb646f3177f9444e2d3192386b81a5de9556104b338274b253e1 lib/unicore/extracted/DJoinGroup.txt 2246 * ac835b6e11a60c9820d3cf2d1cb0558dd68efb8f53f404a51632e4726690a6d7 lib/unicore/extracted/DJoinType.txt 2247 * baba9dfc133e3cb770a89aaf0973b1341fa61c2da6c176baf6428898b3b568d8 lib/unicore/extracted/DLineBreak.txt 2248 * 6d4a8c945dd7db83ed617cbb7d937de7f4ecf016ff22970d846e996a7c9a2a5d lib/unicore/extracted/DNumType.txt 2249 * 5b7c14380d5cceeaffcfbc18db1ed936391d2af2d51f5a41f1a17b692c77e59b lib/unicore/extracted/DNumValues.txt 2250 * ee0dd174fd5b158d82dfea95d7d822ca0bfcd490182669353dca3ab39a8ee807 lib/unicore/mktables 2251 * 50b85a67451145545a65cea370dab8d3444fbfe07e9c34cef560c5b7da9d3eef lib/unicore/version 2252 * 2680b9254eb236c5c090f11b149605043e8c8433661b96efc4a42fb4709342a5 regen/charset_translations.pl 2253 * f9a393e7add8c7c2728356473ce5b52246d51295b2da0c48fb6f0aa21799e2bb regen/regcharclass.pl 2254 * b549b9989c6987563dad8f8ad6b984c8026cdc283d60ea34457959c5d4b4ade0 regen/regcharclass_multi_char_folds.pl 2255 * ex: set ro: */ 2256